This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

comm.PSKCarrierPhaseSynchronizer System object

Package: comm

Recover carrier phase of baseband PSK signal

comm.PSKCarrierPhaseSynchronizer will be removed in a future release. Use comm.CarrierSynchronizer instead.


The PSKCarrierPhaseSynchronizer object recovers the carrier phase of the input signal using the M-Power method. This feedforward method is not data aided but is clock aided. You can use this method for systems that use baseband phase shift keying (PSK) modulation. The method is also suitable for systems that use baseband quadrature amplitude modulation (QAM). However, the results are less accurate than those for comparable PSK systems. The alphabet size for the modulation requires an even integer.

To recover the carrier phase of the input signal using the M-Power method:

  1. Define and set up your PSK carrier phase synchronizer object. See Construction.

  2. Call step to recover the carrier phase of the input signal according to the properties of comm.PSKCarrierPhaseSynchronizer. The behavior of step is specific to each object in the toolbox.

    Note:   Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.


H = comm.PSKCarrierPhaseSynchronizer creates a PSK carrier phase synchronizer System object, H. This object recovers the carrier phase of a baseband phase shift keying (PSK) modulated signal using the M-power method.

H = comm.PSKCarrierPhaseSynchronizer(Name,Value) creates a PSK carrier phase synchronizer object, H, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

H = comm.PSKCarrierPhaseSynchronizer(M,Name,Value) creates a PSK carrier phase synchronizer object, H. This object has the ModulationOrder property set to M, and the other specified properties set to the specified values.



Number of points in signal constellation

Specify the modulation order of the input signal as an even, positive, real scalar value. Choose a data type of single or double. The default is 2. This property is tunable.


Number of symbols where carrier phase assumed constant

Specify the observation interval as a real positive scalar integer value. Choose a data type of single or double. The default is 100.


resetReset states of the PSK carrier phase synchronizer object
stepRecover baseband PSK signal's carrier phase
Common to All System Objects

Create System object with same property values


Expected number of inputs to a System object


Expected number of outputs of a System object


Check locked states of a System object (logical)


Allow System object property value changes


Recover carrier phase of a 16-PSK signal using M-power method.

M = 16;
phOffset = 10 *pi/180;  % in radians
numSamples = 100;
% Create PSK modulator System object
    hMod = comm.PSKModulator(M, phOffset, 'BitInput',false);
% Create PSK carrier phase synchronizer System object
    hSync = comm.PSKCarrierPhaseSynchronizer(M,...
% Generate random data
    data = randi([0 M-1],numSamples,1);
% Modulate random data and add carrier phase
    modData = step(hMod, data);
% Recover the carrier phase
    [recSig phEst] = step(hSync, modData);
fprintf('The carrier phase is estimated to be %g degrees.\n', phEst);


This object implements the algorithm, inputs, and outputs described on the M-PSK Phase Recovery block reference page. The object properties correspond to the block parameters.

Extended Capabilities

Introduced in R2012a

Was this topic helpful?