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.
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.
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 |
---|---|
BPSK | 0 |
QPSK or
OQPSK | π/4 |
8PSK | π/8 |
QAM or
PAM | 0 |
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 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 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.
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.