(2 votes, average: 5.00 out of 5)

# Simulating Minimum Shift Keying Transmitter

by on January 19, 2008

Minimum shift keying (MSK) is an important concept to learn in digital communications. It is a form of continuous phase frequency shift keying . In minimum phase shift keying, two key concepts are used.

(a) The frequency separation of the sinusoidals used for representing bits 1′s and 0′s are $\frac{1}{2T}$, where $T$ is the symbol period.

(b) It is ensured that the resulting waveform is phase continuous.

## Motivation of continuous phase

In a previous post (here), we have understood that the minimum frequency separation for two sinusoidals having zero phase difference to be orthogonal is $\frac{1}{2T}$, where $T$ is the symbol period. However, it can be observed that at each symbol boundary, there is a phase discontinuity. The presence of phase discontinuities can result in large spectral side lobes outside the desired bandwidth. Hence the need for having a frequency modulated signal which is phase continuous.

## Phase growth in MSK

To ensure continuous phase, the phase of the carrier of the MSK signal is
$\theta(t) = \frac{pi}{2}\left(\frac{t-nT}{T}\right)a_n + \frac{\pi}{2}\sum_{k=-\infty}^{n-1}a_k$, where

$T$ is the symbol period,
$a_n$ corresponds to -1 for bit 0, +1 for bit 1 respectively.

The corresponding carrier signal is
$\begin{eqnarray}u(t) &=& \sqrt{\frac{2E}{T}} cos[2\pi f_c t + \theta (t) ] \\ & = & \sqrt{\frac{2E}{T}} cos[2\pi f_c t + \frac{pi}{2}\left(\frac{t-nT}{T}\right)a_n + \frac{\pi}{2}\sum_{k=-\infty}^{n-1}a_k] \\ & = & \sqrt{\frac{2E}{T}} cos[2\pi (f_c + \frac{1}{4T}a_n)t - \frac{n\pi}{2}a_n + \frac{\pi}{2}\sum_{k=-\infty}^{n-1}a_k] \end{eqnarray}$.

Figure: Phase transition diagram for MSK (Ref: Fig10.22 in [COMM-PS]

## Simulation Model

Simple Octave/Matlab code for simulating and plotting binary Minimum Shift Keying is kept here.

## Next steps

We have observed that bit error probability of classical coherent binary frequency shift keying is 3dB poorer compared to bit error probability of binary phase shift keying. However, in minimum shift keying, using the knowledge of the phase transitions, we should be able to recover the 3dB loss associated with FSK and get a performance comparable to BPSK. We will hopefully discuss that in a future post.

## Reference

D id you like this article? Make sure that you do not miss a new article by subscribing to RSS feed OR subscribing to e-mail newsletter. Note: Subscribing via e-mail entitles you to download the free e-Book on BER of BPSK/QPSK/16QAM/16PSK in AWGN.

ABHIJEET October 4, 2012 at 11:49 pm

i want matlab code for reduction of ICI in ofdm using raised cosine pulse.
please can you send it my email id.
thanks

Krishna Sankar October 5, 2012 at 5:13 am

@ABHIJEET: Does your OFDM system has cyclic prefix. If the fitler response is bounded within the cyclic prefix, then there should not be any ICI.
http://www.dsplog.com/2008/02/17/cylcic-prefix-in-orthogonal-frequency-division-multiplexing/
http://www.dsplog.com/category/ofdm/

riki March 15, 2010 at 10:38 pm

Hi Krishna, can you show examples for OQPSK with sine pulse shaping using modem.oqpskmod and modem.oqpskdemod? thanks!

Krishna Sankar March 28, 2010 at 2:32 pm

@riki: Sorry, I do not have Matlab installed in my home computer.

Denis February 5, 2010 at 3:20 am

I found my problem, it sufficed to use a coefficient of Rayleigh for 1 bit and not for the 8 samples, thank you anyway for the help

Krishna Sankar April 4, 2010 at 4:21 am

@Denis: Ok

baljit January 27, 2010 at 1:55 pm

sir could u pls snd me matlab code for msk+convolution using awgn channel

Krishna Sankar January 28, 2010 at 5:26 am

@baljit: Hope the post on MSK transmitter and receiver helps you

Denis January 24, 2010 at 5:52 pm

Sorry to ask again, but have you an explanation of the difference found in relation to the theory for the simulation of MSK modulation in a Rayleigh channel, thank you

Denis December 27, 2009 at 4:06 am

First, Thanks for your help !!

Now I try to simulate MSK (and FSK) transmission on a rayleigh channel.
With your exemple at : BER for BPSK in Rayleigh channel, I do the same thing with the MSK /FSK modulation but the results are different from theory (There is a small gap)
Can you explain it, do you have the same gap?
Thank you again for your help!

Denis November 13, 2009 at 7:55 pm

In fact, I try to program in C + +, the MSK modulation, your Matlab model is very interesting however I have some difficulties in receiving, the convolution does not work very well. Have you an idea how to demodulate the signal by taking into account the phase change?
I think that I perform the convolution in reception is not suitable, I convolves my outgoing signal channel signals with AWGN: f1 = sqrt (2 / T) * cos (2 * PI * (k +1 / 4T ) * t) and f2 = sqrt (2 / T) * cos (2 * PI * (fc-1/4T) * t).
But the results between the two convolutions are not different enough to determine correctly received bits.

What do you think?

Krishna Sankar December 3, 2009 at 5:27 am

@Denis: I can point you to a post where I discussed MSK transmitter and receiver
In this post, I have discussed MSK as a variant of offset QPSK.

Denis November 10, 2009 at 10:06 pm

Hi,

Also can you explain me, how you do to demodulate the signal, I have difficulties to demodulate correctly because I do not take into account the phase to the convolution of signal reception. It is difficult because we have 1 phase for each point (fsamp in reality) of the signal.

Thanks for your help and sorry for my english !

Krishna Sankar November 13, 2009 at 5:30 am

@Denis: Sorry, I do not quite understand the concern. Did you take a look at the Matlab model in the post.

Hans-Werner November 7, 2009 at 3:16 am

Ok, but how does the receiver looks like ?
What about carrier and phase recovery ?
How I get my signal back ?