I'm pretty confused about SQNR/SNR conceptually. I understand that this is a function of the power of the signal to the power of the noise. Is it not the case that we would be able to derive a value of SQNR from a graph of the frequency response? enter image description here

The image states the SQNR is 55 dB but I don't see any reason why that would be the case and I am quite confused about the derivation here.

  • $\begingroup$ I'd say the average of that curve, ignoring the tone at 2 kHz, might, judging this with my bare eyes, actually be -55 dB. Remember that in a logarithmic x-axis, there's way more "mass" on the right side of the graph. $\endgroup$ Nov 2, 2022 at 7:51
  • $\begingroup$ (ignore the 2 kHz, I meant at 0.2·10³ fₛ) $\endgroup$ Nov 2, 2022 at 9:37
  • $\begingroup$ Do you mean that how we find SQNR is just taking the difference in power between the minimum possible frequency (how did they get 10^-3?) and the sampling frequency? @MarcusMüller $\endgroup$
    – NaP
    Nov 2, 2022 at 17:33

1 Answer 1


The SQNR needs to be defined over a bandwidth of interest. This plot is for a Sigma Delta Modulator which uses noise shaping and over sampling (OSR) to push noise out to higher frequencies to reduce the noise within a band of interest. The intention is that the desired SQNR would be realized after subsequent low pass filtering.

The spectrum plotted is a power spectral density with noise over a unit of bandwidth (the Noise BW or NBW), in this case that unit is 5.7E-6 cycles/sample (normalized equivalent of Hz, as divided by the sampling rate). So every pixel plotted represents power over that unit of bandwidth, and to get the total power over a band of interest, we would need to sum each of those for every 5.7E-6 increment. For example, close to our test tone we see the noise is around -90 dBFS/NBW below our signal. Let's back out a first cut at what bandwidth we would need to get to 55 dB total signal to noise, assuming that noise did stay flat for that wide of a bandwidth (as following the approach below is instructive prior to detailed answer below):

$$-90 \text{ dB} + 10\log_{10}(B/5.7E-6) = -55 \text{ dB}$$

The above equation says if the total noise was flat at -90 dBFS/NBW level, then if we had a bandwidth from DC to $B$, the total noise over that bandwidth would increase to -55 dBFS.

Solving for $B$:

$$10\log_{10}(B/5.7E-6) = 35 \text{ dB}$$

$$B = 10^{35/10}(5.7E-6) = 0.018 \text{ cycles/sample}$$

If the noise was flat at the -90 dBFS level, then the total bandwidth would need to extend from DC to 0.018 cycles/sample in order for the SQNR to be 55 dB. We see that the noise quickly rises above this well before we get to 0.018, so at this point can conclude that the bandwidth of interest must be something less.

What is also given in the plot is the noise slope of 20 dB/decade. If we fit this from 0.1 cycles/sample and below as -55 at 0.1, -75 at 0.01, and -95 at 0.001 cycles/sample, we can then solve for the expected bandwidth from DC to B with this slope specifically.

For a 20 dB/decade slope on a log log axis with the above data points, converting to a linear equation of power versus frequency:

$$ 10\log_{10}(y) = -95 + 20(3 + \log_{10}(x))$$

$$y = \bigg(\frac{x}{0.001}\bigg)^2 10^{-95/10}$$

Where $y$ represents the power density over a $5.7E-6$ interval. Thus we can solve for the bandwidth B such that the total power is -55 dB by integrating the above equation:

$$\frac{1}{(5.7E-6)}\int_0^B y dx = 10^{(-55/10)} $$

Which gives us:

$$\frac{10^{(-95/10)}}{0.001^2}\int_0^B x^2 dx = 10^{(-55/10)}(5.7E-6) $$

$$\int_0^B x^2 dx = \frac{10^{(-55/10)}}{10^{(-95/10)}}(0.001^2)(5.7E-6) =5.7E-8$$

Solving for the definite integral results in :

$$\frac{B^3}{3} = 5.7E-8$$


$$B \approx 0.00555 \text{ cycles/sample}$$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.