Hi Thanks for your answers. This is the problem... I'm building a IIR filter using fixed point, (well the limits are -1 to 1), I've calculated the coeffs for the filter but there are values that are out of range of -1 to 1, for instance 4.5, or 2.8 etc... and other values that are in range for the same filter, for example 0.5, 0.126, etc .... Well I can't represent this 2 kind of numbers in the same filter because the range is -1.0 to 1.0... What I can do to solve this...? Other suggestions... Thank you again Diego
IIR filter problem
Started by ●September 28, 2005
Reply by ●September 28, 20052005-09-28
Hi Diego, DX napisa�(a):> Hi > > > Thanks for your answers. > > This is the problem... > > I'm building a IIR filter using fixed point, (well the limits are -1 to > 1), I've calculated the coeffs for the filter but there are values that > are out of range of -1 to 1, for instance 4.5, or 2.8 etc... and other > values that are in range for the same filter, for example 0.5, 0.126, > etc .... > > Well I can't represent this 2 kind of numbers in the same filter > because the range is -1.0 to 1.0... > > What I can do to solve this...? Other suggestions... > > Thank you again > Diegothe simple solution is to rescale coefficients by power of 2 before and after calculations. In your example you divide (shift right 3 bits) all coeff. by 8 and then multiply the result by 8 (shift left 3 bits). Better solution is to use filter design tool, like fdatool in Matlab, which gives structure and numbers normalised to -1.0 ... 1.0 range. Regards Roman Rumian
Reply by ●September 29, 20052005-09-29
Thank you Roman. I've obtained the coeffs for a IIR elliptic filter using Matlab (the command is ellip(x,x,x,x)) end it givesme coeffs, and they are out of range. I'm going to try to use the fdatool. Thank you Excuse my english...
Reply by ●September 30, 20052005-09-30
hi this is bhupi i think your problem can be solved, if you try to normalise the filter coeff. suppose a,b,c,d are iir filter coeff. then new filter coeff will be a/mod,b/mod,c/mod,d/mod where mod=sqrt(a^2+b^2+c^2+d^2) check this before, whether it works or not? This message was sent using the Comp.DSP web interface on www.DSPRelated.com