Reply by rbb May 17, 20112011-05-17
>Hi, > >I'm trying to implement a high order IIR filter on a fixed point ARM >processor using a parallell second order section filter structure. > >I'm using 16 bit coefficients and 32 bit filter states. I think I'm on
the
>safe side when it comes to quantization noise, but so far I have been
using
>a Direct Form 1 implementation of the 2nd order sections and the
frequency
>response after coefficient quantization is not good enough. > >Many of the filter poles are very close to DC so I think I need to
consider
>using an alternative to Direct Form 1 that has a more dense quantized
pole
>density close to DC. > >I have investigated some alternatives: > >Kingsbury - I found this in Udo Zölzers book "Digital Audio Signal >Processing". With this structure the pole density is much improved near
DC,
>but this structure has another problem in that the filter coefficients
can
>get very large so it's not feasible to implement in fixed point... > >Modified Chamberlin - I found this here: >http://www.dafx.ca/proceedings/papers/p_053.pdf and it's also discussed >here: http://www.dsprelated.com/showmessage/110814/1.php >The Modified Chamberlin structure neatly solves the unbounded
coefficients
>problem, and also has a nice pole distribution. > >So, the Modified Chamberlin structure seems like a good alternative, but >there seems to be a problem with both the above mentioned structures -
the
>references I mention above discusses their ability to give good pole >positions but they don't mention that you also get zeros or at least a >scaling in the numerator that you have no control over if you set the >filter coeffs to give you the poles you want. > >So my question is, how should I do to get both the pole and zero
positions
>that I need in my 2nd order sections, can I use the filter structures I >mention, perhaps I have missed something? > >Any advice here is much appreciated! > >Best Regards, Viktor >
Have you tried a cascade structure instead of parallel? I've typically had better luck with cascades over parallel
Reply by Vladimir Vassilevsky May 17, 20112011-05-17

luminous wrote:

> Hi, > > I'm trying to implement a high order IIR filter on a fixed point ARM > processor using a parallell second order section filter structure. > > I'm using 16 bit coefficients and 32 bit filter states. I think I'm on the > safe side when it comes to quantization noise,
The 32 bit data path is not much. Did you make an actual estimate of the noise ?
> but so far I have been using > a Direct Form 1 implementation of the 2nd order sections and the frequency > response after coefficient quantization is not good enough. > Many of the filter poles are very close to DC so I think I need to consider > using an alternative to Direct Form 1 that has a more dense quantized pole > density close to DC.
> Modified Chamberlin - I found this here: > http://www.dafx.ca/proceedings/papers/p_053.pdf and it's also discussed > here: http://www.dsprelated.com/showmessage/110814/1.php > The Modified Chamberlin structure neatly solves the unbounded coefficients > problem, and also has a nice pole distribution.
A classic second order section: a0 + a1z1 + a2z2 H(z) = ----------------- 1 - b1z1 - b2z2 If there are low frequency high Q poles, then b1 ~ +2, b2 ~ -1. Then: b1 = (2 - fu); b2 = -1 + bar; Where: fu, bar = small positive numbers; Now scale and quantize fu, bar to 16 bits, modify the filter and scale the intermediate results accordingly. This considerably improves the precision of the quantized coefficients.
> Any advice here is much appreciated!
How much is "much appreciation" ? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by luminous May 17, 20112011-05-17
Hi,

I'm trying to implement a high order IIR filter on a fixed point ARM
processor using a parallell second order section filter structure.

I'm using 16 bit coefficients and 32 bit filter states. I think I'm on the
safe side when it comes to quantization noise, but so far I have been using
a Direct Form 1 implementation of the 2nd order sections and the frequency
response after coefficient quantization is not good enough.

Many of the filter poles are very close to DC so I think I need to consider
using an alternative to Direct Form 1 that has a more dense quantized pole
density close to DC.

I have investigated some alternatives:

Kingsbury - I found this in Udo Zölzers book "Digital Audio Signal
Processing". With this structure the pole density is much improved near DC,
but this structure has another problem in that the filter coefficients can
get very large so it's not feasible to implement in fixed point...

Modified Chamberlin - I found this here:
http://www.dafx.ca/proceedings/papers/p_053.pdf and it's also discussed
here: http://www.dsprelated.com/showmessage/110814/1.php
The Modified Chamberlin structure neatly solves the unbounded coefficients
problem, and also has a nice pole distribution.

So, the Modified Chamberlin structure seems like a good alternative, but
there seems to be a problem with both the above mentioned structures - the
references I mention above discusses their ability to give good pole
positions but they don't mention that you also get zeros or at least a
scaling in the numerator that you have no control over if you set the
filter coeffs to give you the poles you want.

So my question is, how should I do to get both the pole and zero positions
that I need in my 2nd order sections, can I use the filter structures I
mention, perhaps I have missed something?

Any advice here is much appreciated!

Best Regards, Viktor