GMSK implementation and simulation – part 1

What’s the need for GMSK

Minimum shift keying (MSK) is a special case of binary CPFSK with modulation index $latex h=0.5$. It has features such as constant envelope, compact spectrum and good error rate performance. The fundamental problem with MSK is that the spectrum is not compact enough to satisfy the stringent requirements with respect to out-of-band radiation for technologies like GSM and DECT standard. These technologies have very high data rates approaching the RF channel bandwidth. A plot of MSK spectrum (Figure 1) will reveal that the sidelobes with significant energy, extend well beyond the transmission data rate. This is problematic, since it causes severe out-of-band interference in systems with closely spaced adjacent channels.

Minimum shift keying (MSK) is a special case of binary CPFSK with modulation index $latex h=0.5$. It has features such as constant envelope, compact spectrum and good error rate performance. The fundamental problem with MSK is that the spectrum is not compact enough to satisfy the stringent requirements with respect to out-of-band radiation for technologies like GSM and DECT standard. These technologies have very high data rates approaching the RF channel bandwidth. A plot of MSK spectrum (Figure 1) will reveal that the sidelobes with significant energy, extend well beyond the transmission data rate. This is problematic, since it causes severe out-of-band interference in systems with closely spaced adjacent channels.

[table id = 38/]

PSD estimates for BPSK, QPSK and MSK signals
Figure 1: PSD estimates for BPSK, QPSK and MSK signals

To satisfy such requirements, the MSK spectrum can be easily manipulated by using a pre-modulation low pass filter (LPF). The pre-modulation LPF should have the following properties and it is found that a Gaussian LPF will satisfy all of them [1]

  • Sharp cut-off and narrow bandwidth – needed to suppress high frequency components.
  • Lower overshoot in the impulse response – providing protection against excessive instantaneous frequency deviations.
  • Preservation of filter output pulse area – thereby coherent detection can be applicable.

Pre-modulation Gaussian low pass filter

Gaussian Minimum Shift Keying (GMSK) is a modified MSK modulation technique, where the spectrum of MSK is manipulated by passing the rectangular shaped information pulses through a Gaussian LPF prior to the frequency modulation of the carrier. A typical Gaussian LPF, used in GMSK modulation standards, is defined by the zero-mean Gaussian (bell-shaped) impulse response.

Gaussian Minimum Shift Keying (GMSK) – implementation and simulation eqn 1

The parameter $latex B$ is the 3-dB bandwidth of the LPF, which is determined from a parameter called $latex BT_b$ as discussed next. If the input to the filter is an isolated unit rectangular pulse ($latex p(t)=1, 0 \leq t \leq T_b $), the response of the filter will be [2]

Gaussian Minimum Shift Keying (GMSK) – implementation and simulation eqn 2

where,

Gaussian Minimum Shift Keying (GMSK) – implementation and simulation eqn 3

It is important to note the distinction between the two equations – (1) and (2). The equation for $latex h(t)$ defines the impulse response of the LPF, whereas the equation for $latex g(t)$, also called as frequency pulse shaping function, defines the LPF’s output when the filter gets excited with a rectangular pulse. This distinction is captured in Figure 2.

Gaussian LPF: Relating h(t) and g(t)
Figure 2: Gaussian LPF: Relating h(t) and g(t)

The aim of using GMSK modulation is to have a controlled MSK spectrum. Effectively, a variable parameter called $latex BT_b$, the product of 3-dB bandwidth of the LPF and the desired data-rate $latex T_b$, is often used by the designers to control the amount of spectrum efficiency required for the desired application. As a consequence, the 3-dB bandwidth of the aforementioned LPF is controlled by the $latex BT_b$ design parameter. The range for the parameter $latex BT_b$ is given as $latex 0 < BT_b \leq \infty$. When $latex BT_b=\infty$, the impulse response $latex h(t)$ becomes a Dirac delta function $latex \delta(t)$, resulting in a transparent LPF and hence this configuration corresponds to MSK modulation.

The Matlab function to implement the Gaussian LPF’s impulse response (equation (1)), is given in the book (For Python implementation, refer this book). The Gaussian impulse response is of infinite duration and hence in digital implementations it has to be defined for a finite interval, as dictated by the function argument $latex k$ in the code shown next. For example, in GSM standard, $latex BT_b$ is chosen as 0.3 and the time truncation is done to three bit-intervals $latex k=3$.

It is also necessary to normalize the filter coefficients of the computed LPF as

Gaussian Minimum Shift Keying (GMSK) – implementation and simulation eqn 4

Based on the gaussianLPF Matlab function, given in the book (For Python implementation, refer this book), we can compute and plot the impulse response $latex h(t)$ and the response to an isolated unit rectangular pulse – $latex g(t)$. The resulting plot is shown in Figure 3.

Gaussian LPF:(a) impulse response and (b) response to isolated rectangular pulse
Figure 3: Gaussian LPF:(a) impulse response and (b) response to isolated rectangular pulse

Rate this article: [ratings]

References

[1] Murota, K. and Hirade, K., GMSK Modulation for Digital Mobile Radio Telephony, IEEE Transactions on Communications, vol COM-29, No. 7. pp. 1044-1050, July 1981.↗
[2] Marvin K. Simon, Bandwidth-Efficient Digital Modulation with Application to Deep Space Communications, JPL Deep Space Communications and Navigation Series,Wiley-Interscience, Hoboken, New Jersey, 2003, ISBN 0-471-44536-3,pp-57.↗

Books by the author

[table id=23 /]

Topics in this chapter

[table id=29 /]

Leave a Comment