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. To open the model,
doc_commmsksync at the MATLAB® command line.
Exploring the Model
The example models an MSK transmitted signal undergoing channel impairments, including these components:
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
A channel model that incorporates independently variable offsets in the timing phase, frequency, and phase. The channel model also includes the AWGN Channel block
Signal recovery, consisting of:
Timing recovery using the MSK-Type Signal Timing Recovery block
Carrier frequency and phase recovery using the Carrier Synchronizer block
An MSK Demodulator Baseband block
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. Because the Carrier Synchronizer block performs both frequency and phase correction, the display of estimated phase offset may fluctuate rapidly. 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 two control switches.
Scatter plot of received signal:
Scatter plot of signal after timing recovery:
Scatter plot of signal after carrier frequency and 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.
Further items to investigate include:
Set the frequency offset to
0and observe the displayed signal constellations and estimated phase offset.
Observe that the Carrier Synchronizer block is set for a QPSK constellation with a phase offset of 0°.
To see how the timing offset is tracked, replace the Constant (Simulink) block with a Sine Wave (Simulink) block. Vary the offset between 0 and 1 over the duration of the simulation.
Vary the error update gain of the MSK-Type Signal Timing Recovery block to assess its ability to track constant and time-varying offsets. To access the block, open the Timing Recovery subsystem and then open the Timing Recovery Algorithm subsystem.