Chapter 21 Frequency Modulation GMSK Modulation

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

1 A B C
Chapter 19 Fast Fourier Transform
Chapter 4 Sampling Distributions and Data Descriptions.
Simplifications of Context-Free Grammars
Variations of the Turing Machine
AP STUDY SESSION 2.
1
Select from the most commonly used minutes below.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2003 Chapter 3 Data Transmission.
1 Chapter 3 Digital Communication Fundamentals for Cognitive Radio Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski,
Sequential Logic Design
Processes and Operating Systems
Copyright © 2013 Elsevier Inc. All rights reserved.
HANDBOOK ON GREEN INFORMATION AND COMMUNICATION SYSTEMS
STATISTICS HYPOTHESES TEST (I)
STATISTICS POINT ESTIMATION Professor Ke-Sheng Cheng Department of Bioenvironmental Systems Engineering National Taiwan University.
David Burdett May 11, 2004 Package Binding for WS CDL.
Create an Application Title 1Y - Youth Chapter 5.
CALENDAR.
1 OFDM Synchronization Speaker:. Wireless Access Tech. Lab. CCU Wireless Access Tech. Lab. 2 Outline OFDM System Description Synchronization What is Synchronization?
Media-Monitoring Final Report April - May 2010 News.
Biostatistics Unit 5 Samples Needs to be completed. 12/24/13.
Break Time Remaining 10:00.
Factoring Quadratics — ax² + bx + c Topic
PULSE MODULATION TECHNIQUES
Turing Machines.
1 The Beauty of Mathematics in Communications R. C. T. Lee Dept. of Information Management & Dept. of Computer Science National Chi Nan University.
FIGURE 6-1 Comparison of: (a) ac waveform: (b) dc waveform; (c) dc variable power supply and battery-sources of dc; (d) function generator-a source.
PP Test Review Sections 6-1 to 6-6
Chapter 10: Applications of Arrays and the class vector
Briana B. Morrison Adapted from William Collins
The Fourier Transform I
Operating Systems Operating Systems - Winter 2010 Chapter 3 – Input/Output Vrije Universiteit Amsterdam.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
Adding Up In Chunks.
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
Artificial Intelligence
S Transmission Methods in Telecommunication Systems (5 cr)
Before Between After.
Slide R - 1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Prentice Hall Active Learning Lecture Slides For use with Classroom Response.
Subtraction: Adding UP
: 3 00.
5 minutes.
1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.
1 Let’s Recapitulate. 2 Regular Languages DFAs NFAs Regular Expressions Regular Grammars.
Types of selection structures
Speak Up for Safety Dr. Susan Strauss Harassment & Bullying Consultant November 9, 2012.
1 Titre de la diapositive SDMO Industries – Training Département MICS KERYS 09- MICS KERYS – WEBSITE.
Essential Cell Biology
FIGURE 12-1 Op-amp symbols and packages.
Converting a Fraction to %
Numerical Analysis 1 EE, NCKU Tien-Hao Chang (Darby Chang)
Clock will move after 1 minute
PSSA Preparation.
Copyright © 2013 Pearson Education, Inc. All rights reserved Chapter 11 Simple Linear Regression.
Chapter 13: Digital Control Systems 1 ©2000, John Wiley & Sons, Inc. Nise/Control Systems Engineering, 3/e Chapter 13 Digital Control Systems.
Physics for Scientists & Engineers, 3rd Edition
Thomas L. Floyd Digital Fundamentals, 9e
Energy Generation in Mitochondria and Chlorplasts
Select a time to count down from the clock above
Copyright Tim Morris/St Stephen's School
1.step PMIT start + initial project data input Concept Concept.
9. Two Functions of Two Random Variables
Math Review with Matlab:
Chapter 4 FUGACITY.
Chapter 21 Frequency Modulation GMSK Modulation DSP C5000 Copyright © 2003 Texas Instruments. All rights reserved.
Presentation transcript:

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

Learning Objectives Overview of Digital Modulation Understanding GMSK Modulation Learning how to Implement a GMSK Modulator on a C54

Digital Modulations Baseband and bandpass signalling are used to transmit data on physical channels such as telephone cables or radiofrequency channels. The source of data (bits or symbol) may be a computer file or a digitized waveform (speech, video…) The transmitted signal carries information about the data and its characteristic changes at the same rate as the data. When the signal carrying the data information Extends from 0 Hz upwards, the term baseband signalling is used. Has its power centered on a central frequency fc, the term bandpass signalling or modulation is used.

Digital Modulation Modulation is used because: The channel does not include the 0 Hz frequency and baseband signalling is impossible The bandwidth of the channel is split between several channels for frequency multiplexing For wireless radio-communications, the size of the antenna decreases when the transmitted frequency increases.

Carrier Frequency In simple modulation schemes, a single frequency signal, the carrier, is modified at the rate of the data. The carrier is commonly written as: 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.

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 Modulation with constant envelope are robust to the non-linearities of the emitter or of the channel in mobile communications. They are also more robust to fading than modulation using the carrier amplitude to carry information. PSK = Phase Shift Keying OQPSK = Offset Phase Shift Keying 16QAM = QAM modulation with 16 different states For amplitude-phase. Spectral efficiency can be defined as the number of bits per second that can be transmitted in 1 Hz bandwidth with a given error probability. In multicarrier modulation, the data are sent in parallel to several carriers that are modulated and summed. OFDM = Orthogonal Frequency Modulation DMT = digital MultiTone

What is the Complex Envelope z(t) of a Modulated Signal x(t) ? fc= Carrier frequency 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 Cos(2  fct) and sin(2fct) are called quadrature carriers because they have a phase difference equal to /2. The 2 signals zI and zQ are sometimes called quadrature components because they modulate the 2 quadrature carriers. Sx(f) = Power spectral density of x(t)

Complex Envelope z of a Modulated Signal x Frequency Domain

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. GSM = Global System for Mobile communications (ETSI standard for 2nd generation cellular mobile communications) DECT = Digital European Cordless Telephone

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 The Gaussian filter is used to limit the bandwidth of the modulated signal. It is a good compromise between the bandwidth of the modulated signal and the length of the impulse response of the filter. Other shapes of spectral shaping filter could be used. MSK = Minimum Shift Keying binary modulation uses the smallest possible frequency spacing corresponding to orthogonal frequencies. f=1/(2T) where T is the bit duration.

GMSK Modulation, Expression for the Modulated Signal x(t) ak = Binary data = +/- 1 h = Modulation index = 0.5 The instantaneous frequency of the signal carries the information about the data ak. Normalization s(t) = Gaussian frequency shaping filter s(t)= Elementary frequency pulse

GMSK Elementary Phase Pulse

Architecture of a GMSK Modulator Here the term VCO means voltage controlled oscillator.

Equation for the Gaussian Filter h(t) 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

Frequency and Phase Elementary Pulses - 2 1 0.1 0.2 0.3 0.4 0.5 BT b = +¥ 5 , 3 t in number of bit periods Tb T g t ( ) Elementary frequency pulse -2 -1 0.6 0.8 1.2 1.4 1.6 t in number of bit period Tb . Elementary phase pulse j /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.

GMSK Signals F ( ) t z cos = sin Binary sequence GMSK modulated Signal 5 1 10 15 20 -1 -5 in rd

Power Spectral Density of GMSK Signals

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.

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.

Expression for the Baseband Components The baseband components zI and zQ are modulated in amplitude by the 2 quadrature carriers.

Baseband Components and Carriers 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. Here RF means Radio Frequency/

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.

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.

Calculation of the Elementary Pulse Phase with Matlab 1/2 Beginning of the matlab routine Open Matlab routine pul_phas.m

Calculation of the Elementary Pulse Phase with Matlab 2/2 End of the matlab routine

Using the Matlab Routine Start Matlab Use: T_over_Ts=8 L=4 T=1 BT=0.3 call the routine using to calculate the phase pulse phi ( ) and the pulse s: [phi,s]=pul_phas(T_over_Ts,L,BT,T) Plot the phase phi and the shaping pulse s plot(phi) plot(s) phi =  = elementary phase pulse s= elementary frequency pulse.

Results of Matlab Routine

Results for phi For L=4 and T_over_Ts=8, we obtain 32 samples for phi. Matlab gives the following values for phi: Phi= [0.0001, 0.0002, 0.0005, 0.0012, 0.0028, 0.0062, 0.0127, 0.0246, 0.0446, 0.0763, 0.1231, 0.1884, 0.2740, 0.3798, 0.5036, 0.6409, 0.7854, 0.9299, 1.0672, 1.1910, 1.2968, 1.3824, 1.4476, 1.4945, 1.5262, 1.5462, 1.5581, 1.5646, 1.5680, 1.5696, 1.5703, 1.5706] After this evolutive part of phi, phi stays equal to /2 (1.57). To calculate , the evolutive part and the constant part of the elementary phase pulse phi are treated separately.

Calculation of  Separation of evolutive and constant parts of phi.

Memory Part and Evolutive Part of 

Recursive Calculation of  Names of variables Phase =  phi = array of evolutive part of , Nphi samples = LT/Ts Ns = number of samples per bit = T/Ts an = binary sequence (+/- 1) 2 calculation steps: Calculate  Calculate zI=cos() and zQ=sin() by table reading

Calculation of : Initialization Initialization step: L first bit periods, phimem = 0 At bit L+1, phimem is set to a1 /2. Principle of the initialization processing: FOR i=1 to i=L for j=(i-1)Ns+1 to j=(i-1)Ns+Nphi phase((i-1)Ns+j)= phase((i-1)Ns+j)+phi(j)an(i) Endfor endFOR phimem=an(1) /2

Calculation of : After Initialization FOR i=L+1 to last_bit For j=(i-1)Ns+1 to j=(i-1)Ns+Nphi phase((i-1)Ns+j)= phase((i-1)Ns+j)+phi(j)an(i) endFor For j=(i-1)Ns+1 to j=i Ns phase((i-1)Ns+j)= phase((i-1)Ns+j)+phimem xi=cos(phase(i-1)Ns+j) xq=sin(phase((i-1)Ns+j) phimem=phimem+pi/2 an(i+1-L) endFOR

Coding and Wrapping the Phase Table The phase value in [-,[ is represented by the 16-bit number Iphase Minimum phase = -, Iphase = -215. Maximum phase = (1-215), Iphase = 215-1.

Index for the table in Phase Calculation Phase increment between 2 table values: 2 / Ncos and on Iphase 216/Ncos For Iphase, the index of the table is: i= Ncos Iphase 2-16 Here Ncos 2-16 = 2-9, So the index in the table is given by shifting Iphase 9 bits to the right.

Coding of phi The quantized values of phi can be obtained with Matlab: phi= round(phi*2^15/pi); phi is defined and initialized in the file phi03.asm as:

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 .  deb_cos = first address of the table mid_cos = address of the table middle cos(i ) is at address mid_cos + i

Calculation of sin() and cos() by Table Lookup Conversion of the phase modulo 2: Wrapping phase in [-,[ Done by a macro: testa02pi

Generating the Sine Values from a Table of Cosine Values To generate sin() from the table of cosine values, we use: cos(/2 - ) or cos(-/2 + ) or cos(3/2+ ) If i is the index of the cosine, for the sine we use: i-Ncos/4 if i>= -Ncos/4 i+3Ncos /4 if i < Ncos/4.

Implementation on a C54x, Test Sequence We can test the GMSK modulation on a given periodical binary sequence an: an=[ 0 1 1 0 0 1 0 1 0 0] These bits are stored in a circular buffer: Size NB = 10 Declaration of a section bits aligned on an address which is a multiple of 16 bits.

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.

Testing the Generation of  on the C54x Buffers

Listing for the Calculation of  Definitions

Listing for the Calculation of  Macro for phase wrapping

Listing for the Calculation of  Initialization of Registers and Buffers 1/2

Listing for the Calculation of  Initialization of Registers and Buffers 2/2

Listing for the Calculation of  Calculation for the first L bits

Listing for the Calculation of  Calculation of the Following Bits 1/2

Listing for the Calculation of  Calculation of the Following Bits 2/2

Illustration of the Phase Result Wrapped Between - and  Plot under CCS the buffer of phase results

Generation of the Baseband Components zI=cos() and zQ=sin() We calculate zI and zQ and we do not need to save the phase any more. We output ZI and Zq, in this example on DXR0 and DXR1. We need the table of constants for the values of cosine. This table is defined in the file tabcos.asm The cosine values are given in format Q14.

File tabcos.asm

Listing for the Calculation of zI and zQ The listing for definitions and initializations is the same as before. Processing of the L first bits, Processing of the other bits (infinite loop)

Processing of the First L Bits 1/2

Processing of the First L Bits 2/2

Processing of the Following bits 1 of 2

Processing of the Following Bits 2 of 2

Results Observed in CCS

Generation of 2 Quadrature Carriers cos(2fct) and sin (2fct) fc is the frequency of the carrier In this example we choose fc=1/T Sampling frequency = 1/Ts = fS In RF applications, the carriers are not generated by the DSP. It is only possible to use the DSP for low values of fc. The angle (t)= 2fct is calculated then the value of cos() is read from a table.

Calculation of the Angle of the Carriers Recursive calculation of the angle : 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.

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).

Implementation on a C54x We use: fs/fc=8=Ns. The cosine table has 128 Values in Q14.

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.

Generation of the Cosine and Sine Carriers For the cosine: The circular buffer containing the cosine values (length N) is accessed with AR1. Incremented by the content of AR0=16. AR1 initialized with deb_cos. For the sine: Same circular buffer accessed by AR2. AR2 initialized with deb_cos + Ncos/4. Decremented by AR0=16. Outputs (cos and sin) are sent to DXR0 and DXR1.

Generation of quadrature 2 Carriers File porteuse.asm A file associated with DXR0 and DXR1 is used to save visual results obtained with the CCS simulator. Here cosine table goes from: 0 to 2

Listing for the Generation of 2 Carriers 1 of 2

Listing for the Generation of 2 Carriers 2 of 2

Results Obtained with CCS

Tutorial The listing files for the precedent examples can be found in the directory “tutorial”: Tutorial > Dsk5416 > Chapter 21 > Labs_modulation

Further Activities Application 5 for the TMS320C5416 DSK and for the TMS320C5510. Alien Voices. A very simple application showing the effect of modulation on audio frequencies. It shows how the carrier causes sum and difference frequencies to be generated. Here it is used to generate the strange voices used for aliens in science fiction films and television.