Compensate for carrier frequency offset
Synchronization
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.
Note
This block does not resolve phase ambiguities created by the synchronization algorithm. As indicated in this table, the potential phase ambiguity introduced by the synchronizer depends on the modulation type:
| Modulation | Phase Ambiguity (degrees) |
|---|---|
'BPSK' or
'PAM' | 0, 180 |
'OQPSK', 'QPSK',
or 'QAM' | 0, 90, 180, 270 |
'8PSK' | 0, 45, 90, 135, 180, 225, 270, 315 |
For best results, apply carrier synchronization to non-oversampled signals.
Specify the modulation type as BPSK,
QPSK, OQPSK,
8PSK, QAM, or
PAM.
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.
| Modulation | Phase Offset (radians) |
|---|---|
BPSK,
QAM, or
PAM | 0 |
QPSK or
OQPSK | π/4 |
8PSK | π/8 |
Custom enables the Custom
phase offset (radians) parameter.
Specify the phase offset in radians as a real scalar. This parameter is
available only when Modulation phase offset is set to
Custom.
Specify the number of samples per symbol as a positive integer scalar.
Specify the damping factor of the loop as a positive real finite scalar.
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.
Select this check box to provide the estimated phase error to an output port.
Select the simulation mode.
Code generationOn 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.
Interpreted executionSimulate 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.
| Port | Supported Data Types |
|---|---|
| Signal Input |
|
| Signal Output |
|
| Phase Error Estimate |
|
[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.