(4 votes, average: 5.00 out of 5)
Loading ...

# Signal to quantization noise in quantized sinusoidal

by on March 19, 2007

In problem 4.37 of DSP-Proakis [1], the task is to analyze the total harmonic distortion in quantized sinusoidal, $x(n) = \sin(2\pi f_0 n)$ where $f_0 = k/N$.

My take:
As detailed in the previous problem (4.36 in DSP-Proakis [1]), due to imperfections in practical generation of sinusoidals, apart from the power at the desired frequency, there will be non-zero power for other frequency components as well. This undesirable spurious power typically measured as,total harmonic distortion (THD) is:

$THD = 1 - \frac{2|c_{k0}|^2}{P_x}$ where

$c_{k0} = \frac{1}{N}\sum_{n=0}^{N-1}x(n)e^{\frac{-j2\pi k_0 n}{N}}$ and $P_x = \frac{1}{N}\sum_{n=0}^{N-1}|x(n)|^2$.

Note that this definition is different from the definition provided from [3] – “Total harmonic distortion (THD) is the ratio of the rms value of the fundamental signal to the mean value of the root-sum-square of its harmonics (generally, only the first 5 harmonics are significant)“.

The definition provided from [1] can be considered as the the signal to quantization noise ratio (SQNR) where the quantization noise includes the noise power at the harmonics of the desired frequency as well as the noise in other frequency components in $[0\ fs/2)$.

Using $b$ bits for quantization, the signal range of 2 units is divided into $2^b$ steps i.e each step is of range $\frac{1}{2^{b-1}}$ units. The original samples of $x(n)$ are rounded (quantized) towards the nearest bin location i.e. the quantized signal is $x_q(n) = \frac{round(x(n) \times 2^{b-1})}{2^{b-1}}$.

The error due to quantization is $e_q(n) = x_q(n) - x(n)$.

In an article from Analog Devices[2], the author has mentioned that – “quantization error for any ac signal which spans more than a few LSBs can be approximated by an uncorrelated sawtooth waveform“.

The error signal lies uniformly in the range $(-\frac{1}{2^b},\ +\frac{1}{2^b})$ and the root mean square value of the error signal ${e_q(n)}$ is
$RMS_{e_q(n)} = \sqrt{2^{b-1}\int_{-\frac{1}{2^b}}^{+\frac{1}{2^b}}e_q^2(n)de} = \frac{1}{\sqrt{3}2^{b}}$.
(For details refer Eq 9.2.7. Section 9.2.3 in [1]).

The root mean square value of the signal sine wave, $RMS_{x(n)}=\frac{1}{\sqrt{2}}$.

Summarizing, the signal to quantization noise ratio (SQNR) in decibels is:
$\begin{eqnarray}SQNR_{dB} &=& 20\log\left(\frac{\frac{1}{\sqrt{2}}}{\frac{1}{\sqrt{3}2^b}}\right) \\&=& 20\log(2^b) + 20\log\left(\sqrt{\frac{3}{2}}\right) \\&=& (6.02\times b+1.76) dB\end{eqnarray}$.

With this mathematical analysis as a background, let us move on to obtaining the results from quick MATLAB simulations with $2^8$ levels.

b = 8;x = sin(2*pi*[0:1/50:1]);
xq = round(x*2^(b-1))/2^(b-1);
ex = x-xq;
SQNR_xdB = 10*log10((x*x')/(ex*ex'))
y = sin(2*pi*[0:1/100:1]);
yq = round(y*2^(b-1))/2^(b-1);

ey = y-yq;

SQNR_ydB = 10*log10((y*y')/(ey*ey'))

For this example, as the sampling clock is an integer multiple of the signal frequency, the quantization noise is correlated and the energy is concentrated in the harmonics of the signal. However, the root mean square value of the noise remains approximately $\frac{1}{\sqrt{3}2^b}$ [2].

This can explain the facts that the simulated SQNR values, are different from the theoretical values by around 0.5dB, 1.5dB for SQNR_ydB and SQNR_xdB respectively.

Probable fix for making the noise uncorrelated is to have either have a slight offset of the frequency to remove the integer relationship [2] OR by increasing the sampling frequency. For example, if we consider a new sinusoidal z with $f_0 = 1/10000$, which is of very low frequency when compared to x, y and simulate the SQNR, we can find that the simulation and the theory are in good agreement.

b = 8;
z= sin(2*pi*[0:1/10000:1]);
zq = round(z*2^(b-1))/2^(b-1);
ez = z-zq;
SQNR_zdB = 10*log10((z*z')/(ez*ez'))
hist(ez); % can see the uniformly distributed error
figure
plot(sort(ez)); % can see a nice sawtooth waveform

Note that in practical scenarios as the input to the analog to digital converter will consist of a band of frequencies (and not a single frequency), the assumption of uniformly distributed quantization noise over $[0\ fs/2)$ is valid.

## References:

[2] Application Note from Analog Devices, MT-001: Taking the Mystery out of the Infamous Formula, “SNR=6.02N + 1.76dB,” and Why You Should Care, Walt Kester, REV. 0, 10-03-2005 (link checked on March19th 2007)

[3] Application Note from Analog Devices, MT-003: Understand SINAD, ENOB, SNR, THD, THD + N, and SFDR so You Don’t Get Lost in the Noise Floor, by Walt Kester, REV. 0, 10-03-2005 (link checked on March19th 2007)

D id you like this article? Make sure that you do not miss a new article by subscribing to RSS feed OR subscribing to e-mail newsletter. Note: Subscribing via e-mail entitles you to download the free e-Book on BER of BPSK/QPSK/16QAM/16PSK in AWGN.

{ 13 comments… read them below or add one }

Poppy July 17, 2014 at 11:59 pm

Hey there! Quick question that’s totally off topic. Do you know how to make your site mobile friendly?
My website looks weird when viewing from my apple iphone.

I’m trying to find a template or plugin that might be able to resolve this issue.
If you have any suggestions, please share. Thanks!

Reply

lacyzdtv.buzznet.com July 14, 2014 at 8:37 am

What’s up, just wanted to mention, I liked this blog
post. It was helpful. Keep on posting!

Reply

ประกันภัยรถ July 5, 2014 at 4:43 pm

I’m not sure why but this web site is loading incredibly slow for me.
Is anyone else having this issue or is it a issue on my end?
I’ll check back later on and see if the problem still exists.

Reply

esperanzacampos.pen.io June 21, 2014 at 8:28 am

An outstanding share! I have just forwarded this onto a coworker who had been conducting a little homework on this.
And he actually ordered me lunch simply because I discovered it for him…
lol. So let me reword this…. Thank YOU for the meal!!
But yeah, thanx for spending some time to talk about this matter here on your internet site.

Reply

short hairstyles 2014 May 30, 2014 at 10:40 pm

Asking questions are truly fastidious thing if you are
not understanding something totally, but this article provides pleasant understanding yet.

Reply

online music marketing mike murraco May 29, 2014 at 4:10 pm

obviously like your web-site but you need to check the spelling on several of your posts.
Many of them are rife with spelling problems and I find it very bothersome to inform the truth
nevertheless I will definitely come back again.

Reply

top 10 web hosting indonesia 2013 May 24, 2014 at 8:04 am

Greetings! I know this is somewhat off topic but I was wondering which blog platform are you using for this site?
I’m getting sick and tired of Wordpress because I’ve had problems with hackers and
I’m looking at alternatives for another platform. I would be awesome if you could
point me in the direction of a good platform.

Reply

ช่างกุญแจ อ่างทอง April 24, 2014 at 12:26 pm

Wow, incredible blog layout! How long have you been blogging for?
you make blogging look easy. The overall look of your web site is wonderful, let alone the content!

Reply

sap November 16, 2012 at 6:48 am

How to calculate the SNRq for uniform quantizer if the input samples are normally distributed using matlab.

Reply

Krishna Sankar November 18, 2012 at 7:01 am

@sap: You can change x to be a picked up from randn() function call.

Reply

OGUEGBE VITALIS March 13, 2012 at 11:21 pm

signal to quantization noise ratio for linear quantization

Reply

Krishna Sankar March 14, 2012 at 4:18 am
electronic March 24, 2009 at 10:32 am

hello, i m here again, waiting for the next post

Reply

{ 2 trackbacks }