DVB-S2 HDL Receiver: frequency synchronization does not working properly
Show older comments
Hi everyone,
I am trying to run the standard "DVB-S2 HDL Receiver" example from the Satellite Communications Toolbox. I am using the exact default parameters provided in the example documentation without any modifications.
- Example Reference: DVB-S2 HDL Receiver
- MATLAB Versions Tested: R2023a and R2024b / R2025b
The Issue:Even after letting the simulation run for a significant duration, the displayed constellation diagram in both scopes (Constellation Plots1 and Constellation Plots2) shows a persistent spinning/ring shape. This indicates a significant remaining frequency offset that is not getting locked or fully corrected by the receiver's carrier synchronization loop.
Additionally, I noticed that the "Estimated Frequency Offset" display fluctuates heavily and fails to settle or converge to a stable value throughout the simulation.
The simulation also does not output or show the extracted data in a scop as demonstrated in the example documentation.
I have attached a screenshot of the Spectrum Analyzer and the two Constellation Plots showing the behavior.
Questions:
- Is this the expected behavior for the default channel settings in this example, or should the synchronization loop converge to the red reference crosses (QPSK/8PSK points)?
- Are there specific tuning parameters (such as the loop bandwidth or gains inside the frequency estimation/carrier recovery blocks) that I should modify to help the HDL receiver model achieve a stable lock?
- Has anyone else encountered this convergence issue in recent MATLAB releases, and how did you resolve it?
Thank you in advance for your help!


1 Comment
Karthik Akula
on 30 Jun 2026 at 10:50
The Synchronized Data Symbols will show constellation. The symbol synchronized symbols remain a circle.
I see the display shows 5.017e5 = 501.7e3. as input is 500e3, the left over frequency is 1.7e3 = 1700. and the model in it's default position is ran for 53%. Can you run until the end and send the snap shot with the "view diagnostics" at the bottom of the model. The verification script auto runs , if nothing is modified.
Answers (0)
Categories
Find more on Code Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!