Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 21 Frequency Modulation GMSK Modulation DSP C5000 Copyright © 2003 Texas Instruments. All rights reserved.

Similar presentations


Presentation on theme: "Chapter 21 Frequency Modulation GMSK Modulation DSP C5000 Copyright © 2003 Texas Instruments. All rights reserved."— Presentation transcript:

1 Chapter 21 Frequency Modulation GMSK Modulation DSP C5000 Copyright © 2003 Texas Instruments. All rights reserved.

2 ESIEE, Slide 2 Learning Objectives  Overview of Digital Modulation Overview of Digital Modulation Overview of Digital Modulation  Understanding GMSK Modulation Understanding GMSK Modulation Understanding GMSK Modulation  Learning how to Implement a GMSK Modulator on a C54 Learning how to Implement a GMSK Modulator on a C54 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: f c = 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) ? f c = Carrier frequency z(t) = Complex envelope of x(t) z I (t), z Q (t) are the baseband components x H (t) = Hilbert transform of x(t) = x(t) with a phase shift of  /2 S x (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

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) Normalization a k = 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

13 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 13 Architecture of a GMSK Modulator

14 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 14 Equation for the Gaussian Filter h(t) The duration MT b of the gaussian pulse is truncated to a value inversely proportional to B. BT = 0.5, MT b = 2T b BT = 0.3, MT b = 3 or 4T b

15 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 15 Frequency and Phase Elementary Pulses The elementary frequency pulse is the convolution of a square pulse r(t) with a gaussian pulse h(t). Its duration is (M+1)T b.

16 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 16 GMSK Signals Binary sequence GMSK modulated Signal  ()t  ztt I ()cos()   ztt Q ()sin()  5 1 05101520 0 1 05101520 0 1 t 05101520 1 0 t 05101520 -5 0 t 05101520 0 t t in rd

17 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 17 Power Spectral Density of GMSK Signals

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 z I and z Q and sends them to the DAC.  Or a modulated loop can be used.  In this case, the DSP generates the instantaneous frequency f inst signal that is sent to the DAC.

19 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 19 Calculation of the Instantaneous Frequency  f inst is obtained by a simple filtering of the bit sequence a k 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 z I and z Q are modulated in amplitude by the 2 quadrature carriers.

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 f c were not too high. Baseband Components and Carriers

22 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 22 Calculation of the Baseband Components on a DSP  Calculate the phase  at time mT S  T s the sampling frequency.  Read the value of cos(  ) and sin(  ) from a table.

23 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 23 Calculation of the Elementary Pulse Phase with Matlab  The elementary pulse phase  (mT S ) is calculated with Matlab and stored in memory.  The duration LT of the evolutive part of  (mT S ) depends on the value of BT.   is called phi in the matlab routine.

24 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 24 Calculation of the Elementary Pulse Phase with Matlab 1/2 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 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 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 

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 z I =cos(  ) and z Q =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 a 1  /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 = -2 15.  Maximum phase =  (1-2 15 ), Iphase = 2 15 -1.

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 2 16 /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:

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 .  Contents of the table: cosine of angles  i uniformly distributed between -  and .  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

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/4if 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.

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.

42 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 42 Testing the Generation of  on the C54x Buffers

43 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 43 Listing for the Calculation of  Definitions

44 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 44 Listing for the Calculation of  Macro for phase wrapping

45 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 45 Listing for the Calculation of  Initialization of Registers and Buffers 1/2

46 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 46 Listing for the Calculation of  Initialization of Registers and Buffers 2/2

47 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 47 Listing for the Calculation of  Calculation for the first L bits

48 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 48 Listing for the Calculation of  Calculation of the Following Bits 1/2

49 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 49 Listing for the Calculation of  Calculation of the Following Bits 2/2

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

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

55 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 55 Processing of the First L Bits 2/2

56 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 56 Processing of the Following bits 1 of 2

57 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 57 Processing of the Following Bits 2 of 2

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  f c t) and sin (2  f c t)  f c is the frequency of the carrier  In this example we choose f c =1/T  Sampling frequency = 1/Ts = f S  In RF applications, the carriers are not generated by the DSP. It is only possible to use the DSP for low values of f c.  The angle  (t)= 2  f c t 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  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  =2 16 f c T S 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, 2 k :   I  =2 16 f c T S =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 df c in f c :  |df c |<2 -17 f S.  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.

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  =2 16 f c T S =2 (16-k) =2 13  Simple case of f S /f c as an integer value, the table is read with an offset from the pointer = 16 = 2 7 /2 3 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

67 Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 67 Listing for the Generation of 2 Carriers 2 of 2

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 69Tutorial  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.


Download ppt "Chapter 21 Frequency Modulation GMSK Modulation DSP C5000 Copyright © 2003 Texas Instruments. All rights reserved."

Similar presentations


Ads by Google