Noise shaping

Noise shaping is the process of changing the frequency content of the errors in the digitally recorded signal introduced during quantization.

Recording the signal digitally is called quantization. Quantization, due to limitations in digital formats, introduces errors – differences between the actual value of the signal and the recorded value of the signal (quantization is explained in the topic on Dithering; as an example, consider that CD quality audio uses a sampling resolution that allows the recording of information only with integer numbers between -32768 and 32768 and, if the true value of the signal is 5.1, it will be recorded as 5, introducing an errors of 0.1).

The errors introduced into the signal are a signal in themselves, with specific frequency content. The purpose of noise shaping is to change this frequency content, usually to reduce the magnitudes of frequencies that are inside the interval, where the ear is most sensitive (e.g., between 1 KHz to 5 KHz). Noise shaping is typically applied with dithering – the process of making quantization errors non-systematic by introducing random changes to the errors. The purpose of noise shaping here is similar, to change the frequency content of the errors, which is known as dither coloration.

An example of noise shaping

Noise shaping can be applied during quantization when the error is known. Suppose that the signal x0(k) is to be quantized as the signal x(k) and the error before any noise shaping is ε0(k).

$$\epsilon_0(k)=x_0(k)-x(k)$$

We can apply any filter on the error ε(k) and create a new quantized value X(k), such as the following.

$$\epsilon_0(k)=x_0(k)-x(k)$$ $$\epsilon(k)=-0.22853 \, \epsilon_0(k-1)+1.19249 \, \epsilon_0(k-2)-0.42804 \, \epsilon_0(k-3)$$ $$X(k)=x_0(k)-\epsilon(k) $$

We can recognize that the new error ε(k) is computed with the impulse invariant second order low pass Butterworth filter.

$$H(s)=\frac{1}{(\frac{s}{\omega_c}-e^{j\frac{3\pi}{4}})(\frac{s}{\omega_c}-e^{j\frac{5\pi}{4}})}$$

After an inverse Laplace transform and the Z transform, the filter above, for example with the cutoff frequency ωc = 0.6 and the sampling frequency 2000 Hz, is

$$H(z)=\frac{-0.22853 \, z^{-1}}{1-1.19249 \, z^{-1}+0.42804 \, z^{-2}}$$

In practice, it is more common to reduce computations by using

$$x_0(k)=x_0(k)+\sum_{n=1}^N a(n) \, \epsilon(k-n)$$

where a(n) are some filter coefficients for the filtered error. In the simplest case, consider that the formula

$$x_0(k)=x_0(k)+0.36788 \, \epsilon(k-1)$$

translates to the error terms being computed as in

$$\epsilon(k)=\epsilon_0(k)+0.36788 \, \epsilon(k-1)$$

This is essentially the first order impulse invariant low pass Butterworth filter with cutoff frequency ωc = 1.

$$H(z)=\frac{1}{1-e^{-1}z^{-1}}$$

Add new comment

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.