Main Content

Coarse Frequency Compensator

Compensate for carrier frequency offset in PAM, PSK, or QAM

  • Coarse Frequency Compensator block

Libraries:
Communications Toolbox / RF Impairments Correction
Communications Toolbox / Synchronization

Description

The Coarse Frequency Compensator block compensates for carrier frequency offset in QAM, 8-PSK, BPSK, OQPSK, PAM, and QPSK modulation schemes.

Examples

expand all

Compensate for a frequency offset imposed on a noisy 8-PSK channel by using the Coarse Frequency Compensator block.

The doc_coarsefreqcomp model compares a frequency offset impaired signal to one that has coarse frequency compensation applied.

A spectrum analyzer plot shows the transmitted signal before and after applying coarse frequency compensation.

Estimated frequency offset is 1999.9694824.2 Hz.

Ports

Input

expand all

Input signal, specified as a column vector.

Data Types: single | double
Complex Number Support: Yes

Output

expand all

Compensated output signal, returned as a complex column vector with the same dimensions and data type as the input In.

Data Types: single | double

Estimate of the frequency offset, returned as a scalar.

Dependencies

To add this port, select Estimated frequency offset output port.

Data Types: single | double

Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

Modulation type, specified as QAM, 8PSK, BPSK, OQPSK, PAM, or QPSK.

Specify the frequency offset estimation algorithm as FFT-based or Correlation-based.

The table shows the allowable combinations of the modulation type and the estimation algorithm.

ModulationFFT-Based AlgorithmCorrelation-Based Algorithm
8PSK, BPSK, PAM, QPSK
OQPSK, QAM

For more information, see Algorithms.

Dependencies

This parameter appears when you set Modulation type of input signal to 8PSK, BPSK, PAM, or QPSK.

Frequency resolution in Hz, specified as a positive real scalar.

Dependencies

This parameter applies when you set Estimation algorithm to FFT-based.

Number of samples per symbol, specified as an even integer scalar greater than or equal to 4.

Dependencies

This parameter appears when you set Modulation type of input signal to OQPSK.

Maximum measurable frequency offset in Hz, specified as a positive scalar.

Dependencies

This parameter appears when you set Estimation algorithm to Correlation-based.

Select this check box to add the FreqEst output port. The FreqEst port outputs the estimated frequency offset in Hz.

Type of simulation to run, specified as Code generation or Interpreted execution.

  • Code generation — Simulate the model by using generated C code. The first time you run a simulation, Simulink generates C code for the block. The model reuses the C code for subsequent simulations unless the model changes. This option requires additional startup time, but the speed of the subsequent simulations is faster than with the Interpreted execution option.

  • Interpreted execution — Simulate the model by using the MATLAB® interpreter. This option shortens startup time, but the speed of subsequent simulations is slower than with the Code generation option. In this mode, you can debug the source code of the block.

For more information, see Interpreted Execution vs. Code Generation (Simulink).

Block Characteristics

Data Types

double | single

Multidimensional Signals

no

Variable-Size Signals

no

Algorithms

expand all

References

[1] Luise, M., and R. Reggiannini. “Carrier Frequency Recovery in All-Digital Modems for Burst-Mode Transmissions.” IEEE® Transactions on Communications 43, no. 2/3/4 (Feb. 1995): 1169–78.

[2] Wang, Y., et al. “Non-Data-Aided Feedforward Carrier Frequency Offset Estimators for QAM Constellations: A Nonlinear Least-Squares Approach.” EURASIP Journal on Advances in Signal Processing 2004, no. 13 (Dec. 2004): 856139. https://doi.org/10.1155/S1110865704403175.

[3] Nakagawa, Tadao, et al. “Non-Data-Aided Wide-Range Frequency Offset Estimator for QAM Optical Coherent Receivers.” Optical Fiber Communication Conference/National Fiber Optic Engineers Conference 2011, OMJ1. OSA, 2011. https://doi.org/10.1364/OFC.2011.OMJ1.

[4] Olds, Jonathan. Designing an OQPSK demodulator.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2015b

expand all