Reply by Vladimir Vassilevsky●July 4, 20072007-07-04
Allan wrote:
> Hi
> I want to implement a multi section biquad iir filter on the Blackfin
> DSP. The problem with the filter routines that are provided within
> VisualDSP
The best way is ignore the buggy pathetic crap provided with VDSP, and
develop yourself whatever functions you need.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
Reply by Jerry Avins●July 4, 20072007-07-04
Allan wrote:
> Hi
> I want to implement a multi section biquad iir filter on the 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.
>
> 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?
Renormalize it by hand. It's just a scale factor.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by Allan●July 4, 20072007-07-04
Hi
I want to implement a multi section biquad iir filter on the 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.
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?