SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Frequency Modulation
GMSK Modulation
Learning Objectives
• Overview of Digital Modulation
• Understanding GMSK Modulation
• Learning how to Implement a GMSK Modulator on a C54
Digital Modulations
•Baseband and bandpass signalling are used to
transmit data on physical channels such as
telephone cables or radiofrequency channels.
• The source of data (bits or symbol) may be a computer
file or a digitized waveform (speech, video…)
• The transmitted signal carries information about the
data and its characteristic changes at the same rate as
the data.
• When the signal carrying the data information
• Extends from 0 Hz upwards, the term baseband
signalling is used.
• Has its power centered on a central frequency fc, the
term bandpass signalling or modulation is used.
Digital Modulation
• Modulation is used because:
• The channel does not include the 0 Hz frequency and baseband signalling is
impossible
• The bandwidth of the channel is split between several channels for
frequency multiplexing
• For wireless radio-communications, the size of the antenna decreases when
the transmitted frequency increases.
Carrier Frequency
• In simple modulation schemes, a single frequency signal, the carrier,
is modified at the rate of the data.
• The carrier is commonly written as:
( )cos 2 cA f tπ + Φ
ffcc= Carrier frequency= Carrier frequency
A = Carrier AmplitudeA = Carrier Amplitude
ΦΦ = Carrier phase= Carrier phase
 The 3 main parameters of the carrier:The 3 main parameters of the carrier:
amplitude, phase and frequency can beamplitude, phase and frequency can be
modified to carry the informationmodified to carry the information
leading to: amplitude, phase andleading to: amplitude, phase and
frequency modulation.frequency modulation.
Digital Modulation
•CPM: Continuous Phase Modulation
• Frequency or phase modulation
• Example: MSK, GMSK
• Characteristic: constant envelope modulation
•QAM: Quadrature Amplitude Modulation
• Example: QPSK, OQPSK, 16QAM
• Characteristic: High spectral efficiency
•Multicarrier Modulation
• Example: OFDM, DMT
• Characteristic: Muti-path delay spread tolerance,
effectivness against channel distortion
What is the Complex Envelope z(t) of a Modulated
Signal x(t) ?
{ } ( ) ( ).2sin)(2)cos()()( 2
tftztftzetztx cQcI
tfj c
πππ
−=ℜ=
ffcc= Carrier frequency= Carrier frequency
( ) 2 ( )
( ) ( ) ( ) ( ) ( ) ( )cj f t j t
H I Qz t x t jx t e z t jz t A t eπ− Φ
= + = + =
z(t)z(t) = Complex envelope of= Complex envelope of x(t)x(t)
zzII(t), z(t), zQQ(t)(t) are the baseband componentsare the baseband components
xxHH(t)(t) = Hilbert transform of= Hilbert transform of x(t) =x(t) = x(t)x(t) with a phase shift ofwith a phase shift of ππ/2/2
[ ].)()(
2
1)( czczx ffSffSfS ++−=
SSxx(f)(f) = Power spectral density of= Power spectral density of x(t)x(t)
Complex Envelope z of a Modulated Signal x
Frequency Domain
0
1
2
0
1
2
0
1
2
f
f
f
X(f)
Xa(f)
Z(f)
2
1
2
GMSK Modulation
• Gaussian Minimum Shift Keying.
• Used in GSM and DECT standards.
• Relevant to mobile communications because of constant envelope
modulation:
• Quite insensitive to non-linearities of power amplifier
• Robust to fading effects
• But moderate spectral efficiency.
What is GMSK Modulation?• Continuous phase digital frequency modulation
• Modulation index h=1/2
• Gaussian Frequency Shaping Filter
• GMSK = MSK + Gaussian filter
• Characterized by the value of BT
• T = bit duration
• B = 3dB Bandwidth of the shaping filter
• BT = 0.3 for GSM
• BT = 0.5 for DECT
GMSK Modulation, Expression for the Modulated
Signal x(t)
( )( ) cos 2 ( ) with:
( ) 2 ( )
c
t
k
k
x t f t t
t h a s kT d
π
π τ τ
+∞
=−∞−∞
= + Φ
Φ = −∑∫
2
1
)( =∫
+∞
∞−
ττ ds
NormalizationNormalization
aakk = Binary data = +/- 1= Binary data = +/- 1
hh = Modulation index = 0.5= Modulation index = 0.5
s(t)s(t) = Gaussian frequency shaping filter= Gaussian frequency shaping filter
s(t)s(t)= Elementary frequency pulse= Elementary frequency pulse
GMSK Elementary Phase Pulse
Elementary phase pulse = ( )
( ) 2 ( ) 2 ( ) .
t
t
t hq t h s d
ϕ
ϕ π π τ τ
−∞
= = ∫
( ) ( ) .
t
q t s dτ τ
−∞
= ∫
[ ]
( )
For ,( 1) ( ) 2 ( ) ( )
( ) cos 2 ( ) cos 2 ( ) .
n n
k k
k k
n
c c k
k
t nT n T t h a q t kT a t kT
x t f t t f t a t kT
π ϕ
π π ϕ
=−∞ =−∞
=−∞
∈ + Φ = − = −
 
= + Φ = + − 
 
∑ ∑
∑
Architecture of a GMSK Modulator
Coder
Bits ak
r t( ) VCO
h
x t( )h t( )
Gaussian filter
GMSK modulator using a VCO
( )k
k
a s t kT−∑( )k
k
a t kTδ −∑
( ) ( )* ( )s t r t h t=
Rectangular filter
x t( )Coder
Bits ak
s t( )
2π h
− ∞
∫
t
Φ ( )t
cos()
sin()
+
-
s t r t h t( ) ( )* ( )=
GMSK modulator without VCO
( )k
k
a t kTδ −∑
( )cos 2 cf tπ
( )sin 2 cf tπ
Equation for the Gaussian Filter h(t)
2 2
2
2
2
2 2
( ) exp
ln(2) ln(2)
ln(2)
( ) exp
2
B
h t B t
H f f
B
π π 
= − 
 
 
= − 
 
The durationThe duration MTMTbb of the gaussian pulse isof the gaussian pulse is
truncated to a value inverselytruncated to a value inversely
proportional to B.proportional to B.
BT = 0.5,BT = 0.5, MTMTbb = 2= 2TTbb
BT = 0.3,BT = 0.3, MTMTbb = 3 or 4= 3 or 4TTbb
Frequency and Phase Elementary
Pulses
-2 -1 0 1 2
0
0.1
0.2
0.3
0.4
0.5 BTb
=+∞
BTb
=05,
BTb
=03,
t in number of bit periods Tb
T g tb ( ) Elementary frequency pulse
-2 -1 0 1 2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
t in number of bit period Tb
BT b
= +∞
BT
b
= 0 3.
BT
b
= 0 5.
Elementary phase pulse
ϕ ( )t
π/2
The elementary frequency pulse isThe elementary frequency pulse is
the convolution of a square pulsethe convolution of a square pulse
r(t) with a gaussian pulse h(t).r(t) with a gaussian pulse h(t).
Its duration isIts duration is (M+1)T(M+1)Tbb..
GMSK Signals
Binary sequence
GMSK modulated Signal
Φ( )t
( )z t tI ( ) cos ( )= Φ
( )z t tQ ( ) sin ( )= Φ
5
1
0 5 10 15 20
-1
0
1
0 5 10 15 20
-1
0
1
t
0 5 10 15 20
1
-1
0 t
0 5 10 15 20
-5
0 t
0 5 10 15 20
-1
0 t
t
in rd
Power Spectral Density of GMSK Signals
0 0.5 1 1.5 2 2.5 3 3.5 4
-140
-120
-100
-80
-60
-40
-20
0
20
Power spectral density of the complex envelope of GMSK, BT=0.3, fe=8, T=1.
Logarithmic scale
Frequency normalized by 1/T
Implementing a GMSK Modulator on a
DSP• Quadrature modulation can be used:
• The DSP calculates the phase Φ and the 2 baseband components zI and zQ
and sends them to the DAC.
• Or a modulated loop can be used.
• In this case, the DSP generates the instantaneous frequency finst signal that is
sent to the DAC.
inst ( ).k
k
f h a s kTτ
+∞
=−∞
= −∑
Expression for the Baseband
Components• The baseband components zI and zQ are modulated in amplitude by
the 2 quadrature carriers.
( ) ( ) ( ) ( ) ( )( ) cos 2 ( ) cos ( ) cos 2 sin ( ) sin 2c c cx t f t t t f t t f tπ π π= + Φ = Φ − Φ
( ) ( )( ) ( )cos 2 ( )sin 2I c Q cx t z t f t z t f tπ π= −
Baseband Components and Carriers• Baseband components
• The carriers are generally RF analog signals generated by analog
oscillators
• However, we will show how they could be generated digitally if the
value of fc were not too high.
( )
( )
( ) cos ( )
( ) sin ( )
I
Q
z t t
z t t
= Φ
= Φ
( )
( )
I
Q
Carrier cos 2
Carrier sin 2
c
c
f t
f t
π
π
=
=
Calculation of the Baseband
Components on a DSP
• Calculate the phase Φ at time mTS
• Ts the sampling frequency.
• Read the value of cos(Φ) and sin(Φ) from a table.
[ ]For ,( 1) ( ) ( ).
( ) ( ).
n
k
k
n
S k S
k
t nT n T t a t kT
mT a mT kT
ϕ
ϕ
=−∞
=−∞
∈ + Φ = −
Φ = −
∑
∑
Calculation of the Elementary Pulse Phase with
Matlab
• The elementary pulse phase ϕ(mTS) is calculated with Matlab and
stored in memory.
• The duration LT of the evolutive part of ϕ(mTS) depends on the value of BT.
• ϕ is called phi in the matlab routine.
( ) 2 ( )
( ) 0 0
( )
t
t h s d
t t
t h t LT
ϕ π τ τ
ϕ
ϕ π
−∞
=
= ∀ <
= ∀ >
∫
Calculation of the Elementary Pulse Phase with
Matlab 1/2
function [phi,s]=pul_phas(T_over_Ts,L,BT,T)
Ts=T/ T_over_Ts ;
% calculates the number of samples in phi in the interval 0 - LT
Nphi=ceil(T_over_Ts*L);
% calculates the number of samples in T
Nts=ceil(T_over_Ts);
phi=zeros(1,Nphi);
s=zeros(1,Nphi);
sigma=sqrt(log(2))/2/pi/(BT/T)
Open Matlab
routine
pul_phas.m
Beginning of the matlab routine
Calculation of the Elementary Pulse Phase with
Matlab 2/2
t=[-L*T/2:Ts:L*T/2];
t=t(1:Nphi);
ta=t+T/2;
tb=t-T/2;
Qta=0.5*(ones(1,Nphi)+erf(ta/sigma/sqrt(2)));
Qtb=0.5*(ones(1,Nphi)+erf(tb/sigma/sqrt(2)));
expta=exp(-0.5*((ta/sigma).^2))/sqrt(2*pi)*sigma;
exptb=exp(-0.5*((tb/sigma).^2))/sqrt(2*pi)*sigma;
phi=pi/T/2*(ta.*Qta+expta-tb.*Qtb-exptb);
s=1/2/T*(Qta-Qtb);
End of the matlab routine
Using the Matlab Routine• Start Matlab
• Use:
• T_over_Ts=8
• L=4
• T=1
• BT=0.3
• call the routine using to calculate the phase pulse phi (ϕ ) and the
pulse s:
• [phi,s]=pul_phas(T_over_Ts,L,BT,T)
• Plot the phase phi and the shaping pulse s
• plot(phi)
• plot(s)
Results of Matlab Routine
Results for phi• For L=4 and T_over_Ts=8, we obtain 32 samples for phi. Matlab
gives the following values for phi:
• Phi= [0.0001, 0.0002, 0.0005, 0.0012, 0.0028,
0.0062, 0.0127, 0.0246, 0.0446, 0.0763, 0.1231,
0.1884, 0.2740, 0.3798, 0.5036, 0.6409, 0.7854,
0.9299, 1.0672, 1.1910, 1.2968, 1.3824, 1.4476,
1.4945, 1.5262, 1.5462, 1.5581, 1.5646, 1.5680,
1.5696, 1.5703, 1.5706]
• After this evolutive part of phi, phi stays equal to π/2 (1.57).
• To calculate Φ, the evolutive part and the constant part of the
elementary phase pulse phi are treated separately.
[ ]
1
1 1
For ,( 1)
( ) ( ) ( ) ( ) with:
( ) 0 0
( )
2
( ) ( ) phimem( ) ( )
2
n n L n
k k k
k k k n L
n L n n
k k k
k k n L k n L
t nT n T
t a t kT a t kT a t kT
t t
h
t h t LT
t a a t kT n a t kT
ϕ ϕ ϕ
ϕ
ϕ π
π
ϕ ϕ
−
=−∞ =−∞ = − +
−
=−∞ = − + = − +
∈ +
Φ = − = − + −
= ∀ <
= = ∀ >
Φ = + − = + −
∑ ∑ ∑
∑ ∑ ∑
Calculation of Φ• Separation of evolutive and constant parts of phi.
Memory Part and Evolutive Part of Φ
[ ]For ,( 1)
phimem( ) phimem( 1) ( ) .
2
t nT n T
n n a n L
π
∈ +
= − + −
1
1
( ) phimem( ) ( )
( ) phimem( ) ( )
n
k
k n L
S
n
S k S
k n L
t n a t kT
t mT
mT n a mT kT
ϕ
ϕ
= − +
= − +
Φ = + −
=
Φ = + −
∑
∑
Recursive Calculation of Φ• Names of variables
• Phase = Φ
• phi = array of evolutive part of ϕ,
• Nphi samples = LT/Ts
• Ns = number of samples per bit = T/Ts
• an = binary sequence (+/- 1)
• 2 calculation steps:
• Calculate Φ
• Calculate zI=cos(Φ) and zQ=sin(Φ) by table reading
Calculation of Φ: Initialization• Initialization step:
• L first bit periods, phimem = 0
• At bit L+1, phimem is set to a1 π/2.
• Principle of the initialization processing:
• FOR i=1 to i=L
• for j=(i-1)Ns+1 to j=(i-1)Ns+Nphi
• phase((i-1)Ns+j)= phase((i-1)Ns+j)+phi(j)an(i)
• Endfor
• endFOR
• phimem=an(1) π/2
Calculation of Φ: After Initialization• FOR i=L+1 to last_bit
• For j=(i-1)Ns+1 to j=(i-1)Ns+Nphi
• phase((i-1)Ns+j)= phase((i-1)Ns+j)+phi(j)an(i)
• endFor
• For j=(i-1)Ns+1 to j=i Ns
• phase((i-1)Ns+j)= phase((i-1)Ns+j)+phimem
• xi=cos(phase(i-1)Ns+j)
• xq=sin(phase((i-1)Ns+j)
• endFor
• phimem=phimem+pi/2 an(i+1-L)
• endFOR
Coding and Wrapping the Phase Table• The phase value in [-π,π[ is represented by the 16-bit number Iphase
• Minimum phase = -π, Iphase = -215
.
• Maximum phase = π(1-215
), Iphase = 215
-1.
15
2 phase
Iphase
π
=
Index for the table in Phase Calculation
• Phase increment between 2 table values:
• 2π / Ncos and on Iphase 216
/Ncos
• For Iphase, the index of the table is:
• i= Ncos Iphase 2-16
• Here Ncos 2-16
= 2-9
,
• So the index in the table is given by shifting Iphase 9 bits to the right.
Coding of phi• The quantized values of phi can be obtained with Matlab:
• phi= round(phi*2^15/pi);
• phi is defined and initialized in the file phi03.asm as:
.ref phi
.sect "phi"
phi .word 1,2,5,13,29,65,133,256
.word 465,795,1284,1965,2858,3961,5252,6685
.word 8192,9699,11132,12423,13526,14419,15100,15589
.word 15919,16128,16251,16319,16355,16371,16379,16382
Calculation of sin() and cos() by
Table Lookup
• We use a table of cosine values
• Length of the table Ncos=128, circular buffer
• Contents of the table: cosine of angles Ψi
uniformly distributed between -π
and π.






−−∈=Ψ 1
2
,
2
coscos NN
i
N
i
i
π
 deb_cos = first address of the tabledeb_cos = first address of the table
 mid_cos = address of the table middlemid_cos = address of the table middle
 cos(cos(ΨΨii ) is at address mid_cos + i) is at address mid_cos + i
Calculation of sin() and cos() by
Table Lookup
• Conversion of the phase modulo 2π:
• Wrapping phase in [-π,π[
• Done by a macro: testa02pi
* Macro to wrap the phase between -π et π, phase is in ACCU A
testa02pi .macro
SUB #8000h,A,B ; sub -2^(15)
BC suite1?, BGEQ ; test if phase is in [0,2pi[
SUB #8000h,A ; sub -2^(15)
SUB #8000h,A ; SUB -2^(15)
B suite?
suite1? ADD #8000h,A,B ; add -2^(15)
BC suite?,BLT
ADD #8000h,A ; add -2^(15)
ADD #8000h,A ; add -2^(15)
suite? ; end of test
.endm
Generating the Sine Values from a Table of Cosine
Values
• To generate sin(α) from the table of cosine values, we use:
• cos(π/2 - α) or cos(-π/2 + α) or cos(3π/2+ α)
• If i is the index of the cosine, for the sine we use:
• i-Ncos/4 if i>= -Ncos/4
• i+3Ncos /4 if i < Ncos/4.
Implementation on a C54x, Test
Sequence• We can test the GMSK modulation on a given periodical binary
sequence an:
• an=[ 0 1 1 0 0 1 0 1 0 0]
• These bits are stored in a circular buffer:
• Size NB = 10
• Declaration of a section bits aligned on an address which is a multiple of 16 bits.
AR5 deb_bit
NB
an
Testing the Generation of Φ on the C54x,
Results Buffer
• We calculate Φ and store it in a buffer pointed by AR1. The size of
the result buffer is 1000 words.
AR1 resu
1000
Φ
Buffer for the last 1000 result values of Φ
Testing the Generation of Φ on the C54x
Buffers
AR4 phi
Nphi
phi
Circular Buffer for phi (evolutive part)
Allocated at an address multiple of 64
(Nphi = 32)
AR3 deb_phase
Nphi
phase
Circular Buffer for the variable phase
Allocated at an address multiple of 64
(Nphi = 32)
Listing for the Calculation of Φ
Definitions
.mmregs
.global debut,boucle
.global deb_cos, phi
.global deb_phase
.global resu
Nphi .set 32
Nphim .set -32
L .set 4
Ncos .set 128
Nsur2 .set 64
Nsur4 .set 32
NB .set 10
NS .set 8
.bss resu,1000
Listing for the Calculation of Φ
Macro for phase wrapping
* Definition of macro of phase wrapping testa02pi
testa02pi .macro
SUB #8000h,A,B ;sub -2^(15)
BC suite1?, BGEQ ;test if phase in [0,2pi[
SUB #8000h,A ;sub -2^(15)
SUB #8000h,A ;sub -2^(15)
B suite?
suite1? ADD #8000h,A,B ;add -2^(15)
BC suite?,BLT
ADD #8000h,A ;add -2^(15)
ADD #8000h,A ;add -2^(15)
suite? ;end test wrapping [0,2pi[
.endm
Listing for the Calculation of Φ
Initialization of Registers and Buffers 1/2
.text
* Initialization of BK, DP, ACCUs, and ARi
debut: LD #0, DP
LD #0, A
LD #0, B
STM #deb_bit,AR5
STM #deb_cos,AR2
STM #deb_phase ,AR3
STM #phi,AR4
STM #resu,AR1
STM +1,AR0
STM #Nphi, BK
STM #(NS-1),AR7
RSBX OVM
SSBX SXM
Listing for the Calculation of Φ
Initialization of Registers and Buffers 2/2
* Initialization of the phase buffer
RPT #(Nphi-1)
STL A,*AR3+%
*initialization of phimem
LD *AR5,T
MPY #04000h,A ; -2^(14) an(1)(pi/2 an(1))
STL A,*(phimem)
Listing for the Calculation of Φ
Calculation for the first L bits
* processing for the first L bits
STM #(L-1),AR6
Ldeb STM #Nphi-1,BRC
RPTB fin-1 ; from k=0 to k=Nphi
LD *AR3,A ; accu=phase(k)
MAC *AR4+0%,*AR5,A ; A=phase(k)+an(i) phi(k)
testa02pi
STL A,*AR3+% ; A->phase(k)
NOP
fin NOP
STM #(NS-1), AR7
Nsbouc LD *AR3,A ; output of NS values
STL A,*AR1+ ; and reset at 0 of NS words
ST #0,*AR3+%
BANZ nsbouc,*AR7-
STM #NB, BK
MAR *AR5+%
STM #Nphi,BK
BANZ Ldeb, *AR6-
Listing for the Calculation of Φ
Calculation of the Following Bits 1/2
* begin of the infinite loop
boucle STM #Nphi-1,BRC
RPTB fin2-1 ; for k=0 to Nphi
LD *AR3,A ; accu=phase(k)
MAC *AR4+0%,*AR5,A ; A=phase(k)+an(i) phi(k)
testa02pi
STL A,*AR3+% ; A->phase(k)
fin2
* adding phimem to the NS first points of the array
* then taking them out and reset to 0 in phase
STM #NS-1,AR7
nsbouc2 LD *(phimem),B
ADD *AR3,B,A ; B=phimem+phase(k)
testa02pi
STL A,*AR1+
ST #0,*AR3+% ; 0->phase(k)
BANZ nsbouc2,*AR7- ; ....
Listing for the Calculation of Φ
Calculation of the Following Bits 2/2
fin3
* actualization of phimem
LD *(phimem),A
STM #NB, BK
MAR *+AR5(#unmL)%
LD *AR5,T
MAC #04000h,A ; -2^(14) an(1)(pi/2 an(1))
testa02pi
STL A,*(phimem)
MAR *+AR5(#L)%
STM #Nphi,BK
B boucle
.end
Illustration of the Phase Result Wrapped Between -π
and π
• Plot under CCS the buffer of phase results
Generation of the Baseband Components
zI=cos(Φ) and zQ=sin(Φ)
• We calculate zI and zQ and we do not need to save the phase any
more.
• We output ZI and Zq, in this example on DXR0 and DXR1.
• We need the table of constants for the values of cosine.
• This table is defined in the file tabcos.asm
• The cosine values are given in format Q14.
File tabcos.asm
.def deb_cos,mid_cos
.sect "tab_cos"
deb_cos .word -16384,-16364,-16305,-16207,-16069,-15893,-15679,-15426
.word -15137,-14811,-14449,-14053,-13623,-13160,-12665,-12140
.word -11585,-11003,-10394,-9760,-9102,-8423,-7723,-7005
.word -6270,-5520,-4756,-3981,-3196,-2404,-1606,-804
.word 0,804,1606,2404,3196,3981,4756,5520
.word 6270,7005,7723,8423,9102,9760,10394,11003
.word 11585,12140,12665,13160,13623,14053,14449,14811
.word 15137,15426,15679,15893,16069,16207,16305,16364
.word 16384,16364,16305,16207,16069,15893,15679,15426
.word 15137,14811,14449,14053,13623,13160,12665,12140
.word 11585,11003,10394,9760,9102,8423,7723,7005
.word 6270,5520,4756,3981,3196,2404,1606,804
.word 0,-804,-1606,-2404,-3196,-3981,-4756,-5520
.word -6270,-7005,-7723,-8423,-9102,-9760,-10394,-11003
.word -11585,-12140,-12665,-13160,-13623,-14053,-14449,-14811
.word -15137,-15426,-15679,-15893,-16069,-16207,-16305,-16364
mid_cos .set deb_cos+64
Listing for the Calculation of zI and zQ
• The listing for definitions and initializations is the same as before.
• Processing of the L first bits,
• Processing of the other bits
• (infinite loop)
Processing of the First L Bits 1/2* Processing of the L first bits
STM #(L-1),AR6
Ldeb STM #Nphi-1,BRC
RPTB fin-1 ; from k=0 to Nphi
LD *AR3,A ; accu=phase(k)
MAC *AR4+0%,*AR5,A ; A=phase(k)+an(i) phi(k)
testa02pi
STL A,*AR3+% ; A->phase(k)
fin NOP
STM #(NS-1), AR7
Nsbouc LD *AR3,A ; output of NS values
SFTA A,-9,A
ADD #mid_cos,A,B
STLM B,AR1
NOP
NOP
LD *AR1,B
STL B,DXR0
Processing of the First L Bits 2/2* Calculation of the sine
ADD #Nsur4,A,B
BC sui,BGT
ADD #(Nsur2),B
B sui1
sui SUB #Nsur2,B
sui1 ADD #mid_cos,B
STLM B,AR1
NOP
NOP
LD *AR1,A
STL A,DXR1
ST #0,*AR3+%
BANZ nsbouc,*AR7-
STM #NB, BK
MAR *AR5+%
STM #Nphi,BK
Processing of the Following bits 1 of 2
* begin the infinite loop
boucle STM #Nphi-1,BRC
RPTB fin2-1 ; for k=0 to Nphi
LD *AR3,A ; accu=phase(k)
MAC *AR4+0%,*AR5,A ; A=phase(k)+an(i) phi(k)
testa02pi
STL A,*AR3+% ; A->phase(k)
fin2
*phimem is added to the NS first points of the array
* then they are output and words are reset to 0 in buffer phase
STM #NS-1,AR7
nsbouc2 LD *(phimem),B
ADD *AR3,B,A ; A=phimem+phase(k)
testa02pi
SFTA A,-9,A
ADD #mid_cos,A,B
STLM B,AR1
NOP
NOP
LD *AR1,B
STL B,DXR0
Processing of the Following Bits 2 of 2
* Calculation of the sine
NOP
ADD #Nsur4,A,B
NOP
NOP
BC suii,BGT
ADD #(Nsur2),B
B suii1
suii SUB #(Nsur2) ,B
suii1 ADD #mid_cos,B
STLM B,AR1
NOP
NOP
LD *AR1,A
STL A,DXR1
ST #0,*AR3+% ; 0->phase(k)
BANZ nsbouc2,*AR7-
fin3
* actualization of phimem
LD *(phimem),A
STM #NB, BK
MAR *+AR5(#unmL)%
LD *AR5,T
MAC #04000h,A ; -2^(14) an(1)(pi/2 an(1))
testa02pi
STL A,*(phimem)
MAR *+AR5(#L)%
STM #Nphi,BK
B boucle
.end
Results Observed in CCS
Generation of 2 Quadrature Carriers• Generation of:
• cos(2πfct) and sin (2πfct)
• fc is the frequency of the carrier
• In this example we choose fc=1/T
• Sampling frequency = 1/Ts = fS
• In RF applications, the carriers are not generated by the DSP. It is
only possible to use the DSP for low values of fc.
• The angle α(t)= 2πfct is calculated then the value of cos() is read
from a table.
Calculation of the Angle of the Carriers• Recursive calculation of the angle α:
( ) ( )( ) 2 ( 1) 2 ( 1)S c S S c S snT f nT n T f T n Tα π α π α α= = − + = − + ∆
 The precision of the generatedThe precision of the generated
frequency depends on the precision offrequency depends on the precision of
∆α∆α..
 The phase incrementThe phase increment ∆α∆α corresponds tocorresponds to
an incrementan increment ∆∆IIαα to the integer thatto the integer that
representsrepresents αα..
∆∆IIαα=2=21616
ffccTTSS rounded to the closestrounded to the closest
integer.integer.
Calculation of the Angle of the Carriers• If the number of samples per period of the carrier is a power of 2,
2k:
•∆Iα=216
fcTS=2(16-k)
is exact
•Then the precision of the generated
frequency depends only on the precision
of the sampling frequency.
• Otherwise, there is an error dfc in fc:
• |dfc|<2-17
fS.
• Error in the amplitudes of the carriers due to finite precision of the
table reading. (possible interpolation).
Implementation on a C54x• We use: fs/fc=8=Ns.
• The cosine table has 128 Values in Q14.
AR1 deb_cos
128
Cosine
values
Circular buffer,Table of cosine
Implementation on a C54x
•Here k=3 (8 samples per period) and the increment
• ∆Iα=216
fcTS=2(16-k)
=213
•Simple case of fS/fc as an integer value, the table is
read with an offset from the pointer = 16 = 27
/23
to
generate a cosine with 8 samples per period.
•We can work directly on the index i and not on I.
Generation of the Cosine and Sine
Carriers• For the cosine:
• The circular buffer containing the cosine values (length N) is accessed with
AR1.
• Incremented by the content of AR0=16.
• AR1 initialized with deb_cos.
• For the sine:
• Same circular buffer accessed by AR2.
• AR2 initialized with deb_cos + Ncos/4.
• Decremented by AR0=16.
• Outputs (cos and sin) are sent to DXR0 and DXR1.
Generation of quadrature 2 Carriers• File porteuse.asm
• A file associated with DXR0 and DXR1 is used to save visual results
obtained with the CCS simulator.
• Here cosine table goes from:
• 0 to 2π
Listing for the Generation of 2 Carriers 1
of 2
.mmregs
.global debut,boucle
Ncos .set 128
Nsur2 .set 64
Nsur4 .set 32
Inc .set 16
* Definition and initialization of Table of cosine
.sect "tab_cos"
deb_cos .word 16384,16364,16305,16207,16069,15893,15679,15426
.word 15137,14811,14449,14053,13623,13160,12665,12140
.word 11585,11003,10394,9760,9102,8423,7723,7005
.word 6270,5520,4756,3981,3196,2404,1606,804
.word 0,-804,-1606,-2404,-3196,-3981,-4756,-5520
.word -6270,-7005,-7723,-8423,-9102,-9760,-10394,-11003
.word -11585,-12140,-12665,-13160,-13623,-14053,-14449,-14811
.word -15137,-15426,-15679,-15893,-16069,-16207,-16305,-16364
.word -16384,-16364,-16305,-16207,-16069,-15893,-15679,-15426
.word -15137,-14811,-14449,-14053,-13623,-13160,-12665,-12140
.word -11585,-11003,-10394,-9760,-9102,-8423,-7723,-7005
.word -6270,-5520,-4756,-3981,-3196,-2404,-1606,-804
.word 0,804,1606,2404,3196,3981,4756,5520
.word 6270,7005,7723,8423,9102,9760,10394,11003
.word 11585,12140,12665,13160,13623,14053,14449,14811
.word 15137,15426,15679,15893,16069,16207,16305,16364
Listing for the Generation of 2 Carriers 2
of 2
.text
* Initializations of DP, and of the phase Ialpha at 0
* The phase Ialpha is in ACCU A, and the index of table in B
* attention we work in the part of ACCUs
* Initialize AR1 at mid_cos and AR0 at Nsur4
debut:
LD #0, DP
LD #0, A
STM #Ncos,BK
STM #deb_cos,AR1
STM #(deb_cos+Nsur4),AR2
STM #Inc, AR0
* endless loop
boucle:
LD *AR1+0%,A
STL A, DXR0
LD *AR2-0%,B
STL B,DXR0
* Return to the beginning of the endless loop
B boucle
Results Obtained with CCS
Tutorial The listing files for the precedent examplesThe listing files for the precedent examples
can be found in the directory “tutorial”:can be found in the directory “tutorial”:
 Tutorial > Dsk5416 > Chapter 21 > Labs_modulationTutorial > Dsk5416 > Chapter 21 > Labs_modulation
Further Activities• Application 5 for the TMS320C5416 DSK and for the TMS320C5510.
• Alien Voices. A very simple application showing the effect
of modulation on audio frequencies. It shows how the
carrier causes sum and difference frequencies to be
generated. Here it is used to generate the strange voices
used for aliens in science fiction films and television.

Weitere ähnliche Inhalte

Was ist angesagt?

9 mod analog_am_fm (1)
9 mod analog_am_fm (1)9 mod analog_am_fm (1)
9 mod analog_am_fm (1)mirla manama
 
Comparison Frequency modulation and Phase modulation
Comparison Frequency modulationand Phase modulationComparison Frequency modulationand Phase modulation
Comparison Frequency modulation and Phase modulationWaqas Afzal
 
Ref angle modulation (1)
Ref angle modulation (1)Ref angle modulation (1)
Ref angle modulation (1)Sarah Krystelle
 
communication system Chapter 4
communication system Chapter 4communication system Chapter 4
communication system Chapter 4moeen khan afridi
 
Amplitude modulation
Amplitude modulationAmplitude modulation
Amplitude modulationRumah Belajar
 
frequency modulation
frequency modulationfrequency modulation
frequency modulationWaqas Afzal
 
Frequency modulation
Frequency modulationFrequency modulation
Frequency modulationAkanksha_Seth
 
Numerical Problems on Ampitude Modulation
Numerical Problems on Ampitude ModulationNumerical Problems on Ampitude Modulation
Numerical Problems on Ampitude ModulationRenji K
 
Introduction to modulation and demodulation
Introduction to modulation and demodulationIntroduction to modulation and demodulation
Introduction to modulation and demodulationsaur28_83
 
Ch5 angle modulation pg 97
Ch5 angle modulation pg 97Ch5 angle modulation pg 97
Ch5 angle modulation pg 97Prateek Omer
 
Angle modulation
Angle modulationAngle modulation
Angle modulationavocado1111
 
Angle modulation
Angle modulationAngle modulation
Angle modulationUmang Gupta
 
Chapter 4 frequency modulation
Chapter 4 frequency modulationChapter 4 frequency modulation
Chapter 4 frequency modulationHattori Sidek
 
Phase modulation
Phase modulationPhase modulation
Phase modulationavocado1111
 
Frequency modulation and its circuits
Frequency modulation and its circuitsFrequency modulation and its circuits
Frequency modulation and its circuitsBarira Khan
 
Amplitute modulation
Amplitute modulationAmplitute modulation
Amplitute modulationAkanksha_Seth
 
Generation of SSB and DSB_SC Modulation
Generation of SSB and DSB_SC ModulationGeneration of SSB and DSB_SC Modulation
Generation of SSB and DSB_SC ModulationJoy Debnath
 

Was ist angesagt? (20)

9 mod analog_am_fm (1)
9 mod analog_am_fm (1)9 mod analog_am_fm (1)
9 mod analog_am_fm (1)
 
Comparison Frequency modulation and Phase modulation
Comparison Frequency modulationand Phase modulationComparison Frequency modulationand Phase modulation
Comparison Frequency modulation and Phase modulation
 
Ref angle modulation (1)
Ref angle modulation (1)Ref angle modulation (1)
Ref angle modulation (1)
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
communication system Chapter 4
communication system Chapter 4communication system Chapter 4
communication system Chapter 4
 
Amplitude modulation
Amplitude modulationAmplitude modulation
Amplitude modulation
 
frequency modulation
frequency modulationfrequency modulation
frequency modulation
 
Frequency modulation
Frequency modulationFrequency modulation
Frequency modulation
 
Numerical Problems on Ampitude Modulation
Numerical Problems on Ampitude ModulationNumerical Problems on Ampitude Modulation
Numerical Problems on Ampitude Modulation
 
Introduction to modulation and demodulation
Introduction to modulation and demodulationIntroduction to modulation and demodulation
Introduction to modulation and demodulation
 
Ch5 angle modulation pg 97
Ch5 angle modulation pg 97Ch5 angle modulation pg 97
Ch5 angle modulation pg 97
 
Angle modulation
Angle modulationAngle modulation
Angle modulation
 
Angle modulation
Angle modulationAngle modulation
Angle modulation
 
Chapter 4 frequency modulation
Chapter 4 frequency modulationChapter 4 frequency modulation
Chapter 4 frequency modulation
 
Phase modulation
Phase modulationPhase modulation
Phase modulation
 
Chapter4
Chapter4Chapter4
Chapter4
 
Frequency deviation
Frequency deviation Frequency deviation
Frequency deviation
 
Frequency modulation and its circuits
Frequency modulation and its circuitsFrequency modulation and its circuits
Frequency modulation and its circuits
 
Amplitute modulation
Amplitute modulationAmplitute modulation
Amplitute modulation
 
Generation of SSB and DSB_SC Modulation
Generation of SSB and DSB_SC ModulationGeneration of SSB and DSB_SC Modulation
Generation of SSB and DSB_SC Modulation
 

Andere mochten auch

Frequency modulation and its application
Frequency modulation and its applicationFrequency modulation and its application
Frequency modulation and its applicationDarshil Shah
 
AMPS 2011AB Mobile Review - Mobile Marketing Association SA - Raymond Buckle
AMPS 2011AB Mobile Review - Mobile Marketing Association SA - Raymond BuckleAMPS 2011AB Mobile Review - Mobile Marketing Association SA - Raymond Buckle
AMPS 2011AB Mobile Review - Mobile Marketing Association SA - Raymond BuckleRaymond Buckle
 
Frequency modulation
Frequency modulationFrequency modulation
Frequency modulationgopi789
 
Sql server engine cpu cache as the new ram
Sql server engine cpu cache as the new ramSql server engine cpu cache as the new ram
Sql server engine cpu cache as the new ramChris Adkin
 
chap 18 multicore computers
chap 18 multicore computers chap 18 multicore computers
chap 18 multicore computers Sher Shah Merkhel
 
Gsm architecture with gmsk
Gsm architecture with gmsk Gsm architecture with gmsk
Gsm architecture with gmsk Bilal Waheed
 
Frequency Modulation In Data Transmission
Frequency Modulation In Data TransmissionFrequency Modulation In Data Transmission
Frequency Modulation In Data TransmissionBise Mond
 
Multicore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash PrajapatiMulticore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash PrajapatiAnkit Raj
 
GSM tutorial | GSM mobile network system basics | tutorialsGsm tutorial
GSM tutorial | GSM mobile network system basics | tutorialsGsm tutorialGSM tutorial | GSM mobile network system basics | tutorialsGsm tutorial
GSM tutorial | GSM mobile network system basics | tutorialsGsm tutorialhafsabanu
 
Multicore Processsors
Multicore ProcesssorsMulticore Processsors
Multicore ProcesssorsAveen Meena
 

Andere mochten auch (20)

Multicore computers
Multicore computersMulticore computers
Multicore computers
 
Frequency modulation and its application
Frequency modulation and its applicationFrequency modulation and its application
Frequency modulation and its application
 
AMPS 2011AB Mobile Review - Mobile Marketing Association SA - Raymond Buckle
AMPS 2011AB Mobile Review - Mobile Marketing Association SA - Raymond BuckleAMPS 2011AB Mobile Review - Mobile Marketing Association SA - Raymond Buckle
AMPS 2011AB Mobile Review - Mobile Marketing Association SA - Raymond Buckle
 
Frequency modulation
Frequency modulationFrequency modulation
Frequency modulation
 
Edge
EdgeEdge
Edge
 
Motor skills
Motor skillsMotor skills
Motor skills
 
Frequency modulation
Frequency modulationFrequency modulation
Frequency modulation
 
Sql server engine cpu cache as the new ram
Sql server engine cpu cache as the new ramSql server engine cpu cache as the new ram
Sql server engine cpu cache as the new ram
 
GMSK with GSM
GMSK with GSMGMSK with GSM
GMSK with GSM
 
chap 18 multicore computers
chap 18 multicore computers chap 18 multicore computers
chap 18 multicore computers
 
Gsm architecture with gmsk
Gsm architecture with gmsk Gsm architecture with gmsk
Gsm architecture with gmsk
 
ASK,FSK and M-PSK using Matlab
ASK,FSK and M-PSK using MatlabASK,FSK and M-PSK using Matlab
ASK,FSK and M-PSK using Matlab
 
Gmsk
GmskGmsk
Gmsk
 
Frequency Modulation In Data Transmission
Frequency Modulation In Data TransmissionFrequency Modulation In Data Transmission
Frequency Modulation In Data Transmission
 
Multicore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash PrajapatiMulticore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash Prajapati
 
Multiprocessor system
Multiprocessor systemMultiprocessor system
Multiprocessor system
 
Child motor development
Child motor developmentChild motor development
Child motor development
 
GSM tutorial | GSM mobile network system basics | tutorialsGsm tutorial
GSM tutorial | GSM mobile network system basics | tutorialsGsm tutorialGSM tutorial | GSM mobile network system basics | tutorialsGsm tutorial
GSM tutorial | GSM mobile network system basics | tutorialsGsm tutorial
 
Fm
FmFm
Fm
 
Multicore Processsors
Multicore ProcesssorsMulticore Processsors
Multicore Processsors
 

Ähnlich wie Frequency modulation

Frequency Modulation.ppt
Frequency Modulation.pptFrequency Modulation.ppt
Frequency Modulation.pptStefan Oprea
 
디지털통신 9
디지털통신 9디지털통신 9
디지털통신 9KengTe Liao
 
Digital modulation
Digital modulationDigital modulation
Digital modulationumair khan
 
A Simple Communication System Design Lab #3 with MATLAB Simulink
A Simple Communication System Design Lab #3 with MATLAB SimulinkA Simple Communication System Design Lab #3 with MATLAB Simulink
A Simple Communication System Design Lab #3 with MATLAB SimulinkJaewook. Kang
 
Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Simen Li
 
RF Module Design - [Chapter 1] From Basics to RF Transceivers
RF Module Design - [Chapter 1] From Basics to RF TransceiversRF Module Design - [Chapter 1] From Basics to RF Transceivers
RF Module Design - [Chapter 1] From Basics to RF TransceiversSimen Li
 
射頻電子 - [第一章] 知識回顧與通訊系統簡介
射頻電子 - [第一章] 知識回顧與通訊系統簡介射頻電子 - [第一章] 知識回顧與通訊系統簡介
射頻電子 - [第一章] 知識回顧與通訊系統簡介Simen Li
 
chap4_lec1.ppt Engineering and technical
chap4_lec1.ppt Engineering and technicalchap4_lec1.ppt Engineering and technical
chap4_lec1.ppt Engineering and technicalshreenathji26
 
디지털통신 7
디지털통신 7디지털통신 7
디지털통신 7KengTe Liao
 
Amplitude Modulation.ppt
Amplitude Modulation.pptAmplitude Modulation.ppt
Amplitude Modulation.pptAbyThomas54
 
AprTraining Basic Concept.pptx
AprTraining Basic Concept.pptxAprTraining Basic Concept.pptx
AprTraining Basic Concept.pptxRashiSharma658277
 
Calculate the bandwidth of the composite channel
Calculate the bandwidth of the composite channelCalculate the bandwidth of the composite channel
Calculate the bandwidth of the composite channelshohel rana
 

Ähnlich wie Frequency modulation (20)

Frequency Modulation.ppt
Frequency Modulation.pptFrequency Modulation.ppt
Frequency Modulation.ppt
 
IMT Advanced
IMT AdvancedIMT Advanced
IMT Advanced
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
디지털통신 9
디지털통신 9디지털통신 9
디지털통신 9
 
Digital modulation
Digital modulationDigital modulation
Digital modulation
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Lecture13
Lecture13Lecture13
Lecture13
 
A Simple Communication System Design Lab #3 with MATLAB Simulink
A Simple Communication System Design Lab #3 with MATLAB SimulinkA Simple Communication System Design Lab #3 with MATLAB Simulink
A Simple Communication System Design Lab #3 with MATLAB Simulink
 
DSP-UNIT-V-PPT-1.pptx
DSP-UNIT-V-PPT-1.pptxDSP-UNIT-V-PPT-1.pptx
DSP-UNIT-V-PPT-1.pptx
 
Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1]
 
Lecture_ch6.pptx
Lecture_ch6.pptxLecture_ch6.pptx
Lecture_ch6.pptx
 
RF Module Design - [Chapter 1] From Basics to RF Transceivers
RF Module Design - [Chapter 1] From Basics to RF TransceiversRF Module Design - [Chapter 1] From Basics to RF Transceivers
RF Module Design - [Chapter 1] From Basics to RF Transceivers
 
射頻電子 - [第一章] 知識回顧與通訊系統簡介
射頻電子 - [第一章] 知識回顧與通訊系統簡介射頻電子 - [第一章] 知識回顧與通訊系統簡介
射頻電子 - [第一章] 知識回顧與通訊系統簡介
 
chap4_lec1.ppt Engineering and technical
chap4_lec1.ppt Engineering and technicalchap4_lec1.ppt Engineering and technical
chap4_lec1.ppt Engineering and technical
 
디지털통신 7
디지털통신 7디지털통신 7
디지털통신 7
 
Amplitude Modulation.ppt
Amplitude Modulation.pptAmplitude Modulation.ppt
Amplitude Modulation.ppt
 
AprTraining Basic Concept.pptx
AprTraining Basic Concept.pptxAprTraining Basic Concept.pptx
AprTraining Basic Concept.pptx
 
PAM
PAMPAM
PAM
 
Calculate the bandwidth of the composite channel
Calculate the bandwidth of the composite channelCalculate the bandwidth of the composite channel
Calculate the bandwidth of the composite channel
 

Mehr von Syed Zaid Irshad

Mehr von Syed Zaid Irshad (20)

Operating System.pdf
Operating System.pdfOperating System.pdf
Operating System.pdf
 
DBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_SolutionDBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_Solution
 
Data Structure and Algorithms.pptx
Data Structure and Algorithms.pptxData Structure and Algorithms.pptx
Data Structure and Algorithms.pptx
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxDesign and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
 
Professional Issues in Computing
Professional Issues in ComputingProfessional Issues in Computing
Professional Issues in Computing
 
Reduce course notes class xi
Reduce course notes class xiReduce course notes class xi
Reduce course notes class xi
 
Reduce course notes class xii
Reduce course notes class xiiReduce course notes class xii
Reduce course notes class xii
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
C Language
C LanguageC Language
C Language
 
Flowchart
FlowchartFlowchart
Flowchart
 
Algorithm Pseudo
Algorithm PseudoAlgorithm Pseudo
Algorithm Pseudo
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programming
 
ICS 2nd Year Book Introduction
ICS 2nd Year Book IntroductionICS 2nd Year Book Introduction
ICS 2nd Year Book Introduction
 
Security, Copyright and the Law
Security, Copyright and the LawSecurity, Copyright and the Law
Security, Copyright and the Law
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer Architecture
 
Data Communication
Data CommunicationData Communication
Data Communication
 
Information Networks
Information NetworksInformation Networks
Information Networks
 
Basic Concept of Information Technology
Basic Concept of Information TechnologyBasic Concept of Information Technology
Basic Concept of Information Technology
 
Introduction to ICS 1st Year Book
Introduction to ICS 1st Year BookIntroduction to ICS 1st Year Book
Introduction to ICS 1st Year Book
 
Using the set operators
Using the set operatorsUsing the set operators
Using the set operators
 

Kürzlich hochgeladen

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 

Kürzlich hochgeladen (20)

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 

Frequency modulation

  • 2. Learning Objectives • Overview of Digital Modulation • Understanding GMSK Modulation • Learning how to Implement a GMSK Modulator on a C54
  • 3. Digital Modulations •Baseband and bandpass signalling are used to transmit data on physical channels such as telephone cables or radiofrequency channels. • The source of data (bits or symbol) may be a computer file or a digitized waveform (speech, video…) • The transmitted signal carries information about the data and its characteristic changes at the same rate as the data. • When the signal carrying the data information • Extends from 0 Hz upwards, the term baseband signalling is used. • Has its power centered on a central frequency fc, the term bandpass signalling or modulation is used.
  • 4. Digital Modulation • Modulation is used because: • The channel does not include the 0 Hz frequency and baseband signalling is impossible • The bandwidth of the channel is split between several channels for frequency multiplexing • For wireless radio-communications, the size of the antenna decreases when the transmitted frequency increases.
  • 5. Carrier Frequency • In simple modulation schemes, a single frequency signal, the carrier, is modified at the rate of the data. • The carrier is commonly written as: ( )cos 2 cA f tπ + Φ ffcc= Carrier frequency= Carrier frequency A = Carrier AmplitudeA = Carrier Amplitude ΦΦ = Carrier phase= Carrier phase  The 3 main parameters of the carrier:The 3 main parameters of the carrier: amplitude, phase and frequency can beamplitude, phase and frequency can be modified to carry the informationmodified to carry the information leading to: amplitude, phase andleading to: amplitude, phase and frequency modulation.frequency modulation.
  • 6. Digital Modulation •CPM: Continuous Phase Modulation • Frequency or phase modulation • Example: MSK, GMSK • Characteristic: constant envelope modulation •QAM: Quadrature Amplitude Modulation • Example: QPSK, OQPSK, 16QAM • Characteristic: High spectral efficiency •Multicarrier Modulation • Example: OFDM, DMT • Characteristic: Muti-path delay spread tolerance, effectivness against channel distortion
  • 7. What is the Complex Envelope z(t) of a Modulated Signal x(t) ? { } ( ) ( ).2sin)(2)cos()()( 2 tftztftzetztx cQcI tfj c πππ −=ℜ= ffcc= Carrier frequency= Carrier frequency ( ) 2 ( ) ( ) ( ) ( ) ( ) ( ) ( )cj f t j t H I Qz t x t jx t e z t jz t A t eπ− Φ = + = + = z(t)z(t) = Complex envelope of= Complex envelope of x(t)x(t) zzII(t), z(t), zQQ(t)(t) are the baseband componentsare the baseband components xxHH(t)(t) = Hilbert transform of= Hilbert transform of x(t) =x(t) = x(t)x(t) with a phase shift ofwith a phase shift of ππ/2/2 [ ].)()( 2 1)( czczx ffSffSfS ++−= SSxx(f)(f) = Power spectral density of= Power spectral density of x(t)x(t)
  • 8. Complex Envelope z of a Modulated Signal x Frequency Domain 0 1 2 0 1 2 0 1 2 f f f X(f) Xa(f) Z(f) 2 1 2
  • 9. GMSK Modulation • Gaussian Minimum Shift Keying. • Used in GSM and DECT standards. • Relevant to mobile communications because of constant envelope modulation: • Quite insensitive to non-linearities of power amplifier • Robust to fading effects • But moderate spectral efficiency.
  • 10. What is GMSK Modulation?• Continuous phase digital frequency modulation • Modulation index h=1/2 • Gaussian Frequency Shaping Filter • GMSK = MSK + Gaussian filter • Characterized by the value of BT • T = bit duration • B = 3dB Bandwidth of the shaping filter • BT = 0.3 for GSM • BT = 0.5 for DECT
  • 11. GMSK Modulation, Expression for the Modulated Signal x(t) ( )( ) cos 2 ( ) with: ( ) 2 ( ) c t k k x t f t t t h a s kT d π π τ τ +∞ =−∞−∞ = + Φ Φ = −∑∫ 2 1 )( =∫ +∞ ∞− ττ ds NormalizationNormalization aakk = Binary data = +/- 1= Binary data = +/- 1 hh = Modulation index = 0.5= Modulation index = 0.5 s(t)s(t) = Gaussian frequency shaping filter= Gaussian frequency shaping filter s(t)s(t)= Elementary frequency pulse= Elementary frequency pulse
  • 12. GMSK Elementary Phase Pulse Elementary phase pulse = ( ) ( ) 2 ( ) 2 ( ) . t t t hq t h s d ϕ ϕ π π τ τ −∞ = = ∫ ( ) ( ) . t q t s dτ τ −∞ = ∫ [ ] ( ) For ,( 1) ( ) 2 ( ) ( ) ( ) cos 2 ( ) cos 2 ( ) . n n k k k k n c c k k t nT n T t h a q t kT a t kT x t f t t f t a t kT π ϕ π π ϕ =−∞ =−∞ =−∞ ∈ + Φ = − = −   = + Φ = + −    ∑ ∑ ∑
  • 13. Architecture of a GMSK Modulator Coder Bits ak r t( ) VCO h x t( )h t( ) Gaussian filter GMSK modulator using a VCO ( )k k a s t kT−∑( )k k a t kTδ −∑ ( ) ( )* ( )s t r t h t= Rectangular filter x t( )Coder Bits ak s t( ) 2π h − ∞ ∫ t Φ ( )t cos() sin() + - s t r t h t( ) ( )* ( )= GMSK modulator without VCO ( )k k a t kTδ −∑ ( )cos 2 cf tπ ( )sin 2 cf tπ
  • 14. Equation for the Gaussian Filter h(t) 2 2 2 2 2 2 2 ( ) exp ln(2) ln(2) ln(2) ( ) exp 2 B h t B t H f f B π π  = −      = −    The durationThe duration MTMTbb of the gaussian pulse isof the gaussian pulse is truncated to a value inverselytruncated to a value inversely proportional to B.proportional to B. BT = 0.5,BT = 0.5, MTMTbb = 2= 2TTbb BT = 0.3,BT = 0.3, MTMTbb = 3 or 4= 3 or 4TTbb
  • 15. Frequency and Phase Elementary Pulses -2 -1 0 1 2 0 0.1 0.2 0.3 0.4 0.5 BTb =+∞ BTb =05, BTb =03, t in number of bit periods Tb T g tb ( ) Elementary frequency pulse -2 -1 0 1 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 t in number of bit period Tb BT b = +∞ BT b = 0 3. BT b = 0 5. Elementary phase pulse ϕ ( )t π/2 The elementary frequency pulse isThe elementary frequency pulse is the convolution of a square pulsethe convolution of a square pulse r(t) with a gaussian pulse h(t).r(t) with a gaussian pulse h(t). Its duration isIts duration is (M+1)T(M+1)Tbb..
  • 16. GMSK Signals Binary sequence GMSK modulated Signal Φ( )t ( )z t tI ( ) cos ( )= Φ ( )z t tQ ( ) sin ( )= Φ 5 1 0 5 10 15 20 -1 0 1 0 5 10 15 20 -1 0 1 t 0 5 10 15 20 1 -1 0 t 0 5 10 15 20 -5 0 t 0 5 10 15 20 -1 0 t t in rd
  • 17. Power Spectral Density of GMSK Signals 0 0.5 1 1.5 2 2.5 3 3.5 4 -140 -120 -100 -80 -60 -40 -20 0 20 Power spectral density of the complex envelope of GMSK, BT=0.3, fe=8, T=1. Logarithmic scale Frequency normalized by 1/T
  • 18. Implementing a GMSK Modulator on a DSP• Quadrature modulation can be used: • The DSP calculates the phase Φ and the 2 baseband components zI and zQ and sends them to the DAC. • Or a modulated loop can be used. • In this case, the DSP generates the instantaneous frequency finst signal that is sent to the DAC. inst ( ).k k f h a s kTτ +∞ =−∞ = −∑
  • 19. Expression for the Baseband Components• The baseband components zI and zQ are modulated in amplitude by the 2 quadrature carriers. ( ) ( ) ( ) ( ) ( )( ) cos 2 ( ) cos ( ) cos 2 sin ( ) sin 2c c cx t f t t t f t t f tπ π π= + Φ = Φ − Φ ( ) ( )( ) ( )cos 2 ( )sin 2I c Q cx t z t f t z t f tπ π= −
  • 20. Baseband Components and Carriers• Baseband components • The carriers are generally RF analog signals generated by analog oscillators • However, we will show how they could be generated digitally if the value of fc were not too high. ( ) ( ) ( ) cos ( ) ( ) sin ( ) I Q z t t z t t = Φ = Φ ( ) ( ) I Q Carrier cos 2 Carrier sin 2 c c f t f t π π = =
  • 21. Calculation of the Baseband Components on a DSP • Calculate the phase Φ at time mTS • Ts the sampling frequency. • Read the value of cos(Φ) and sin(Φ) from a table. [ ]For ,( 1) ( ) ( ). ( ) ( ). n k k n S k S k t nT n T t a t kT mT a mT kT ϕ ϕ =−∞ =−∞ ∈ + Φ = − Φ = − ∑ ∑
  • 22. Calculation of the Elementary Pulse Phase with Matlab • The elementary pulse phase ϕ(mTS) is calculated with Matlab and stored in memory. • The duration LT of the evolutive part of ϕ(mTS) depends on the value of BT. • ϕ is called phi in the matlab routine. ( ) 2 ( ) ( ) 0 0 ( ) t t h s d t t t h t LT ϕ π τ τ ϕ ϕ π −∞ = = ∀ < = ∀ > ∫
  • 23. Calculation of the Elementary Pulse Phase with Matlab 1/2 function [phi,s]=pul_phas(T_over_Ts,L,BT,T) Ts=T/ T_over_Ts ; % calculates the number of samples in phi in the interval 0 - LT Nphi=ceil(T_over_Ts*L); % calculates the number of samples in T Nts=ceil(T_over_Ts); phi=zeros(1,Nphi); s=zeros(1,Nphi); sigma=sqrt(log(2))/2/pi/(BT/T) Open Matlab routine pul_phas.m Beginning of the matlab routine
  • 24. Calculation of the Elementary Pulse Phase with Matlab 2/2 t=[-L*T/2:Ts:L*T/2]; t=t(1:Nphi); ta=t+T/2; tb=t-T/2; Qta=0.5*(ones(1,Nphi)+erf(ta/sigma/sqrt(2))); Qtb=0.5*(ones(1,Nphi)+erf(tb/sigma/sqrt(2))); expta=exp(-0.5*((ta/sigma).^2))/sqrt(2*pi)*sigma; exptb=exp(-0.5*((tb/sigma).^2))/sqrt(2*pi)*sigma; phi=pi/T/2*(ta.*Qta+expta-tb.*Qtb-exptb); s=1/2/T*(Qta-Qtb); End of the matlab routine
  • 25. Using the Matlab Routine• Start Matlab • Use: • T_over_Ts=8 • L=4 • T=1 • BT=0.3 • call the routine using to calculate the phase pulse phi (ϕ ) and the pulse s: • [phi,s]=pul_phas(T_over_Ts,L,BT,T) • Plot the phase phi and the shaping pulse s • plot(phi) • plot(s)
  • 26. Results of Matlab Routine
  • 27. Results for phi• For L=4 and T_over_Ts=8, we obtain 32 samples for phi. Matlab gives the following values for phi: • Phi= [0.0001, 0.0002, 0.0005, 0.0012, 0.0028, 0.0062, 0.0127, 0.0246, 0.0446, 0.0763, 0.1231, 0.1884, 0.2740, 0.3798, 0.5036, 0.6409, 0.7854, 0.9299, 1.0672, 1.1910, 1.2968, 1.3824, 1.4476, 1.4945, 1.5262, 1.5462, 1.5581, 1.5646, 1.5680, 1.5696, 1.5703, 1.5706] • After this evolutive part of phi, phi stays equal to π/2 (1.57). • To calculate Φ, the evolutive part and the constant part of the elementary phase pulse phi are treated separately.
  • 28. [ ] 1 1 1 For ,( 1) ( ) ( ) ( ) ( ) with: ( ) 0 0 ( ) 2 ( ) ( ) phimem( ) ( ) 2 n n L n k k k k k k n L n L n n k k k k k n L k n L t nT n T t a t kT a t kT a t kT t t h t h t LT t a a t kT n a t kT ϕ ϕ ϕ ϕ ϕ π π ϕ ϕ − =−∞ =−∞ = − + − =−∞ = − + = − + ∈ + Φ = − = − + − = ∀ < = = ∀ > Φ = + − = + − ∑ ∑ ∑ ∑ ∑ ∑ Calculation of Φ• Separation of evolutive and constant parts of phi.
  • 29. Memory Part and Evolutive Part of Φ [ ]For ,( 1) phimem( ) phimem( 1) ( ) . 2 t nT n T n n a n L π ∈ + = − + − 1 1 ( ) phimem( ) ( ) ( ) phimem( ) ( ) n k k n L S n S k S k n L t n a t kT t mT mT n a mT kT ϕ ϕ = − + = − + Φ = + − = Φ = + − ∑ ∑
  • 30. Recursive Calculation of Φ• Names of variables • Phase = Φ • phi = array of evolutive part of ϕ, • Nphi samples = LT/Ts • Ns = number of samples per bit = T/Ts • an = binary sequence (+/- 1) • 2 calculation steps: • Calculate Φ • Calculate zI=cos(Φ) and zQ=sin(Φ) by table reading
  • 31. Calculation of Φ: Initialization• Initialization step: • L first bit periods, phimem = 0 • At bit L+1, phimem is set to a1 π/2. • Principle of the initialization processing: • FOR i=1 to i=L • for j=(i-1)Ns+1 to j=(i-1)Ns+Nphi • phase((i-1)Ns+j)= phase((i-1)Ns+j)+phi(j)an(i) • Endfor • endFOR • phimem=an(1) π/2
  • 32. Calculation of Φ: After Initialization• FOR i=L+1 to last_bit • For j=(i-1)Ns+1 to j=(i-1)Ns+Nphi • phase((i-1)Ns+j)= phase((i-1)Ns+j)+phi(j)an(i) • endFor • For j=(i-1)Ns+1 to j=i Ns • phase((i-1)Ns+j)= phase((i-1)Ns+j)+phimem • xi=cos(phase(i-1)Ns+j) • xq=sin(phase((i-1)Ns+j) • endFor • phimem=phimem+pi/2 an(i+1-L) • endFOR
  • 33. Coding and Wrapping the Phase Table• The phase value in [-π,π[ is represented by the 16-bit number Iphase • Minimum phase = -π, Iphase = -215 . • Maximum phase = π(1-215 ), Iphase = 215 -1. 15 2 phase Iphase π =
  • 34. Index for the table in Phase Calculation • Phase increment between 2 table values: • 2π / Ncos and on Iphase 216 /Ncos • For Iphase, the index of the table is: • i= Ncos Iphase 2-16 • Here Ncos 2-16 = 2-9 , • So the index in the table is given by shifting Iphase 9 bits to the right.
  • 35. Coding of phi• The quantized values of phi can be obtained with Matlab: • phi= round(phi*2^15/pi); • phi is defined and initialized in the file phi03.asm as: .ref phi .sect "phi" phi .word 1,2,5,13,29,65,133,256 .word 465,795,1284,1965,2858,3961,5252,6685 .word 8192,9699,11132,12423,13526,14419,15100,15589 .word 15919,16128,16251,16319,16355,16371,16379,16382
  • 36. Calculation of sin() and cos() by Table Lookup • We use a table of cosine values • Length of the table Ncos=128, circular buffer • Contents of the table: cosine of angles Ψi uniformly distributed between -π and π.       −−∈=Ψ 1 2 , 2 coscos NN i N i i π  deb_cos = first address of the tabledeb_cos = first address of the table  mid_cos = address of the table middlemid_cos = address of the table middle  cos(cos(ΨΨii ) is at address mid_cos + i) is at address mid_cos + i
  • 37. Calculation of sin() and cos() by Table Lookup • Conversion of the phase modulo 2π: • Wrapping phase in [-π,π[ • Done by a macro: testa02pi * Macro to wrap the phase between -π et π, phase is in ACCU A testa02pi .macro SUB #8000h,A,B ; sub -2^(15) BC suite1?, BGEQ ; test if phase is in [0,2pi[ SUB #8000h,A ; sub -2^(15) SUB #8000h,A ; SUB -2^(15) B suite? suite1? ADD #8000h,A,B ; add -2^(15) BC suite?,BLT ADD #8000h,A ; add -2^(15) ADD #8000h,A ; add -2^(15) suite? ; end of test .endm
  • 38. Generating the Sine Values from a Table of Cosine Values • To generate sin(α) from the table of cosine values, we use: • cos(π/2 - α) or cos(-π/2 + α) or cos(3π/2+ α) • If i is the index of the cosine, for the sine we use: • i-Ncos/4 if i>= -Ncos/4 • i+3Ncos /4 if i < Ncos/4.
  • 39. Implementation on a C54x, Test Sequence• We can test the GMSK modulation on a given periodical binary sequence an: • an=[ 0 1 1 0 0 1 0 1 0 0] • These bits are stored in a circular buffer: • Size NB = 10 • Declaration of a section bits aligned on an address which is a multiple of 16 bits. AR5 deb_bit NB an
  • 40. Testing the Generation of Φ on the C54x, Results Buffer • We calculate Φ and store it in a buffer pointed by AR1. The size of the result buffer is 1000 words. AR1 resu 1000 Φ Buffer for the last 1000 result values of Φ
  • 41. Testing the Generation of Φ on the C54x Buffers AR4 phi Nphi phi Circular Buffer for phi (evolutive part) Allocated at an address multiple of 64 (Nphi = 32) AR3 deb_phase Nphi phase Circular Buffer for the variable phase Allocated at an address multiple of 64 (Nphi = 32)
  • 42. Listing for the Calculation of Φ Definitions .mmregs .global debut,boucle .global deb_cos, phi .global deb_phase .global resu Nphi .set 32 Nphim .set -32 L .set 4 Ncos .set 128 Nsur2 .set 64 Nsur4 .set 32 NB .set 10 NS .set 8 .bss resu,1000
  • 43. Listing for the Calculation of Φ Macro for phase wrapping * Definition of macro of phase wrapping testa02pi testa02pi .macro SUB #8000h,A,B ;sub -2^(15) BC suite1?, BGEQ ;test if phase in [0,2pi[ SUB #8000h,A ;sub -2^(15) SUB #8000h,A ;sub -2^(15) B suite? suite1? ADD #8000h,A,B ;add -2^(15) BC suite?,BLT ADD #8000h,A ;add -2^(15) ADD #8000h,A ;add -2^(15) suite? ;end test wrapping [0,2pi[ .endm
  • 44. Listing for the Calculation of Φ Initialization of Registers and Buffers 1/2 .text * Initialization of BK, DP, ACCUs, and ARi debut: LD #0, DP LD #0, A LD #0, B STM #deb_bit,AR5 STM #deb_cos,AR2 STM #deb_phase ,AR3 STM #phi,AR4 STM #resu,AR1 STM +1,AR0 STM #Nphi, BK STM #(NS-1),AR7 RSBX OVM SSBX SXM
  • 45. Listing for the Calculation of Φ Initialization of Registers and Buffers 2/2 * Initialization of the phase buffer RPT #(Nphi-1) STL A,*AR3+% *initialization of phimem LD *AR5,T MPY #04000h,A ; -2^(14) an(1)(pi/2 an(1)) STL A,*(phimem)
  • 46. Listing for the Calculation of Φ Calculation for the first L bits * processing for the first L bits STM #(L-1),AR6 Ldeb STM #Nphi-1,BRC RPTB fin-1 ; from k=0 to k=Nphi LD *AR3,A ; accu=phase(k) MAC *AR4+0%,*AR5,A ; A=phase(k)+an(i) phi(k) testa02pi STL A,*AR3+% ; A->phase(k) NOP fin NOP STM #(NS-1), AR7 Nsbouc LD *AR3,A ; output of NS values STL A,*AR1+ ; and reset at 0 of NS words ST #0,*AR3+% BANZ nsbouc,*AR7- STM #NB, BK MAR *AR5+% STM #Nphi,BK BANZ Ldeb, *AR6-
  • 47. Listing for the Calculation of Φ Calculation of the Following Bits 1/2 * begin of the infinite loop boucle STM #Nphi-1,BRC RPTB fin2-1 ; for k=0 to Nphi LD *AR3,A ; accu=phase(k) MAC *AR4+0%,*AR5,A ; A=phase(k)+an(i) phi(k) testa02pi STL A,*AR3+% ; A->phase(k) fin2 * adding phimem to the NS first points of the array * then taking them out and reset to 0 in phase STM #NS-1,AR7 nsbouc2 LD *(phimem),B ADD *AR3,B,A ; B=phimem+phase(k) testa02pi STL A,*AR1+ ST #0,*AR3+% ; 0->phase(k) BANZ nsbouc2,*AR7- ; ....
  • 48. Listing for the Calculation of Φ Calculation of the Following Bits 2/2 fin3 * actualization of phimem LD *(phimem),A STM #NB, BK MAR *+AR5(#unmL)% LD *AR5,T MAC #04000h,A ; -2^(14) an(1)(pi/2 an(1)) testa02pi STL A,*(phimem) MAR *+AR5(#L)% STM #Nphi,BK B boucle .end
  • 49. Illustration of the Phase Result Wrapped Between -π and π • Plot under CCS the buffer of phase results
  • 50. Generation of the Baseband Components zI=cos(Φ) and zQ=sin(Φ) • We calculate zI and zQ and we do not need to save the phase any more. • We output ZI and Zq, in this example on DXR0 and DXR1. • We need the table of constants for the values of cosine. • This table is defined in the file tabcos.asm • The cosine values are given in format Q14.
  • 51. File tabcos.asm .def deb_cos,mid_cos .sect "tab_cos" deb_cos .word -16384,-16364,-16305,-16207,-16069,-15893,-15679,-15426 .word -15137,-14811,-14449,-14053,-13623,-13160,-12665,-12140 .word -11585,-11003,-10394,-9760,-9102,-8423,-7723,-7005 .word -6270,-5520,-4756,-3981,-3196,-2404,-1606,-804 .word 0,804,1606,2404,3196,3981,4756,5520 .word 6270,7005,7723,8423,9102,9760,10394,11003 .word 11585,12140,12665,13160,13623,14053,14449,14811 .word 15137,15426,15679,15893,16069,16207,16305,16364 .word 16384,16364,16305,16207,16069,15893,15679,15426 .word 15137,14811,14449,14053,13623,13160,12665,12140 .word 11585,11003,10394,9760,9102,8423,7723,7005 .word 6270,5520,4756,3981,3196,2404,1606,804 .word 0,-804,-1606,-2404,-3196,-3981,-4756,-5520 .word -6270,-7005,-7723,-8423,-9102,-9760,-10394,-11003 .word -11585,-12140,-12665,-13160,-13623,-14053,-14449,-14811 .word -15137,-15426,-15679,-15893,-16069,-16207,-16305,-16364 mid_cos .set deb_cos+64
  • 52. Listing for the Calculation of zI and zQ • The listing for definitions and initializations is the same as before. • Processing of the L first bits, • Processing of the other bits • (infinite loop)
  • 53. Processing of the First L Bits 1/2* Processing of the L first bits STM #(L-1),AR6 Ldeb STM #Nphi-1,BRC RPTB fin-1 ; from k=0 to Nphi LD *AR3,A ; accu=phase(k) MAC *AR4+0%,*AR5,A ; A=phase(k)+an(i) phi(k) testa02pi STL A,*AR3+% ; A->phase(k) fin NOP STM #(NS-1), AR7 Nsbouc LD *AR3,A ; output of NS values SFTA A,-9,A ADD #mid_cos,A,B STLM B,AR1 NOP NOP LD *AR1,B STL B,DXR0
  • 54. Processing of the First L Bits 2/2* Calculation of the sine ADD #Nsur4,A,B BC sui,BGT ADD #(Nsur2),B B sui1 sui SUB #Nsur2,B sui1 ADD #mid_cos,B STLM B,AR1 NOP NOP LD *AR1,A STL A,DXR1 ST #0,*AR3+% BANZ nsbouc,*AR7- STM #NB, BK MAR *AR5+% STM #Nphi,BK
  • 55. Processing of the Following bits 1 of 2 * begin the infinite loop boucle STM #Nphi-1,BRC RPTB fin2-1 ; for k=0 to Nphi LD *AR3,A ; accu=phase(k) MAC *AR4+0%,*AR5,A ; A=phase(k)+an(i) phi(k) testa02pi STL A,*AR3+% ; A->phase(k) fin2 *phimem is added to the NS first points of the array * then they are output and words are reset to 0 in buffer phase STM #NS-1,AR7 nsbouc2 LD *(phimem),B ADD *AR3,B,A ; A=phimem+phase(k) testa02pi SFTA A,-9,A ADD #mid_cos,A,B STLM B,AR1 NOP NOP LD *AR1,B STL B,DXR0
  • 56. Processing of the Following Bits 2 of 2 * Calculation of the sine NOP ADD #Nsur4,A,B NOP NOP BC suii,BGT ADD #(Nsur2),B B suii1 suii SUB #(Nsur2) ,B suii1 ADD #mid_cos,B STLM B,AR1 NOP NOP LD *AR1,A STL A,DXR1 ST #0,*AR3+% ; 0->phase(k) BANZ nsbouc2,*AR7- fin3 * actualization of phimem LD *(phimem),A STM #NB, BK MAR *+AR5(#unmL)% LD *AR5,T MAC #04000h,A ; -2^(14) an(1)(pi/2 an(1)) testa02pi STL A,*(phimem) MAR *+AR5(#L)% STM #Nphi,BK B boucle .end
  • 58. Generation of 2 Quadrature Carriers• Generation of: • cos(2πfct) and sin (2πfct) • fc is the frequency of the carrier • In this example we choose fc=1/T • Sampling frequency = 1/Ts = fS • In RF applications, the carriers are not generated by the DSP. It is only possible to use the DSP for low values of fc. • The angle α(t)= 2πfct is calculated then the value of cos() is read from a table.
  • 59. Calculation of the Angle of the Carriers• Recursive calculation of the angle α: ( ) ( )( ) 2 ( 1) 2 ( 1)S c S S c S snT f nT n T f T n Tα π α π α α= = − + = − + ∆  The precision of the generatedThe precision of the generated frequency depends on the precision offrequency depends on the precision of ∆α∆α..  The phase incrementThe phase increment ∆α∆α corresponds tocorresponds to an incrementan increment ∆∆IIαα to the integer thatto the integer that representsrepresents αα.. ∆∆IIαα=2=21616 ffccTTSS rounded to the closestrounded to the closest integer.integer.
  • 60. Calculation of the Angle of the Carriers• If the number of samples per period of the carrier is a power of 2, 2k: •∆Iα=216 fcTS=2(16-k) is exact •Then the precision of the generated frequency depends only on the precision of the sampling frequency. • Otherwise, there is an error dfc in fc: • |dfc|<2-17 fS. • Error in the amplitudes of the carriers due to finite precision of the table reading. (possible interpolation).
  • 61. Implementation on a C54x• We use: fs/fc=8=Ns. • The cosine table has 128 Values in Q14. AR1 deb_cos 128 Cosine values Circular buffer,Table of cosine
  • 62. Implementation on a C54x •Here k=3 (8 samples per period) and the increment • ∆Iα=216 fcTS=2(16-k) =213 •Simple case of fS/fc as an integer value, the table is read with an offset from the pointer = 16 = 27 /23 to generate a cosine with 8 samples per period. •We can work directly on the index i and not on I.
  • 63. Generation of the Cosine and Sine Carriers• For the cosine: • The circular buffer containing the cosine values (length N) is accessed with AR1. • Incremented by the content of AR0=16. • AR1 initialized with deb_cos. • For the sine: • Same circular buffer accessed by AR2. • AR2 initialized with deb_cos + Ncos/4. • Decremented by AR0=16. • Outputs (cos and sin) are sent to DXR0 and DXR1.
  • 64. Generation of quadrature 2 Carriers• File porteuse.asm • A file associated with DXR0 and DXR1 is used to save visual results obtained with the CCS simulator. • Here cosine table goes from: • 0 to 2π
  • 65. Listing for the Generation of 2 Carriers 1 of 2 .mmregs .global debut,boucle Ncos .set 128 Nsur2 .set 64 Nsur4 .set 32 Inc .set 16 * Definition and initialization of Table of cosine .sect "tab_cos" deb_cos .word 16384,16364,16305,16207,16069,15893,15679,15426 .word 15137,14811,14449,14053,13623,13160,12665,12140 .word 11585,11003,10394,9760,9102,8423,7723,7005 .word 6270,5520,4756,3981,3196,2404,1606,804 .word 0,-804,-1606,-2404,-3196,-3981,-4756,-5520 .word -6270,-7005,-7723,-8423,-9102,-9760,-10394,-11003 .word -11585,-12140,-12665,-13160,-13623,-14053,-14449,-14811 .word -15137,-15426,-15679,-15893,-16069,-16207,-16305,-16364 .word -16384,-16364,-16305,-16207,-16069,-15893,-15679,-15426 .word -15137,-14811,-14449,-14053,-13623,-13160,-12665,-12140 .word -11585,-11003,-10394,-9760,-9102,-8423,-7723,-7005 .word -6270,-5520,-4756,-3981,-3196,-2404,-1606,-804 .word 0,804,1606,2404,3196,3981,4756,5520 .word 6270,7005,7723,8423,9102,9760,10394,11003 .word 11585,12140,12665,13160,13623,14053,14449,14811 .word 15137,15426,15679,15893,16069,16207,16305,16364
  • 66. Listing for the Generation of 2 Carriers 2 of 2 .text * Initializations of DP, and of the phase Ialpha at 0 * The phase Ialpha is in ACCU A, and the index of table in B * attention we work in the part of ACCUs * Initialize AR1 at mid_cos and AR0 at Nsur4 debut: LD #0, DP LD #0, A STM #Ncos,BK STM #deb_cos,AR1 STM #(deb_cos+Nsur4),AR2 STM #Inc, AR0 * endless loop boucle: LD *AR1+0%,A STL A, DXR0 LD *AR2-0%,B STL B,DXR0 * Return to the beginning of the endless loop B boucle
  • 68. Tutorial The listing files for the precedent examplesThe listing files for the precedent examples can be found in the directory “tutorial”:can be found in the directory “tutorial”:  Tutorial > Dsk5416 > Chapter 21 > Labs_modulationTutorial > Dsk5416 > Chapter 21 > Labs_modulation
  • 69. Further Activities• Application 5 for the TMS320C5416 DSK and for the TMS320C5510. • Alien Voices. A very simple application showing the effect of modulation on audio frequencies. It shows how the carrier causes sum and difference frequencies to be generated. Here it is used to generate the strange voices used for aliens in science fiction films and television.

Hinweis der Redaktion

  1. Modulation with constant envelope are robust to the non-linearities of the emitter or of the channel in mobile communications. They are also more robust to fading than modulation using the carrier amplitude to carry information. PSK = Phase Shift Keying OQPSK = Offset Phase Shift Keying 16QAM = QAM modulation with 16 different states For amplitude-phase. Spectral efficiency can be defined as the number of bits per second that can be transmitted in 1 Hz bandwidth with a given error probability. In multicarrier modulation, the data are sent in parallel to several carriers that are modulated and summed. OFDM = Orthogonal Frequency Modulation DMT = digital MultiTone
  2. Cos(2  fct) and sin(2fct) are called quadrature carriers because they have a phase difference equal to /2. The 2 signals zI and zQ are sometimes called quadrature components because they modulate the 2 quadrature carriers.
  3. GSM = Global System for Mobile communications (ETSI standard for 2nd generation cellular mobile communications) DECT = Digital European Cordless Telephone
  4. The Gaussian filter is used to limit the bandwidth of the modulated signal. It is a good compromise between the bandwidth of the modulated signal and the length of the impulse response of the filter. Other shapes of spectral shaping filter could be used. MSK = Minimum Shift Keying binary modulation uses the smallest possible frequency spacing corresponding to orthogonal frequencies. f=1/(2T) where T is the bit duration.
  5. The instantaneous frequency of the signal carries the information about the data ak.
  6. Here the term VCO means voltage controlled oscillator.
  7. Here RF means Radio Frequency/
  8. phi =  = elementary phase pulse s= elementary frequency pulse.