SlideShare uma empresa Scribd logo
1 de 70
Chapter 21
Frequency Modulation
GMSK Modulation
DSP C5000
Copyright © 2003 Texas Instruments. All rights reserved.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 2
Learning Objectives
 Overview of Digital Modulation
 Understanding GMSK Modulation
 Learning how to Implement a GMSK
Modulator on a C54
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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 c
A f t
  
fc= Carrier frequency
A = Carrier Amplitude
 = Carrier phase
 The 3 main parameters of the carrier:
amplitude, phase and frequency can be
modified to carry the information
leading to: amplitude, phase and
frequency modulation.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 7
What is the Complex Envelope z(t) of a
Modulated Signal x(t) ?
     .
2
sin
)
(
2
)cos
(
)
(
)
( 2
t
f
t
z
t
f
t
z
e
t
z
t
x c
Q
c
I
t
f
j c







fc= Carrier frequency
  2 ( )
( ) ( ) ( ) ( ) ( ) ( )
c
j f t j t
H I Q
z t x t jx t e z t jz t A t e

 
    
z(t) = Complex envelope of x(t)
zI(t), zQ(t) are the baseband components
xH(t) = Hilbert transform of x(t) = x(t) with a phase shift of /2
 .
)
(
)
(
2
1
)
( c
z
c
z
x f
f
S
f
f
S
f
S 



Sx(f) = Power spectral density of x(t)
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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
)
( 





 d
s
Normalization
ak = Binary data = +/- 1
h = Modulation index = 0.5
s(t) = Gaussian frequency shaping filter
s(t)= Elementary frequency pulse
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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
 
  
 

      
 
     
 
 
 

Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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 c
f t

 
sin 2 c
f t

Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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 duration MTb of the gaussian pulse
is truncated to a value inversely
proportional to B.
BT = 0.5, MTb = 2Tb
BT = 0.3, MTb = 3 or 4Tb
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 15
Frequency and Phase Elementary Pulses
-2 -1 0 1 2
0
0.1
0.2
0.3
0.4
0.5 BT
b

BT
b
05
,
BT
b
03
,
t in number of bit periods Tb
T g t
b ( ) 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 is
the convolution of a square pulse
r(t) with a gaussian pulse h(t).
Its duration is (M+1)Tb.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 16
GMSK Signals
Binary sequence
GMSK modulated Signal
 ( )
t
 
z t t
I ( ) cos ( )
 
 
z t t
Q ( ) 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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 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



 

Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 19
Calculation of the Instantaneous Frequency
 finst is obtained by a simple filtering of
the bit sequence ak by a FIR filter of
impulse response s(n).
Open Matlab routine
pul_phas.m to calculate s(n).
Explanation of parameters are
given in following slides.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 20
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 2
c c c
x t f t t t f t t f t
  
      
   
( ) ( )cos 2 ( )sin 2
I c Q c
x t z t f t z t f t
 
 
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 21
 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.
Baseband Components and Carriers
 
 
( ) cos ( )
( ) sin ( )
I
Q
z t t
z t t
 
 
 
 
I
Q
Carrier cos 2
Carrier sin 2
c
c
f t
f t




Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 22
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




    
  


Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 23
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
   

 


  
  

Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 24
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 25
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 26
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)
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 27
Results of Matlab Routine
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 28
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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 29
 
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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 30
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


  
  
   

   


Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 31
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 32
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 33
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 34
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


Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 35
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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 36
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 37
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
cos
cos N
N
i
N
i
i

 deb_cos = first address of the table
 mid_cos = address of the table middle
 cos(i ) is at address mid_cos + i
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 38
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 39
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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 40
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 41
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 
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 42
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)
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 43
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 44
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 45
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 46
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)
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 47
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-
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 48
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- ; ....
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 49
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 50
Illustration of the Phase Result Wrapped
Between - and 
 Plot under CCS the buffer of phase results
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 51
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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 52
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 53
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)
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 54
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 55
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 56
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 57
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 58
Results Observed in CCS
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 59
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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 60
Calculation of the Angle of the Carriers
   
( ) 2 ( 1) 2 ( 1)
S c S S c S s
nT f nT n T f T n T
     
       
 Recursive calculation of the angle :
 The precision of the generated
frequency depends on the precision of
.
 The phase increment  corresponds to
an increment I to the integer that
represents .
I=216fcTS rounded to the closest
integer.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 61
Calculation of the Angle of the Carriers
 If the number of samples per period of
the carrier is a power of 2, 2k:
 I=216fcTS=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-17fS.
 Error in the amplitudes of the carriers
due to finite precision of the table
reading. (possible interpolation).
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 62
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 63
Implementation on a C54x
 Here k=3 (8 samples per period) and the
increment
 I=216fcTS=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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 64
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.
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 65
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 66
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 67
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
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 68
Results Obtained with CCS
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 69
Tutorial
 The listing files for the precedent examples
can be found in the directory “tutorial”:
 Tutorial > Dsk5416 > Chapter 21 > Labs_modulation
Copyright © 2003 Texas Instruments. All rights reserved.
ESIEE, Slide 70
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.

Mais conteúdo relacionado

Semelhante a Frequency Modulation.ppt

On The Fundamental Aspects of Demodulation
On The Fundamental Aspects of DemodulationOn The Fundamental Aspects of Demodulation
On The Fundamental Aspects of DemodulationCSCJournals
 
chap4_lec1.ppt Engineering and technical
chap4_lec1.ppt Engineering and technicalchap4_lec1.ppt Engineering and technical
chap4_lec1.ppt Engineering and technicalshreenathji26
 
Amplitude Modulation.ppt
Amplitude Modulation.pptAmplitude Modulation.ppt
Amplitude Modulation.pptAbyThomas54
 
Analog Communication Engineering Lab Manual
Analog Communication Engineering Lab ManualAnalog Communication Engineering Lab Manual
Analog Communication Engineering Lab ManualAmairullah Khan Lodhi
 
Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Simen Li
 
AprTraining Basic Concept.pptx
AprTraining Basic Concept.pptxAprTraining Basic Concept.pptx
AprTraining Basic Concept.pptxRashiSharma658277
 
Solvedproblems 120406031331-phpapp01
Solvedproblems 120406031331-phpapp01Solvedproblems 120406031331-phpapp01
Solvedproblems 120406031331-phpapp01Rimple Mahey
 
Ch7 noise variation of different modulation scheme pg 63
Ch7 noise variation of different modulation scheme pg 63Ch7 noise variation of different modulation scheme pg 63
Ch7 noise variation of different modulation scheme pg 63Prateek Omer
 
Introduction of GPS BPSK-R and BOC
Introduction of GPS BPSK-R and BOCIntroduction of GPS BPSK-R and BOC
Introduction of GPS BPSK-R and BOCPei-Che Chang
 
Spacecraft RF Communications Course Sampler
Spacecraft RF Communications Course SamplerSpacecraft RF Communications Course Sampler
Spacecraft RF Communications Course SamplerJim Jenkins
 
Noise performence
Noise performenceNoise performence
Noise performencePunk Pankaj
 

Semelhante a Frequency Modulation.ppt (20)

On The Fundamental Aspects of Demodulation
On The Fundamental Aspects of DemodulationOn The Fundamental Aspects of Demodulation
On The Fundamental Aspects of Demodulation
 
chap4_lec1.ppt Engineering and technical
chap4_lec1.ppt Engineering and technicalchap4_lec1.ppt Engineering and technical
chap4_lec1.ppt Engineering and technical
 
Amplitude Modulation.ppt
Amplitude Modulation.pptAmplitude Modulation.ppt
Amplitude Modulation.ppt
 
Analog Communication Engineering Lab Manual
Analog Communication Engineering Lab ManualAnalog Communication Engineering Lab Manual
Analog Communication Engineering Lab Manual
 
13486500-FFT.ppt
13486500-FFT.ppt13486500-FFT.ppt
13486500-FFT.ppt
 
Baseline Wandering
Baseline WanderingBaseline Wandering
Baseline Wandering
 
Pixel rf
Pixel rfPixel rf
Pixel rf
 
Analog Communication Lab Manual
Analog Communication Lab ManualAnalog Communication Lab Manual
Analog Communication Lab Manual
 
Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1] Multiband Transceivers - [Chapter 1]
Multiband Transceivers - [Chapter 1]
 
Chapter2
Chapter2Chapter2
Chapter2
 
AprTraining Basic Concept.pptx
AprTraining Basic Concept.pptxAprTraining Basic Concept.pptx
AprTraining Basic Concept.pptx
 
ACS 22LIE12 lab Manul.docx
ACS 22LIE12 lab Manul.docxACS 22LIE12 lab Manul.docx
ACS 22LIE12 lab Manul.docx
 
Solvedproblems 120406031331-phpapp01
Solvedproblems 120406031331-phpapp01Solvedproblems 120406031331-phpapp01
Solvedproblems 120406031331-phpapp01
 
Gmsk
GmskGmsk
Gmsk
 
Ch7 noise variation of different modulation scheme pg 63
Ch7 noise variation of different modulation scheme pg 63Ch7 noise variation of different modulation scheme pg 63
Ch7 noise variation of different modulation scheme pg 63
 
IMT Advanced
IMT AdvancedIMT Advanced
IMT Advanced
 
Introduction of GPS BPSK-R and BOC
Introduction of GPS BPSK-R and BOCIntroduction of GPS BPSK-R and BOC
Introduction of GPS BPSK-R and BOC
 
Spacecraft RF Communications Course Sampler
Spacecraft RF Communications Course SamplerSpacecraft RF Communications Course Sampler
Spacecraft RF Communications Course Sampler
 
Noise performence
Noise performenceNoise performence
Noise performence
 
noise
noisenoise
noise
 

Mais de Stefan Oprea

Training-Book-Samsung.ppt
Training-Book-Samsung.pptTraining-Book-Samsung.ppt
Training-Book-Samsung.pptStefan Oprea
 
PRESENTATION ON TOUCH TECHNOLOGY.ppt
PRESENTATION ON TOUCH TECHNOLOGY.pptPRESENTATION ON TOUCH TECHNOLOGY.ppt
PRESENTATION ON TOUCH TECHNOLOGY.pptStefan Oprea
 
Web technologies-course 12.pptx
Web technologies-course 12.pptxWeb technologies-course 12.pptx
Web technologies-course 12.pptxStefan Oprea
 
Web technologies-course 11.pptx
Web technologies-course 11.pptxWeb technologies-course 11.pptx
Web technologies-course 11.pptxStefan Oprea
 
Web technologies-course 10.pptx
Web technologies-course 10.pptxWeb technologies-course 10.pptx
Web technologies-course 10.pptxStefan Oprea
 
Web technologies-course 09.pptx
Web technologies-course 09.pptxWeb technologies-course 09.pptx
Web technologies-course 09.pptxStefan Oprea
 
Web technologies-course 08.pptx
Web technologies-course 08.pptxWeb technologies-course 08.pptx
Web technologies-course 08.pptxStefan Oprea
 
Web technologies-course 07.pptx
Web technologies-course 07.pptxWeb technologies-course 07.pptx
Web technologies-course 07.pptxStefan Oprea
 
Web technologies-course 06.pptx
Web technologies-course 06.pptxWeb technologies-course 06.pptx
Web technologies-course 06.pptxStefan Oprea
 
Web technologies-course 05.pptx
Web technologies-course 05.pptxWeb technologies-course 05.pptx
Web technologies-course 05.pptxStefan Oprea
 
Web technologies-course 04.pptx
Web technologies-course 04.pptxWeb technologies-course 04.pptx
Web technologies-course 04.pptxStefan Oprea
 
Web technologies-course 03.pptx
Web technologies-course 03.pptxWeb technologies-course 03.pptx
Web technologies-course 03.pptxStefan Oprea
 
Web technologies-course 02.pptx
Web technologies-course 02.pptxWeb technologies-course 02.pptx
Web technologies-course 02.pptxStefan Oprea
 
Web technologies-course 01.pptx
Web technologies-course 01.pptxWeb technologies-course 01.pptx
Web technologies-course 01.pptxStefan Oprea
 
Fundamentals of Digital Modulation.ppt
Fundamentals of Digital Modulation.pptFundamentals of Digital Modulation.ppt
Fundamentals of Digital Modulation.pptStefan Oprea
 
Orthogonal Frequency Division Multiplexing.ppt
Orthogonal Frequency Division Multiplexing.pptOrthogonal Frequency Division Multiplexing.ppt
Orthogonal Frequency Division Multiplexing.pptStefan Oprea
 
Modulation tutorial.ppt
Modulation tutorial.pptModulation tutorial.ppt
Modulation tutorial.pptStefan Oprea
 
Comparison of Single Carrier and Multi-carrier.ppt
Comparison of Single Carrier and Multi-carrier.pptComparison of Single Carrier and Multi-carrier.ppt
Comparison of Single Carrier and Multi-carrier.pptStefan Oprea
 
OFDM and MC-CDMA An Implementation using MATLAB.ppt
OFDM and MC-CDMA An Implementation using MATLAB.pptOFDM and MC-CDMA An Implementation using MATLAB.ppt
OFDM and MC-CDMA An Implementation using MATLAB.pptStefan Oprea
 
Concepts of 3GPP LTE.ppt
Concepts of 3GPP LTE.pptConcepts of 3GPP LTE.ppt
Concepts of 3GPP LTE.pptStefan Oprea
 

Mais de Stefan Oprea (20)

Training-Book-Samsung.ppt
Training-Book-Samsung.pptTraining-Book-Samsung.ppt
Training-Book-Samsung.ppt
 
PRESENTATION ON TOUCH TECHNOLOGY.ppt
PRESENTATION ON TOUCH TECHNOLOGY.pptPRESENTATION ON TOUCH TECHNOLOGY.ppt
PRESENTATION ON TOUCH TECHNOLOGY.ppt
 
Web technologies-course 12.pptx
Web technologies-course 12.pptxWeb technologies-course 12.pptx
Web technologies-course 12.pptx
 
Web technologies-course 11.pptx
Web technologies-course 11.pptxWeb technologies-course 11.pptx
Web technologies-course 11.pptx
 
Web technologies-course 10.pptx
Web technologies-course 10.pptxWeb technologies-course 10.pptx
Web technologies-course 10.pptx
 
Web technologies-course 09.pptx
Web technologies-course 09.pptxWeb technologies-course 09.pptx
Web technologies-course 09.pptx
 
Web technologies-course 08.pptx
Web technologies-course 08.pptxWeb technologies-course 08.pptx
Web technologies-course 08.pptx
 
Web technologies-course 07.pptx
Web technologies-course 07.pptxWeb technologies-course 07.pptx
Web technologies-course 07.pptx
 
Web technologies-course 06.pptx
Web technologies-course 06.pptxWeb technologies-course 06.pptx
Web technologies-course 06.pptx
 
Web technologies-course 05.pptx
Web technologies-course 05.pptxWeb technologies-course 05.pptx
Web technologies-course 05.pptx
 
Web technologies-course 04.pptx
Web technologies-course 04.pptxWeb technologies-course 04.pptx
Web technologies-course 04.pptx
 
Web technologies-course 03.pptx
Web technologies-course 03.pptxWeb technologies-course 03.pptx
Web technologies-course 03.pptx
 
Web technologies-course 02.pptx
Web technologies-course 02.pptxWeb technologies-course 02.pptx
Web technologies-course 02.pptx
 
Web technologies-course 01.pptx
Web technologies-course 01.pptxWeb technologies-course 01.pptx
Web technologies-course 01.pptx
 
Fundamentals of Digital Modulation.ppt
Fundamentals of Digital Modulation.pptFundamentals of Digital Modulation.ppt
Fundamentals of Digital Modulation.ppt
 
Orthogonal Frequency Division Multiplexing.ppt
Orthogonal Frequency Division Multiplexing.pptOrthogonal Frequency Division Multiplexing.ppt
Orthogonal Frequency Division Multiplexing.ppt
 
Modulation tutorial.ppt
Modulation tutorial.pptModulation tutorial.ppt
Modulation tutorial.ppt
 
Comparison of Single Carrier and Multi-carrier.ppt
Comparison of Single Carrier and Multi-carrier.pptComparison of Single Carrier and Multi-carrier.ppt
Comparison of Single Carrier and Multi-carrier.ppt
 
OFDM and MC-CDMA An Implementation using MATLAB.ppt
OFDM and MC-CDMA An Implementation using MATLAB.pptOFDM and MC-CDMA An Implementation using MATLAB.ppt
OFDM and MC-CDMA An Implementation using MATLAB.ppt
 
Concepts of 3GPP LTE.ppt
Concepts of 3GPP LTE.pptConcepts of 3GPP LTE.ppt
Concepts of 3GPP LTE.ppt
 

Último

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 

Último (20)

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 

Frequency Modulation.ppt

  • 1. Chapter 21 Frequency Modulation GMSK Modulation DSP C5000 Copyright © 2003 Texas Instruments. All rights reserved.
  • 2. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 2 Learning Objectives  Overview of Digital Modulation  Understanding GMSK Modulation  Learning how to Implement a GMSK Modulator on a C54
  • 3. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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 c A f t    fc= Carrier frequency A = Carrier Amplitude  = Carrier phase  The 3 main parameters of the carrier: amplitude, phase and frequency can be modified to carry the information leading to: amplitude, phase and frequency modulation.
  • 6. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 7 What is the Complex Envelope z(t) of a Modulated Signal x(t) ?      . 2 sin ) ( 2 )cos ( ) ( ) ( 2 t f t z t f t z e t z t x c Q c I t f j c        fc= Carrier frequency   2 ( ) ( ) ( ) ( ) ( ) ( ) ( ) c j f t j t H I Q z t x t jx t e z t jz t A t e         z(t) = Complex envelope of x(t) zI(t), zQ(t) are the baseband components xH(t) = Hilbert transform of x(t) = x(t) with a phase shift of /2  . ) ( ) ( 2 1 ) ( c z c z x f f S f f S f S     Sx(f) = Power spectral density of x(t)
  • 8. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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 ) (        d s Normalization ak = Binary data = +/- 1 h = Modulation index = 0.5 s(t) = Gaussian frequency shaping filter s(t)= Elementary frequency pulse
  • 12. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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 c f t    sin 2 c f t 
  • 14. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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 duration MTb of the gaussian pulse is truncated to a value inversely proportional to B. BT = 0.5, MTb = 2Tb BT = 0.3, MTb = 3 or 4Tb
  • 15. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 15 Frequency and Phase Elementary Pulses -2 -1 0 1 2 0 0.1 0.2 0.3 0.4 0.5 BT b  BT b 05 , BT b 03 , t in number of bit periods Tb T g t b ( ) 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 is the convolution of a square pulse r(t) with a gaussian pulse h(t). Its duration is (M+1)Tb.
  • 16. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 16 GMSK Signals Binary sequence GMSK modulated Signal  ( ) t   z t t I ( ) cos ( )     z t t Q ( ) 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 19 Calculation of the Instantaneous Frequency  finst is obtained by a simple filtering of the bit sequence ak by a FIR filter of impulse response s(n). Open Matlab routine pul_phas.m to calculate s(n). Explanation of parameters are given in following slides.
  • 20. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 20 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 2 c c c x t f t t t f t t f t               ( ) ( )cos 2 ( )sin 2 I c Q c x t z t f t z t f t    
  • 21. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 21  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. Baseband Components and Carriers     ( ) cos ( ) ( ) sin ( ) I Q z t t z t t         I Q Carrier cos 2 Carrier sin 2 c c f t f t    
  • 22. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 22 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              
  • 23. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 23 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                
  • 24. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 24 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
  • 25. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 25 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
  • 26. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 26 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)
  • 27. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 27 Results of Matlab Routine
  • 28. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 28 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.
  • 29. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 29   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.
  • 30. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 30 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                   
  • 31. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 31 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
  • 32. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 32 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
  • 33. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 33 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
  • 34. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 34 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  
  • 35. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 35 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.
  • 36. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 36 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
  • 37. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 37 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 cos cos N N i N i i   deb_cos = first address of the table  mid_cos = address of the table middle  cos(i ) is at address mid_cos + i
  • 38. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 38 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
  • 39. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 39 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.
  • 40. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 40 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
  • 41. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 41 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 
  • 42. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 42 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)
  • 43. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 43 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
  • 44. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 44 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
  • 45. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 45 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
  • 46. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 46 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)
  • 47. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 47 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-
  • 48. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 48 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- ; ....
  • 49. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 49 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
  • 50. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 50 Illustration of the Phase Result Wrapped Between - and   Plot under CCS the buffer of phase results
  • 51. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 51 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.
  • 52. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 52 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
  • 53. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 53 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)
  • 54. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 54 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
  • 55. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 55 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
  • 56. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 56 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
  • 57. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 57 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 58 Results Observed in CCS
  • 59. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 59 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.
  • 60. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 60 Calculation of the Angle of the Carriers     ( ) 2 ( 1) 2 ( 1) S c S S c S s nT f nT n T f T n T                Recursive calculation of the angle :  The precision of the generated frequency depends on the precision of .  The phase increment  corresponds to an increment I to the integer that represents . I=216fcTS rounded to the closest integer.
  • 61. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 61 Calculation of the Angle of the Carriers  If the number of samples per period of the carrier is a power of 2, 2k:  I=216fcTS=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-17fS.  Error in the amplitudes of the carriers due to finite precision of the table reading. (possible interpolation).
  • 62. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 62 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
  • 63. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 63 Implementation on a C54x  Here k=3 (8 samples per period) and the increment  I=216fcTS=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.
  • 64. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 64 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.
  • 65. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 65 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
  • 66. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 66 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
  • 67. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 67 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. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 68 Results Obtained with CCS
  • 69. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 69 Tutorial  The listing files for the precedent examples can be found in the directory “tutorial”:  Tutorial > Dsk5416 > Chapter 21 > Labs_modulation
  • 70. Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 70 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.