Reply by mnentwig September 4, 20122012-09-04
>> Rorschach blot, where the answers to it tell you far more about the
respondent why, I earn a commission of 10 % for each FIR tap I sell here :D
Reply by Tim Wescott 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 mnentwig 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 Vladimir Vassilevsky 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
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 mnentwig September 3, 20122012-09-03
>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.
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 Jon Mcleod September 3, 20122012-09-03
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.