MSK Signal Recovery

This model shows how channel impairments such as timing phase offset, carrier frequency offset, and phase offset for a minimum shift keying (MSK) signal are modeled. The model uses blocks from the Synchronization library to recover the signal. Open the model, doc_commmsksyncdoc_commmsksync.


Exploring the Model

The example models an MSK transmitted signal undergoing channel impairments, including these components:

  1. An MSK signal source that uses the Bernoulli Binary Generator block to output equiprobable symbols and modulates the symbols using an MSK Modulator Baseband block

  2. A channel model that incorporates independently variable offsets in the timing phase, frequency, and phase. The channel model also includes the AWGN Channel block

  3. Signal recovery, consisting of:

  4. An MSK Demodulator Baseband block

  5. Blocks that compute and display the system's bit error rate (BER)

When you load the model, it also initializes some parameters that several blocks share.

Results and Displays

When you run the simulation, the displays show the estimated values for the impairments as well as the BER metrics. In particular, the display labeled BER Metrics shows a three-element vector containing the calculated bit error rate (BER), the number of errors observed, and the number of bits processed.

You can view the MSK signal via the Constellation Diagram blocks at the different stages. This provides a compelling visual rendition of the recovery algorithms in action, especially as you turn the algorithms on and off using the three control switches.

Scatter plot of received signal:

Scatter plot of signal after timing and carrier frequency recovery:

Scatter plot of signal after carrier phase recovery:

You can also reset the BER computation after the signal has reached a steady state.

Experimenting with the Example

The example is designed so that you can vary the impairments independently while the simulation is running. You can also use the toggle switches to turn the recovery schemes on and off while the simulation is running, and then see the effects on the scatter plots.

Was this topic helpful?