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

# IIR filter structures and coefficient quantization sensitivity

Started by ●May 17, 2011

Posted by ●May 17, 2011

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

Posted by ●May 17, 2011

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

Posted by ●May 17, 2011

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