Recover carrier phase using M-Power method
Note: M-PSK Phase Recovery will be removed in a future release. Use the Carrier Synchronizer block instead. |
Carrier Phase Recovery sublibrary of Synchronization
The M-PSK Phase Recovery block recovers the carrier phase of the input signal using the M-Power method. This feedforward, non-data-aided, clock-aided method is suitable for systems that use baseband phase shift keying (PSK) modulation. It is also suitable for systems that use baseband quadrature amplitude modulation (QAM), although the results are less accurate than those for comparable PSK systems. The alphabet size for the modulation must be an even integer.
For PSK signals, the M-ary number parameter represents the alphabet size. For QAM signals, the M-ary number should be 4 regardless of the alphabet size because the 4-power method is the most appropriate for QAM signals.
The M-Power method assumes that the carrier phase is constant over a series of consecutive symbols, and returns an estimate of the carrier phase for the series. The Observation interval parameter is the number of symbols for which the carrier phase is assumed constant. This number must be an integer multiple of the input signal's vector length.
This block accepts a scalar or column vector input signal of
type double
or single
. The input
signal represents a baseband signal at the symbol rate, so it must
be complex-valued and must contain one sample per symbol.
The outputs are as follows:
The output port labeled Sig
gives
the result of rotating the input signal counterclockwise, where the
amount of rotation equals the carrier phase estimate. The Sig
output
is thus a corrected version of the input signal, and has the same
sample time and vector size as the input signal.
The output port labeled Ph
outputs
the carrier phase estimate, in degrees, for all symbols in the observation
interval. The Ph
output is a scalar signal.
Note Because the block internally computes the argument of a complex number, the carrier phase estimate has an inherent ambiguity. The carrier phase estimate is between -180/M and 180/M degrees and might differ from the actual carrier phase by an integer multiple of 360/M degrees. |
The block's algorithm requires it to collect symbols during a period of length Observation interval before computing a single estimate of the carrier phase. Therefore, each estimate is delayed by Observation interval symbols and the corrected signal has a latency of Observation interval symbols, relative to the input signal.
The number of points in the signal constellation of the transmitted PSK signal. This value as an even integer.
The number of symbols for which the carrier phase is assumed constant. The observation interval parameter must be an integer multiple of the input signal vector length.
When this parameter is exactly equal to the vector length of
the input signal, then the block always works. When the integer multiple
is not equal to 1
, select Simulation > Configuration Parameters > Solver
and set Tasking mode for periodic sample times to SingleTasking
.
If the symbols occurring during the observation interval are x(1), x(2), x(3),..., x(L), then the resulting carrier phase estimate is
$$\frac{1}{M}\mathrm{arg}\left\{{\displaystyle \sum _{k=1}^{L}{(x(k))}^{M}}\right\}$$
where the arg function returns values between -180 degrees and 180 degrees.
[1] Mengali, Umberto, and Aldo N. D'Andrea, Synchronization Techniques for Digital Receivers, New York, Plenum Press, 1997.
[2] Moeneclaey, Marc, and Geert de Jonghe, "ML-Oriented NDA Carrier Synchronization for General Rotationally Symmetric Signal Constellations," IEEE Transactions on Communications, Vol. 42, No. 8, Aug. 1994, pp. 2531-2533.