I have this problem in my homework (following picture).

How do find the signal to quantization noise ratio at the output?

I don't want the solution. I just want to know a better approach to tackle it.

Because the way I am trying to do is - take the inverse fourier transform of H(z) and convolve it with x(n) and find the power. Then divide this recently found power by the noise power. As easy it sounds (probably correct) it is computationally intense.

I end up with 4 convolutions just to find the y(n).

The Question

  • $\begingroup$ Actually, the question lacks an important information: What is the maximum amplitude the quantizer is quantizing? The proposed solution from msm is correct, given that you know the maximum quantization amplitude. For some code and explanation about quantization and also the influence of the maximum amplitude you might have a look at one of my articles on quantization. $\endgroup$ May 5, 2017 at 7:49
  • $\begingroup$ @MaximilianMatthé Maximum Quantization Amplitude is given in the input (3*sin(0.15*pi*n)). This input is fed in the system, and at the output we measure the SQNR. And thanks for the Article. It is really helpful. $\endgroup$
    – Copernicus
    May 5, 2017 at 18:15
  • $\begingroup$ So, you would assume that the quantizer has a dynamic range from $\pm 3$? That's not clear from the task. Glad you like my article! $\endgroup$ May 5, 2017 at 18:23
  • $\begingroup$ Yes, because the input is a sinusoidal so the maximum and minimum will be 1 & -1. Then we scale it by 3. That's why the full scale voltage is 6v. $\endgroup$
    – Copernicus
    May 5, 2017 at 18:28
  • $\begingroup$ Well, that's the scale of the input signal, I agree. But nothing in the task actually states that the quantization value 1111111111 (10 ones) corresponds to +3. It could also correspond to +5 or +100, which does influence the SQNR for your sinosoid. $\endgroup$ May 5, 2017 at 18:30

1 Answer 1


No need to do the convolution to find the output. Just use the fact that $z^n$ is an eigenfunction of the system with $z=e^{j\omega_0}$. This will lead to the following rule

$$x[n]=A\sin(\omega_0 n+\phi) \Rightarrow y[n]=|H(e^{j\omega_0})|A \sin(\omega_0 n+\phi+\angle H(e^{j\omega_0}))$$

That is, the output to a sinusoidal signal with angular frequency $\omega_0$ is a similar sinusoidal signal with the same angular frequency, but scaled by $|H(e^{j\omega_0})|$ and phase-shifted by $\angle H(e^{j\omega_0})$.

For SQNR calculation, we only need the scaling $|H(e^{j\omega_0})|$. You probably know how to find the power of a sinusoidal signal, given its amplitude. Right?

Then you need to know how to calculate SQNR when a sinusoidal signal with amplitude $|H(e^{j\omega_0})|A$ gets quantized.

  • 2
    $\begingroup$ Thanks for the method @msn. This is so cool. And yes I know how to find the power of the sinusoidal signal given its amplitude. I think now I can do away with the convolution. Thanks again mate. $\endgroup$
    – Copernicus
    May 5, 2017 at 18:32
  • $\begingroup$ That's good. You should calculate the power of filtered noise and divide the signal power to it. $\endgroup$
    – msm
    May 5, 2017 at 21:49

Your Answer

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

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