DSPRelated.com
Forums

IIR filter coefficients

Started by Juan Carlos Galvez September 18, 2007
Hello,

I'm trying to implement a couple of IIR filters on a Blackfin BF537 DSP, my samples are 24bit wide so the DSP functions included with VisualDSP++ are not good for me so I went to the aplications notes and found EE-186 wich describe a 32 bit implementation for the IIR and FIR filters but those IIR filters assume A0 to be iqual to 1.0
The problem is that I'm using MatLAB's FDATool to calculate the coefficients and it seems I can not use them as they are. Can any one tell me what can I do to obtain the right coefficients? (also how)

Thanks a lot in advance.

Juan Carlos Gvez

____________________________________________________________________________________
Got a little couch potato?
Check out fun summer activities for kids.
http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+kids&cs=bz
Hello Jon,

It seems I'm very confussed with all this fixed point stuff... I was looking closely the header file now and the value of A0 is
1073741824 which in hex format turns to be 0x40000000 and that is 1.0 in fixed point 2.30 format (in which I generated the coeff) so now the question is:
can I used the rest of the coeff and just ignore A0? (there is no place for A0 in the filter function)

Thanks,

Juan Carlos Gvez

----- Original Message ----
From: jon duncan
To: Juan Carlos Galvez
Sent: Tuesday, September 18, 2007 4:54:38 PM
Subject: Re: [adsp] IIR filter coefficients

Juan,
with fda tool you can export the coef using a c file with TI compser. What I have done in the past is
export the coefs using the c file header with in the fda tool then copy and paste the coefs in the visual dsp .
there is a new library within matlab that is made for the visualdsp++ but i have yet to spend the 2000.00 for it.
Let me know if this helps or state specifically what the problem is.

Jon

----- Original Message ----
From: Juan Carlos Galvez
To: a...
Sent: Tuesday, September 18, 2007 12:57:57 PM
Subject: [adsp] IIR filter coefficients

Hello,

I'm trying to implement a couple of IIR filters on a Blackfin BF537 DSP, my samples are 24bit wide so the DSP functions included with VisualDSP++ are not good for me so I went to the aplications notes and found EE-186 wich describe a 32 bit implementation for the IIR and FIR filters but those IIR filters assume A0 to be iqual to 1.0
The problem is that I'm using MatLAB's FDATool to calculate the coefficients and it seems I can not use them as they are. Can any one tell me what can I do to obtain the right coefficients? (also how)

Thanks a lot in advance.

Juan Carlos Gvez

Yahoo! oneSearch: Finally, mobile search that gives answers, not web links.

Moody friends. Drama queens. Your life? Nope! - their life, your story.
Play Sims Stories at Yahoo! Games.
____________________________________________________________________________________
Tonight's top picks. What will you watch tonight? Preview the hottest shows on Yahoo! TV.
http://tv.yahoo.com/
On Tue, 18 Sep 2007, Juan Carlos Galvez wrote:

> Hello Jon,
>
> It seems I'm very confussed with all this fixed point stuff... I was looking closely the header file now and the value of A0 is
> 1073741824 which in hex format turns to be 0x40000000 and that is 1.0 in fixed point 2.30 format (in which I generated the coeff) so now the question is:
> can I used the rest of the coeff and just ignore A0? (there is no place for A0 in the filter function)

You don't have to multiply by 1, but you have to include the term being
multiplied. If the filter function does that, then you can "ignore" A0
with no problem.

Patience, persistence, truth,
Dr. mike
Thanks Mike for your answer, well, yes, the function does the multiply operation for me, there is no place for the A0 coeff among the arguments.
One more question, I calculated (MatLAB calculated) the coeff using the 2.30 fixed point format to gain in precision (I followed an example on the book "embedded signal processing.....") now, the processor arithmetics is 1.31 so if I use the coeff as they are the processor will see half the intended value... so, should I scale up all the coeff by 2 before I use them on the filter function?

Already have patience and persistence.... but still a long way to truth... ;)
----- Original Message ----
From: Mike Rosing
To: Juan Carlos Galvez
Cc: a...
Sent: Wednesday, September 19, 2007 9:53:05 AM
Subject: Re: [adsp] IIR filter coefficients
On Tue, 18 Sep 2007, Juan Carlos Galvez wrote:

> Hello Jon,
>
> It seems I'm very confussed with all this fixed point stuff... I was looking closely the header file now and the value of A0 is
> 1073741824 which in hex format turns to be 0x40000000 and that is 1.0 in fixed point 2.30 format (in which I generated the coeff) so now the question is:
> can I used the rest of the coeff and just ignore A0? (there is no place for A0 in the filter function)

You don't have to multiply by 1, but you have to include the term being
multiplied. If the filter function does that, then you can "ignore" A0
with no problem.

Patience, persistence, truth,
Dr. mike

____________________________________________________________________________________
Be a better Globetrotter. Get better travel answers from someone who knows. Yahoo! Answers - Check it out.
http://answers.yahoo.com/dir/?link=list&sid96545469