- The window being used.
- RBW (Resolution Bandwidth specified)
- Spectrum estimation method Welch vs Filter bank
- Exponential averaging with large forgetting factors and
- Short simulation times etc.,
Simulink Spectrum Analyzer shows noise floor below max SQNR
2 views (last 30 days)
Show older comments
Simon Burkhardt
on 15 Oct 2020
Commented: Simon Burkhardt
on 16 Oct 2020
I am using the HDL Coder Toolbox for Simulink to build a DDS (direct digital synthesizer).
I am using a converter Block (uintN_t) to convert the double value range {-1 ... 1} to uint16_t.
(add +1 offset, scale by 1/2 * 2^N-1)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/381703/image.png)
Now I want to see the spectrum of the generated Signal with the spectrum analyzer, which gives me the following image:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/381708/image.png)
The blue graph shows a noise floor >120dB below the carrier frequency.
This is wrong since I expect a maximum SQNR of: 1.76 + 6.02 * N = 98dB (for N = 16 bit).
If I export the uint16_t values to the workspace and analyze the datapoints with snr(x, fs, n) it outputs a correct value of 98dB.
Hence I suspect that the issue lies within the Spectrum Analyzer settings.
How do I set the Spectrum Analyzer correctly to show me the correct spectrum?
0 Comments
Accepted Answer
Kiran Kintali
on 15 Oct 2020
https://www.mathworks.com/help/dsp/ref/spectrumanalyzer.html
There are multiple settings that could affect the observed noise floor..
If you can share a sample model we may be able to provide additional guidance.
kiran.kintali@mathworks.com
More Answers (0)
See Also
Categories
Find more on Transforms 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!