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.

Carrier Synchronizer

Compensate for carrier frequency offset




The Carrier Synchronizer block compensates for carrier frequency and phase offsets using a closed-loop approach for BPSK, QPSK, OQPSK, 8-PSK, QAM, and PAM modulation schemes. The block accepts a single input port. To obtain an estimate of the phase error in radians, select the Estimated phase error output port check box. The block accepts a sample- or frame-based complex input signal and returns a complex output signal and a an real phase estimate. The block outputs have the same dimensions as the input.



Specify the modulation type as BPSK, QPSK, OQPSK, 8PSK, QAM, or PAM.

This object supports CPM. It has been tested for a CPM signal having 1 sample per symbol and a modulation index of 0.5.

Modulation phase offset

Specify the method used to calculate the modulation phase offset as either Auto or Custom.

  • Auto applies the traditional offset for the specified modulation type.

    ModulationPhase Offset
    QPSK or OQPSKπ/4
    QAM or PAM0
  • Custom enables the Custom phase offset (radians) parameter.

Custom phase offset (radians)

Specify the phase offset in radians as a real scalar. This parameter is available only when Modulation phase offset is set to Custom.

Samples per symbol

Specify the number of samples per symbol as a positive integer scalar.

Damping factor

Specify the damping factor of the loop as a positive real finite scalar.

Normalized loop bandwidth

Specify the normalized loop bandwidth as a real scalar between 0 and 1. The bandwidth is normalized by the sample rate of the carrier synchronizer block.

Estimated phase error output port

Select this check box to provide the estimated phase error to an output port.

Simulate using

Select the simulation mode.

Code generation

On the first model run, simulate and generate code for the block using only MATLAB® functions supported for code generation. If the structure of the block does not change, subsequent model runs do not regenerate the code.

If the simulation mode is Code generation, system objects accept a maximum of nine inputs.

Interpreted execution

Simulate model using all supported MATLAB functions. Choosing this option can slow simulation performance.


This block implements the algorithm, inputs, and outputs described on the comm.CarrierSynchronizer reference page. The object properties correspond to the block parameters.


Correct for Frequency and Phase Offset

Correct for a phase and frequency offset imposed on a noisy 16-QAM channel using the Carrier Synchronizer block.

Open the doc_qamcarriersync model.

Run the model. The Constellation Diagram Without Sync block shows a spiral pattern that indicates a phase and frequency offset. After the carrier synchronizer converges to a solution, the data displayed on the Constellation Diagram With Sync block are grouped around the reference constellation.

Experiment with the parameters in the Phase/Frequency Offset and Carrier Synchronizer blocks. By varying these parameters, you can change how quickly the output conforms to an ideal 16-QAM constellation.

Supported Data Types

PortSupported Data Types
Signal Input
  • Double-precision floating point

  • Single-precision floating point

Signal Output
  • Double-precision floating point

  • Single-precision floating point

Phase Error Estimate
  • Double-precision floating point

  • Single-precision floating point

Selected Bibliography

[1] Rice, Michael. Digital Communications: A Discrete-Time Approach. Upper Saddle River, NJ: Prentice Hall, 2009, pp. 359–393.

[2] Huang, Zhijie, Zhiqiang Yi, Ming Zhang, and Kuang Wang. “8PSK Demodulation for New Generation DVB-S2.” International Conference on Communications, Circuits and Systems, 2004. ICCCAS 2004. Vol. 2, 2004, pp. 1447–1450.

Introduced in R2015a

Was this topic helpful?