We offer training classes and eBooks on DSP, and in Media Processing (TriMedia) Company logo

Introduction to DSP - IIR filters: quantisation in IIR filters

Digital filters are examples of sampled data systems.

Sampled data systems suffer from problems of limited precision which lead to quantisation errors. Apart from errors when measuring signals, these arise within the hardware used for processing:

Filter equation block diagram

Primary sources of quantisation error are:

  • errors in arithmetic within the hardware (for example 16 bit fixed point roundoff)
  • trncation when results are stored (most DSP processors have extended registers internally, so truncation usually occurs when results are stored to memory)
  • quantisation of filter coefficients which have to be stored in memory

The effects of quantisation, saturation and overflow are all non linear, signal dependent errors. This is bad news because non linear effects cannot be calculated using normal mathematics: and because signal dependent (coherent) errors cannot be treated statistically using the usual assumptions about randomness of noise - they will depend on what signals are being processed.

Effects on signals

One example of a strange effect of non linear systems is limit cycles:

Limit cycles

A non linear system can oscillate at a low bit level, even when there is no input. This is not the same as the impulse response being infinite - it is a result of a non linear (or chaotic) system.

Limit cycles can sometimes be heard when listening to modern 'sigma delta' digital to analogue converters. These chips use long digital filters which are subject to non linear errors - and you can sometimes hear the effect of limit cycles as quiet hisses or pops even when the digital output to the DAC is held steady.

When treating quantisation effects we usually acknowledge that these are non linear, signal dependent errors:

Block diagram of ideal DSP system

but we often model these as if they were injections of random noise:

Block diagram of ideal DSP system with injected noise

Sadly, with IIR filters the non linear, signal dependent effects dominate and the model of quantisation as random noise is completely inadequate. The effects will also depend on the hardware used to implement the filter: for example most DSP processors have extended registers internally - whether these are used or not will affect the quantisation error crucially.

It is not possible to model the effects of quantisation in an IIR filter using simple random noise models.

Some idea of quantisation effects in IIR filters can be gained using complex statistical models: but really the only way to evaluate the effects of quantisation in an IIR filter is to:

  • implement the filter on the target hardware
  • test it with signals of the sort expected

backward/forward go back to start of module go back to previous page go to next page go to next module