we use a filter chip we can't get any more, at least not reliably. it's an 8th order bessel. I want to replace it with an RC and then do tight filtering in FIR in the uC, a 32 bit integer processor. I understand FIR is specified differently than analogue filters. Q: is there a rule of thumb to come up with an FIR that's "as good as" an 8th order bessel? Thanks, Jon.
replacing 8th order bessel with FIR
Started by ●September 3, 2012
Reply by ●September 3, 20122012-09-03
>we use a filter chip we can't get any more, at least not reliably. it'san>8th order bessel. I want to replace it with an RC and then do tight >filtering in FIR in the uC, a 32 bit integer processor. > >I understand FIR is specified differently than analogue filters. > >Q: is there a rule of thumb to come up with an FIR that's "as good as" an >8th order bessel? > >Thanks, Jon.You could simply sample the impulse response of the Bessel filter and use it as FIR. This is functional but completely impractical for real-time (unless you can do it offline, or the rates are very low). This would result in *exactly* the same filter. But, most likely this idea won't work. The next question that comes to mind is: does latency matter. A Bessel filter has "minimum" phase distortion. A run-of-the-mill (symmetric) FIR has "no" phase distortion, but the group delay may be markedly higher. One could specify similar passband flatness, but you'll end up with a very slow (latency) and expensive (multiplications per sample) FIR filter. The more accurately you can describe the requirements, the cheaper and faster it gets. For a Bessel filter, you have only one degree of freedom, for a FIR you've got almost as many as you've got coefficients. There is a huge gap between a "dumb" textbook FIR filter and one that has been optimized for your specific needs. An optimized design would filter and decimate in multiple stages. That's a completely different world from analog filter design. I've documented one such exercise here: http://www.dsprelated.com/showarticle/156.php And if efficiency really matters, this isn't nearly close to what could be achieved.
Reply by ●September 3, 20122012-09-03
maanantai, 3. syyskuuta 2012 15.40.46 UTC+3 Jon Mcleod kirjoitti:> we use a filter chip we can't get any more, at least not reliably. it's an > > 8th order bessel. I want to replace it with an RC and then do tight > > filtering in FIR in the uC, a 32 bit integer processor.You might also be able to implement an IIR-filter. However, FIR-filter will always be stable, as IIR might oscillate if you are not careful when rounding the coefficients and intermediate results. http://www.d-filter.ece.uvic.ca/SupMaterials/Slides/DSP-Ch11-S1-5.pdf
Reply by ●September 3, 20122012-09-03
"Jon Mcleod" <61839@dsprelated> wrote in message news:KdKdnR2bA97TONnNnZ2dnUVZ_gGdnZ2d@giganews.com...> we use a filter chip we can't get any more, at least not reliably. it's > an > 8th order bessel.Maxim switched cap filter, is it? Just another illustration why not to use Maxim parts.> I want to replace it with an RC and then do tight > filtering in FIR in the uC, a 32 bit integer processor.Before getting into complications, rethink the application requirements to filtering. This Maxim part could probably be replaced by analogue filter of one or two opamps.> I understand FIR is specified differently than analogue filters. > > Q: is there a rule of thumb to come up with an FIR that's "as good as" an > 8th order bessel?If the goal is 8th order Bessel, why not doing a 8th order digital Bessel? Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
Reply by ●September 3, 20122012-09-03
yes, probably IIR is the way to go, not FIR. Regardless of the subject line. Note that typically the analog filter is placed before the DAC as anti-aliasing filter. If such is the case, you cannot simply omit the analog filter and replace it with a digital one.
Reply by ●September 3, 20122012-09-03
On Mon, 03 Sep 2012 07:40:46 -0500, Jon Mcleod wrote:> we use a filter chip we can't get any more, at least not reliably. it's > an 8th order bessel. I want to replace it with an RC and then do tight > filtering in FIR in the uC, a 32 bit integer processor. > > I understand FIR is specified differently than analogue filters. > > Q: is there a rule of thumb to come up with an FIR that's "as good as" > an 8th order bessel?You left out three words in your question, and those three words make all the difference in the world. They are: "in this application". Without them, your question is meaningless. With them, the question "what are the details of your application" must be asked. Why was that filter chosen in the first place? Why a Bessel? Why 8th order? What is getting filtered? Where is the information going? What is being filtered _out_? What is being left _in_? What price delay? What price variable group delay? What price ringing? Etc. Without knowing the answers to those questions, your question is a Rorschach blot, where the answers to it tell you far more about the respondent than they do about what you need to know. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Reply by ●September 4, 20122012-09-04