DSPRelated.com
Forums

Blackfin IIR Filter routine with a0 coefficient normalized to 0.5

Started by dcac...@gmx.ch November 21, 2006
Hello out there,

I just wondered whether anyone of you has already solved the problem
I am currently facing.

I want to implement a multi section biquad iir filter on a Blackfin DSP.
The problem with the filter routines that are provided within VisualDSP
are:

iir_fr16():
-----------
The function normalizes the a0 coefficient to 1. Since a1 and a2 also
must be 1 or less in fractional representation, I cannot place the poles
of the filter close to +1 which I would like.
For their 24bit fixpoint DSP which I used a lot before, Motorola solved
the issue quite easily by normalizing a0 coefficient to 0.5 rather than
to 1. The result is the freedom to place the poles everywhere within
the unit circle.
iirdf1_fr16():
--------------
This function gives me the freedom to place my poles where I want them
to be. Unfortunately this function is, unlike stated, not an
implementation of biquads (= second order sections).
For a filter with approximately 12 poles I run thus into problems
with the dynamic of my filter coefficients.
Is there anyone who had this problem before? Is there any solution
known - a multi biquad iir filter implementation with a0 normalized to
0.5 rather than to 1?
Regards,

Dominique