DC Blocker with Fixed Point Data
This example shows how to use the DC Blocker to remove a DC offset from fixed point data.
Open the ex_dcblock_cicmode
model.
open_system("ex_dcblock_cicmode.slx")
In the model:
64-QAM data passes through an AWGN channel.
A DC offset of 1 is added to the signal.
The Double -> Fixed block converts the data to 16-bit fixed point.
The fixed-point data passes through the DC Blocker, which has the CIC algorithm selected, to remove the DC offset.
The Fixed -> Double block converts the data back to floating point.
Constellation diagrams and spectrum analyzers are used to show the improvements from the DC Blocker.
Run the simulation. The first constellation diagram, Noisy Constellation, shows a 64-QAM signal with white noise.
The Noisy Constellation with DC Offset diagram shows the signal after the DC offset of 1 has been applied. The signal, represented by the yellow data points, has shifted one unit to the right in this diagram. The spectrum of the noisy signal with the DC offset has a peak at 0 Hz.
Observe the noisy constellation after the DC offset is removed. The signal has shifted back to the left so that the data clusters are aligned with their corresponding reference points. Observe the spectrum of the noisy signal after the DC Blocker removes the offset. The spectral peak at 0 Hz has been removed.
sim("ex_dcblock_cicmode.slx")
To visualize the efficiency of the DC Blocker under different conditions, try changing the DC offset or the Normalized bandwidth of lowpass IIR or CIC filter parameter.
See Also
Blocks
- Random Integer Generator (Communications Toolbox) | Rectangular QAM Modulator Baseband (Communications Toolbox) | AWGN Channel (Communications Toolbox) | Constellation Diagram (Communications Toolbox) | DC Blocker | Data Type Conversion (Simulink) | Constant (Simulink)