Forums

Amplitude response of a Biquad Filter

Started by Web Surf January 27, 2006
"rkthebad" <raviyenduri@gmail.com> wrote in
news:vOOdnUD8eYVssmveRVn-sw@giganews.com: 

>>"rkthebad" <raviyenduri@gmail.com> wrote in >>news:J8KdncyPSKDCkGveRVn-ug@giganews.com: >> >>>> >>>>rkthebad wrote: >>>> >>>>> >>>>> Apart from the conditions that you mentioned above, I found one >>>>> more stability condition in a textbook. >>>>> Condition is : |a2| < 1 and |a1| < 1 + a2. >>>>> I did not venture too much into the math, but I am guessing your >>>>> conditions might come down to this after simplification. >>>> >>>>the second one looks different, but the first is the same. >>>> >>>>whatever, i am convinced that the criteria i stated: >>>> >>>> 1. if (a1/2)^2 >= a2 then |a1/2| + sqrt((a1/2)^2 - a2) < 1 >>>> >>>> 2. if (a1/2)^2 < a2 then a2 < 1 >>>> >>>>is both necessary and sufficient. >>>> >>>>if it's case 1. then >>>> >>>> sqrt((a1/2)^2 - a2) < 1 - |a1/2| >>>> >>>> (a1/2)^2 - a2 < (1 - |a1/2|)^2 = 1 - |a1| + (a1/2)^2 >>>> >>>>which comes to >>>> >>>> |a1| < 1 + a2 >>>> >>>>so you're right, it's the same thing (except, it's a "either or" not >>>>*both*). thanks for pointing that out. >>>> >>>>> But, wouldn't it be sufficient to see whether the poles of the >>> quantized >>>>> filter are inside the unit circle? >>>> >>>>that's precisely what i was doing. take a look at the math, that is >>>>all that it is. >>>> >>>>r b-j >>>> >>>> >>> Here is one strange thing that I observed. Can anyone explain why? >>> >>> I am trying to see the actual response of the designed 5-band >>> equalizer. I put a gain of +12 dB for all the bands. Then I vary the >>> sampling frequency of the system. It is observed that at a sampling >>> freq. of 48 kHz, the first band (with fc = 300 Hz) does not show a >>> gain of +12 dB. Instead, it only shows a gain of +9 dB. Why is this >>> so? >>> >>> Thanks, >>> ~ R K >>> >>> >> >>I think you are a victim of 16 bit precision. The low frequency bands >>with high Q are the first place where the problem is likely to occur. >> >>This kind of problem illustrates why the Motorola 56K (24 bits) and >>later > >>the SHARC (32 bits) became so popular in high performance audio. >> >>I think you already found improvements by changing filter topology >>(DFI vs DF2). If you have enough MIPs, you can rewrite the algorithm >>with double precision math with your 16 bit processor or move to a >>higher precision processor. >> >> >> >> >> >>-- >>Al Clark >>Danville Signal Processing, Inc. >>-------------------------------------------------------------------- >>Purveyors of Fine DSP Hardware and other Cool Stuff >>Available at http://www.danvillesignal.com >> > Al, > You are right. Because of the 16-bit quantization, I am losing > precision > compared to the floating point architecture. But, the above mentioned > problem, I am experiencing even in the floating point implementation. > The problem is the same when I tried to compute my coefficients using > MATLAB or Microsoft VC++. Is 48 kHz tooo high a sampling freq. > compared to the 300 Hz band?
I'm not sure I completely understand your setup. DFI works best with fixed point assuming you have a double length accumulator. In a 16 bit DSP, the accumulator will be 32 bits + guard bits. In a 32 bit processor such as a SHARC, you have an 80 bit accumulator when operating in fixed point. This is very good for DFI. I think one of the reasons that a lot of DSP books suggest DFII, is that they didn't assume the double width accumulator was available. I think this is true of just about every DSP, but many of the books were written before there were DSP chips. If you are using IEEE float, you have about 24 bits of mantissa and 8 bits of exponent (discounting the hidden bit). The results of the multiplier and accumulator are also IEEE float (24 + 8). There is no extended precision in this mode. DFII might be better for this situation. My guess is that 300 Hz is too high for 48k sampling with a high Q filter with only 16 bits of precision. Al
> > Thanks, > ~ R K >
-- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
>"rkthebad" <raviyenduri@gmail.com> wrote in >news:vOOdnUD8eYVssmveRVn-sw@giganews.com: > <********************************************************> >> Al, >> You are right. Because of the 16-bit quantization, I am losing >> precision >> compared to the floating point architecture. But, the above mentioned >> problem, I am experiencing even in the floating point implementation. >> The problem is the same when I tried to compute my coefficients using >> MATLAB or Microsoft VC++. Is 48 kHz tooo high a sampling freq. >> compared to the 300 Hz band? > >I'm not sure I completely understand your setup. > >DFI works best with fixed point assuming you have a double length >accumulator. In a 16 bit DSP, the accumulator will be 32 bits + guard
bits.
> >In a 32 bit processor such as a SHARC, you have an 80 bit accumulator
when
>operating in fixed point. This is very good for DFI. I think one of the >reasons that a lot of DSP books suggest DFII, is that they didn't assume
>the double width accumulator was available. I think this is true of just
>about every DSP, but many of the books were written before there were DSP
>chips. > >If you are using IEEE float, you have about 24 bits of mantissa and 8
bits
>of exponent (discounting the hidden bit). The results of the multiplier
and
>accumulator are also IEEE float (24 + 8). There is no extended precision
in
>this mode. DFII might be better for this situation. > >My guess is that 300 Hz is too high for 48k sampling with a high Q filter
>with only 16 bits of precision. > >Al > > > >> >> Thanks, >> ~ R K >> > > > >-- >Al Clark >Danville Signal Processing, Inc. >-------------------------------------------------------------------- >Purveyors of Fine DSP Hardware and other Cool Stuff >Available at http://www.danvillesignal.com >
That might explain why the DF1 structure on floating point is not giving me good results. I need some time to finish working on this. I shall get back to you guys for any further help. Thanks, ~ R K
Is there a way or any article that would suggest as to what should be the
gains for the bands in an equalizer for some presets like ROCK, POP,
etc.?

Thanks,
~ R K



>>> Here is one strange thing that I observed. Can anyone explain why? >>> >>> I am trying to see the actual response of the designed 5-band >>> equalizer. I put a gain of +12 dB for all the bands. Then I vary the >>> sampling frequency of the system. It is observed that at a sampling >>> freq. of 48 kHz, the first band (with fc = 300 Hz) does not show a >>> gain of +12 dB. Instead, it only shows a gain of +9 dB. Why is this >>> so? >>> >>> Thanks, >>> ~ R K
I had a similar problem when trying to graph the freq response of R B-J equalisers in Excel. I discovered this problem exists only in High Q Notch/peak filters The reason was that 4 or 5 or 6 or even 10 data points per octave are not enough to acurately plot a high Q notch. The answer was to make sure that Fo was one of the calculated and plotted data points. It is better if you also calculate and plot some points +/- 2-3% away from Fo ( For a multiband Notch Filter, you will need to ensure that each Fo is in the list of calculated and plotted frequency points) PS : I can e-mail my Spreadsheet to anyone who is interested. Web Surf
>>>> Here is one strange thing that I observed. Can anyone explain why? >>>> >>>> I am trying to see the actual response of the designed 5-band >>>> equalizer. I put a gain of +12 dB for all the bands. Then I vary the >>>> sampling frequency of the system. It is observed that at a sampling >>>> freq. of 48 kHz, the first band (with fc = 300 Hz) does not show a >>>> gain of +12 dB. Instead, it only shows a gain of +9 dB. Why is this >>>> so? >>>> >>>> Thanks, >>>> ~ R K > > >I had a similar problem when trying to graph the freq response of R B-J >equalisers in Excel. > >I discovered this problem exists only in High Q Notch/peak filters > >The reason was that 4 or 5 or 6 or even 10 data points per octave are
not
>enough to acurately plot a high Q notch. > >The answer was to make sure that Fo was one of the calculated and
plotted
>data points. It is better if you also calculate and plot some points +/- >2-3% away from Fo > >( For a multiband Notch Filter, you will need to ensure that each Fo is
in
>the list of calculated and plotted frequency points) > >PS : I can e-mail my Spreadsheet to anyone who is interested. > >Web Surf > >
Could you e-mail me the same please ? Thanks, ~ R K
>>>>> Here is one strange thing that I observed. Can anyone explain why? >>>>> >>>>> I am trying to see the actual response of the designed 5-band >>>>> equalizer. I put a gain of +12 dB for all the bands. Then I vary
the
>>>>> sampling frequency of the system. It is observed that at a sampling >>>>> freq. of 48 kHz, the first band (with fc = 300 Hz) does not show a >>>>> gain of +12 dB. Instead, it only shows a gain of +9 dB. Why is this >>>>> so? >>>>> >>>>> Thanks, >>>>> ~ R K >> >> >>I had a similar problem when trying to graph the freq response of R B-J >>equalisers in Excel. >> >>I discovered this problem exists only in High Q Notch/peak filters >> >>The reason was that 4 or 5 or 6 or even 10 data points per octave are >not >>enough to acurately plot a high Q notch. >> >>The answer was to make sure that Fo was one of the calculated and >plotted >>data points. It is better if you also calculate and plot some points
+/-
>>2-3% away from Fo >> >>( For a multiband Notch Filter, you will need to ensure that each Fo is >in >>the list of calculated and plotted frequency points) >> >>PS : I can e-mail my Spreadsheet to anyone who is interested. >> >>Web Surf >> >> >Could you e-mail me the same please ? > >Thanks, >~ R K > >
Thanks a ton to everyone for their previous insights. Is there a way I can get any gains for the presets? E.g. for a 5-band equalizer, what would be the dB level for each band for a JAZZ preset. Or, is it purely aesthetic? Thanks, ~ R K