Simulink Spectrum Analyzer shows noise floor below max SQNR

조회 수: 2 (최근 30일)
Simon Burkhardt
Simon Burkhardt 2020년 10월 15일
댓글: Simon Burkhardt 2020년 10월 16일
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)
Now I want to see the spectrum of the generated Signal with the spectrum analyzer, which gives me the following image:
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?

채택된 답변

Kiran Kintali
Kiran Kintali 2020년 10월 15일
https://www.mathworks.com/help/dsp/ref/spectrumanalyzer.html
There are multiple settings that could affect the observed noise floor..
  1. The window being used.
  2. RBW (Resolution Bandwidth specified)
  3. Spectrum estimation method Welch vs Filter bank
  4. Exponential averaging with large forgetting factors and
  5. Short simulation times etc.,
If you can share a sample model we may be able to provide additional guidance.
kiran.kintali@mathworks.com
  댓글 수: 1
Simon Burkhardt
Simon Burkhardt 2020년 10월 16일
Yes, the window settings were affecting the spectrum.
I checked the docs and the snr() function uses a Kaiser Window. If I set the Kaiser window (with parameter at 50dB) I get similar results for both the snr() and sfdr() function.
I still can't explain why the noise floor is affected since the window should affect the main lobe width. but ok, it works ¯\_(ツ)_/¯

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Spectral Analysis에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by