GMSK Modulation & Demodulation: Symbol Detection & Viterbi Decoding, Papers of Communications Engineering

The implementation of gaussian minimum shift keying (gmsk) modulation and demodulation using symbol by symbol detection and viterbi decoding. The report covers the principles of gmsk, its laurent representation, and the design of coherent gmsk receivers for bt=0.5 and bt=0.3. It also discusses the impact of inter symbol interference (isi) on gmsk performance and the advantages of using a linearized mlse gmsk demodulator.

Typology: Papers

2023/2024

Uploaded on 01/07/2024

ankesh-chandra-1
ankesh-chandra-1 🇬🇧

1 document

1 / 26

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Gaussian Minimum Shift Keying
(GMSK) Modulation and Demodulation
Boddu Naresh Goud
EE10B006
May 17, 2014
Prof. David Koilpillai
Department of Electrical Engineering
IIT Madras
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Partial preview of the text

Download GMSK Modulation & Demodulation: Symbol Detection & Viterbi Decoding and more Papers Communications Engineering in PDF only on Docsity!

Gaussian Minimum Shift Keying

(GMSK) Modulation and Demodulation

Boddu Naresh Goud

EE10B

May 17, 2014

Prof. David Koilpillai

Department of Electrical Engineering

IIT Madras

Contents

  • 1 Introduction
    • 1.1 Motivation
    • 1.2 Organization of the thesis
  • 2 GMSK and its Laurent representation
    • 2.1 GMSK
    • 2.2 GMSK Modulation
    • 2.3 Laurent representation of Continous Pulse Modulation(CPM)
    • 2.4 GMSK BT=0.3, L=3 Laurent representation
    • 2.5 AWGN Channel
  • 3 GMSK Demodulator for BT=0.5
    • 3.1 Demodulator
    • 3.2 Plot for BER Vs SNR(db)
  • 4 GMSK Demodulator for BT=0.3
    • 4.1 Symbol by symbol detection(Without Viterbi)
    • 4.2 Plot for BER Vs SNR(db) for BT=0.3 without Viterbi.
    • 4.3 MLSE using Viterbi Decoding for BT=0.3
      • 4.3.1 Estimating h 0 , h 1 , h 2 :
    • 4.4 Plot for BER Vs SNR(db) for BT=0.3 using Viterbi Algorithm.
  • 5 GMSK Demodulation in at fading
    • 5.1 Plot for BER Vs SNR(db) for BT=0.5
    • 5.2 Plot for BER Vs SNR(db) for BT=0.3 using Viterbi
  • 6 GMSK Demodulation in multipath fading
  • 7 Conclusion

1 Introduction

1.1 Motivation

The need for people to communicate with each other anytime, anywhere has greatly expanded the eld of wireless communication. Due to user's demands for more and better wireless services, there is a need for higher transmission bandwidth. However, in a wireless communication system, adding bandwidth is not as easy as in a wire- line system. As a result, spectral congestion becomes a serious problem. Spectrally ecient modulation scheme, which maximize the bandwidth eciency, is a very promising solution. To achieve spectral eciency, certain modulation constraints are imposed, which lead to a more complex receiver design. wireless communication becomes more popular, there is also a big demand for a more compact receiver. Therefore, there is a need to reduce the complexity of the receiver structures without losing much performance. Gaussian Minimum Shift Keying(GMSK) is a spectrum and power ecient modula- tion scheme, used in many wireless communication systems. The GSM cellular, Cellular Digital Packet Data (CDPD) and Mobitex standards are some of the best known uses of GMSK. However, because of the phase modulation and Gaussian ltering, GMSK is not a linear modulation scheme. It is well known that the receiver structure for a linear modulation scheme(e.g. Pulse Amplitude Modulation) is less complex than that for the nonlinear modulation scheme.The goal of this thesis is to attempt to reduce the complex- ity of GMSK receiver by using a linear approximation of GMSK and coherent detection. The reduction in demodulation cornplexity is achicved by using the Laurent represcnta- tion of GMSK. The Laurent representation decomposes Continuous Phase Modulation (CPM) signals into summations of PAM signals. It has been successfully implemented in [1], [3] to reduce the complexity of coherent CPM receivers.

1.2 Organization of the thesis

Chapter 2 presents a brief tutorial on GMSK, the Laurent representation, AWGN chan- nel. Chapter 3 describes the design of simple coherent GMSK receiver for BT=0.5 based on Laurent representation. It's performance in the AWGN channel will be compared to a corresponding coherent MSK receiver. Chapter 4 describes the design of reduced- complexity coherent GMSK receiver for BT=0.3 based on Laurent representation. It's performance in the AWGN channel will be compared to a corresponding coherent MSK receiver.Chapter 5 describes the design of coherent GMSK receiver in at fading chan- nel.Chapter 6 provides a summary and conclusions of this thesis along with suggestions for further research.

2 GMSK and its Laurent representation

2.1 GMSK

Gaussian Minimum Shift Keying belongs to the class of CPM schemes CPM is a modula- tion scheme in which the phase of the carrier is instantaneously varied by the modulating signal while the RF signal envelope is kept constant. Due to the constant envelope, the CPM signals are not sensitive to amplier nonlinearities, which results in a more compact power spectrum. The Baseband GMSK signal can be represented as

s(t) = exp(j ∗ ϕ(t, α))

. ϕ(t, α) is the Phase of the signal given by

ϕ(t, α) = pi ∗ h ∗

ˆ^ t

−inf

i∑=n

i=

α[i]g(t − iT ))

The Phase can be written as

ϕ(t, α) = pi ∗ h ∗

i∑=n

i=

α[i]q(t − i ∗ T )

where

q(t) =

ˆ^ t

−inf

g(τ )dτ

g(t)is the impulse response of the premodulation lter given by

g(t) = B

√ 2 pi ln(2)

exp[ − 2 pi^2 B^2 t^2 ln(2)

]

Bis the 3 db bandwidth of the lter.By convention, B is normally expressed in terrns of the inverse of T; therefore the 3-dB bandwidth of lter is dened as BT. The frequency pulse g(t) for GMSK is :

g(t) =

2 T

{Q(2pi ∗ B (t − T 2 ) √ ln 2

) − Q(2pi ∗ B (t + T 2 ) √ ln 2

d(t) =

i∑=n

i=

α[i]g(t − i ∗ T )

g(t) is the gaussian pulse and H(f ) is the Gaussian frequency response.

g(t) =

2 T

{Q(2pi ∗ B

(t − T 2 ) √ ln 2

) − Q(2pi ∗ B

(t + T 2 ) √ ln 2

where Q(t) =

ˆ (^) inf

t

2 pi

exp( −τ 2 2

)dτ

and H(f ) = exp( − ln 2 2 B^2 f 2 )

α[i] is the Input NRZ Sequence. h is modulation index. For GMSK h = 12. The resulting signal d(t)is passed through a Integrator to get the phase of the signal. Phase of the signal can be written as

ϕ(t, α) = pi ∗ h ∗

ˆ (^) t=t

t=−inf

i∑=n

i=

α[i]g(t − i ∗ T )

The Phase can be written as

ϕ(t, α) = pi ∗ h ∗

i∑=n

i=

α[i]q(t − i ∗ T )

where

q(t) =

ˆ^ t

−inf

g(τ )dτ

. The In-phase component of the baseband representation is the Cosine of the phase generated and the Quadrature component of the baseband representation is the Sine of the phase generated.

I = cos(ϕ(t, α))

Q = sin(ϕ(t, α))

s(t) = I + j ∗ Q

2.3 Laurent representation of Continous Pulse

Modulation(CPM)

In baseband, CPM signals can be represented as s(t) = exp(j ∗ ϕ(t, α)), where

ϕ(t, α) = pi ∗ h ∗

i∑=n

i=

α[i]q(t − i ∗ T )

. For nT< t < nT + T, we have

s(t) = exp(jpi ∗ h

i=∑n−L

i=

α[i])

i∏=n

i=n−L+

exp[j ∗ h ∗ pi ∗ α[i] ∗ q(t − iT )] (2.1)

Let J = exp(j ∗ pi ∗ h) , then Jα[i]^ = cos(pi ∗ h) + jα[i] sin(pi ∗ h).Using this relation, the product terms of (2.1) can be expressed as

exp[j ∗ pi ∗ hα[i]q(t − iT )] = cos(pi ∗ hq(t − iT )) + jα[i] sin(pi ∗ hq(t − iT ))

= Jα[i]^ sin[pi ∗ hq(t − iT )] sin(pi ∗ h)

sin[pi ∗ h − pi ∗ hq(t − iT )] sin(pi ∗ h)

If we also notice that 1 − q(t) = q(LT ) − q(t) = q(LT − t) and dene

C(t) =

sin[pi ∗ h − pi ∗ hq(t)] sin(pi ∗ h) : 0 ≤ t ≤ LT

C(t) = C(−t) : 0 ≤ t ≤ LT

a 0 [n − L] = exp(j ∗ pi ∗ h

i=∑n−L

i=

α[i])

we have

s(t) = exp(jpi ∗ h

i=∑n−L

i=

α[i])

i∏=n

i=n−L+

exp[j ∗ h ∗ pi ∗ α[i] ∗ q(t − iT )]

= a 0 [n − L]

i∏=n

i=n−L+

[Jα[i]C(t − iT − LT ) + C(t − iT )] (2.2)

Expanding 2.2 ,Laurent shows that there are only 2 L−^1 dierent pulses and each pulse is obtained by the product of L shifted version of C(t). For binary GMSK(h=0.5.& J=j), it can be shown that the Laurent representation is given by

2.5 AWGN Channel

s(t) is the transmitted signal. r(t) is the received signal. If the transmitted signal is passed through a AWGN Channel of SN R(db), then r(t) = s(t) + n(t) : where SN R = 10 log E(||s(t)||^2 ) E(||n(t)||^2 ) where s(t) is the transmitted signal, n(t) represents complex additive Gaussian noise with a one-sided power spectral density of N.

3 GMSK Demodulator for BT=0.

For the BT=0.5 , g(t) for 3T is plotted in following gure :

q(t)is for 3T is plotted in the following gure :

One can infer that most of the pulse energy in g(t) is located in between samples 9- (One Symbol Time period). So the ISI , Intersymbol Interference is negligible in this case and can be neglected. Thus , one should be able to acheive optimal performance

3.2 Plot for BER Vs SNR(db)

4 GMSK Demodulator for BT=0.

For the BT=0.3, g(t) for 3T is plotted in following gure :

q(t) for 3T is plotted in the following gure :

If we look at the Gaussian pulse g(t) , we can infer that g(t) is spread out in 3 Symbol time periods. Thus one can expect ISI (Inter Symbol Interference) in the modulation. The Gaussian pre-lter in GMSK modulation for BT =0.3 introduces intersymbol in-

4.2 Plot for BER Vs SNR(db) for BT=0.3 without Viterbi.

4.3 MLSE using Viterbi Decoding for BT=0.

As we can see, the symbol by symbol detection is not performing well because of ISI(Inter- Symbol Interference) caused because of narrowing down the bandwidth. One solution to improve the performance and remove the ISI(Inter-Symbol Interference) is MLSE(Maximum Likelihood Sequence Estimation) using the Viterbi Algorithm. The demodulator for BT=0.3 using Viterbi Decoding :

In baseband, CPM signals can be represented as s(t) = exp(j ∗ ϕ(t, α)), where

ϕ(t, α) = pi ∗ h ∗

i∑=n

i=

α[i]q(t − i ∗ T )

. For nT< t < nT + T, we have

s(t) = exp(jpi ∗ h

i=∑n−L

i=

α[i])

i∏=n

i=n−L+

exp[j ∗ h ∗ pi ∗ α[i] ∗ q(t − iT )]

In the above case for BT=0.3 , L = 3. For nT< t < nT + T, we have

s(t) = exp(jpi ∗ h

i=∑n− 3

i=

α[i])

i∏=n

i=n− 2

exp[j ∗ h ∗ pi ∗ α[i] ∗ q(t − iT )]

s(t) = exp(jpi∗h

i=∑n− 3

i=

α[i]){exp[j∗h∗pi∗α[i]∗q(t−(n−2)T )]∗exp[j∗h∗pi∗α[i]∗q(t−(n−1)T )]∗exp[j∗h∗pi∗α[i

implies at t=nT ,

s(nT ) = exp(j∗pi∗h

i=∑n− 3

i=

α[i]){exp[j∗h∗pi∗α[n−2]∗q(2T )]∗exp[j∗h∗pi∗α[n−1]∗q(T )}

So, the state at Sn at t=nT can be represented in terms of (θn, α[n−1], α[n−2]) and the received signal can be written as θnbeing the phase accumulatedexp(j ∗pi∗h

∑i=n− 3 i=0 α[i])

r(nT ) = s(nT ) + z(nT )

The optimal MLSE demodulator for GMSK requires 4 ∗ 2 L−^1 (where L is the ISI duration in bit intervals) states on AWGN channels. 2 L−^1 for previous two symbols interfering with current symbol and 4 for the θn. θn can take values of pi/ 2 or pi or 3 ∗ pi/ 2 or 0. Thus for BT=0.3 we need 16 state viterbi algorithm to optimally estimate the sequence of bits sent through MLSE. The 16 states of the MLSE demodulator can be reduced to 4 by using Laurent Linear Representation of the transmitted sigmal and demodulating it accordingly as shown in the demodulator diagram. By using Laurent Linear Representation , For GMSK with BT=0.3 and L=3, s(t) can be represented by 4 PAM signals

s(t) =

∑^3

k=

∑ n

jnak,nhk[t − nT ]

h 0 (t) = C(t − 3 T )C(t − 2 T )C(t − T ) : 0 ≤ t ≤ 4 T

· · · · · · represent that current symbol is -1 while → represent that current symbol is + . and the branch metric calculations branchmetric(n) = ||a(n) − ˆa(n))||^2 where a(n) is the received signal after multiplying bnwith j−n. ˆa(n) can be written as h 0 a(n)+h 1 a(n−

    • h 2 a(n − 2) since past two symbols are interfering with the current symbol. h 0 , h 1 , h 2 are estimated by using a training sequence of 200 symbols.

4.3.1 Estimating h 0 , h 1 , h 2 :

Estimating h 0 , h 1 , h 2 is done by sending known symbols. Let us send around 200 symbols which are known at the receiver. Let the sent symbols be α(0), α(1), α(2), .......α(198), α(199) and dierentially encoded symbols are a(0), a(1), a(2), a(3), .......a(198), a(199). and the received symbols be a(0)ˆ , a(1)ˆ , a(2)ˆ ..... a(198)ˆ ,a( Then a(ˆr) = h 0 a(r) + h 1 a(r − 1) + h 2 a(r − 2) r = 2, 3 , ...., 199

which implies that Y = XH where Y =

    

a(2)^ ˆ a(3)ˆ a(4)ˆ ... a(199)^ ˆ

    

X =

   

a(2) a(1) a(0) a(3) a(2) a(1) a(4) a(3) a(2) ... ... ... a(199) a(198) a(197)

   ^ H^ =



h 0 h 1 h 2

 

Using LMS Solution , we can nd H =

( XT^ X

)− 1 XT^ Y Once h 0 , h 1 , h 2 are estimated , we can calculate the branchmetric as followed:

branchmetric(n) = ||a(n) − {h 0 a(n) + h 1 a(n − 1) + h 2 a(n − 2)}||^2

Then MLSE (Maximum Likelihood Sequence Estimation) can be done using Standard Viterbi Algorithm.

4.4 Plot for BER Vs SNR(db) for BT=0.3 using Viterbi

Algorithm.