| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Communications Blockset |
| Contents | Index |
| Learn more about Communications Blockset |
Timing Phase Recovery sublibrary of Synchronization
The MSK-Type Signal Timing Recovery block recovers the symbol timing phase of the input signal using a fourth-order nonlinearity method. This block implements a general non-data-aided feedback method that is independent of carrier phase recovery but requires prior compensation for the carrier frequency offset. This block is suitable for systems that use baseband minimum shift keying (MSK) modulation or Gaussian minimum shift keying (GMSK) modulation.
By default, the block has one input port. The input signal could be (but is not required to be) the output of a receive filter that is matched to the transmitting pulse shape, or the output of a lowpass filter that limits the amount of noise entering this block.
The input must be a scalar or a frame-based column vector. The input uses N samples to represent each symbol, where N > 1 is the Samples per symbol parameter. If the input is frame-based, then its vector length is N*R, where R is a positive integer that indicates the number of symbols per frame. If the input is sample-based, then its sample time is 1/N times the underlying symbol period.
If the Reset parameter is set to On nonzero input via port, then the block has a second input port, labeled Rst. The Rst input determines when the timing estimation process restarts, and must be a scalar signal. The sample time of the Rst input equals the symbol period if the input signal is sample-based, and the frame period if the input signal is frame-based.
The block has two output ports, labeled Sym and Ph:
The Sym output is the result of applying the estimated phase correction to the input signal. This output is the signal value for each symbol, which can be used for decision purposes. The values in the Sym output occur at the symbol rate:
If the input signal is a frame-based column vector of length N*R, then the Sym output is a frame-based column vector of length R having the same frame period.
If the input signal is a sample-based scalar with sample time T/N, then the Sym output is a sample-based scalar with sample time T.
The Ph output gives the phase estimate for each symbol in the input signal.
The Ph output contains nonnegative real numbers less than N. Noninteger values for the phase estimate correspond to interpolated values that lie between two values of the input signal. The sample time or frame period of the Ph output is the same as that of the Sym output.
Note If the Ph output is very close to either zero or Samples per symbol, or if the actual timing phase offset in your input signal is very close to zero, then the block's accuracy might be compromised by small amounts of noise or jitter. The block works well when the timing phase offset is significant rather than very close to zero. |
This block incurs a delay of two symbols when the input signal is frame-based and three symbols when the input signal is sample-based.

The type of modulation in the system. Choices are MSK and GMSK.
The number of samples, N, that represent each symbol in the input signal. This must be greater than 1.
A positive real number representing the step size that the block uses for updating successive phase estimates. Typically, this number is less than 1/N, which corresponds to a slowly varying phase.
Determines whether and under what circumstances the block restarts the phase estimation process. Choices are None, Every frame, and On nonzero input via port. The last option causes the block to have a second input port, labeled Rst.
This block's algorithm extracts timing information by passing the sampled baseband signal through a fourth-order nonlinearity followed by a digital differentiator whose output is smoothed to yield an error signal. The algorithm then uses the error signal to make the sampling adjustments.
More specifically, this block uses a timing error detector whose result for the kth symbol is e(k), given in [2] by
![]()
where
r is the block's input signal
T is the symbol period
Ts is the sampling period
* means complex conjugate
dk is the phase estimate for the kth symbol
D is 1 for MSK and 2 for Gaussian MSK modulation
For more information about the role that e(k) plays in this block's algorithm, see Feedback Methods for Timing Phase Recovery in Communications Blockset User's Guide.
[1] D'Andrea, A. N., U. Mengali, and R. Reggiannini, "A Digital Approach to Clock Recovery in Generalized Minimum Shift Keying," IEEE Transactions on Vehicular Technology, Vol. 39, No. 3, August 1990, pp. 227-234.
[2] Mengali, Umberto and Aldo N. D'Andrea, Synchronization Techniques for Digital Receivers, New York, Plenum Press, 1997.
Early-Late Gate Timing Recovery, Squaring Timing Recovery
![]() | MSK Modulator Baseband | Mueller-Muller Timing Recovery | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |