Forums

Is 'Bessel' digital lowpass filter standard?

Started by gretzteam August 24, 2010
On 24 Aug, 18:29, "gretzteam" <gretzteam@n_o_s_p_a_m.yahoo.com> wrote:
> >Two reasons: > > >1) Overshoot is not a design criterion often used in DSP. Maybe it > > &#2013266080; is in control theory, that traditionally deals with transients. > > &#2013266080; In DSP the focus is on frequency domain, not time domain. > > >2) In the olden days of analog filters, the Bessel filter was a > >device > > &#2013266080; useful to obtain approximately linear phase, but that had poor > > &#2013266080; magnitude characteristics. In the realm of DSP one can obtain > > &#2013266080; exact linear phase *and* total control of the magnitude by > > &#2013266080; using FIRs. In the digital world the Bessel is more or less > > &#2013266080; obsolete. > > >Rune > > Interesting! > However I would say that some applications also care a lot about the time > domain and transients, even when done in DSP. For example, the filtering of > ECG signals in medical applications are very sensitive to transients.
Then don't use the DSP techniques for analyzing those signals.
> I guess a FIR filter could do exactly what I want. However, the processing > power required would be huge.
No, it wouldn't. FIRs are standard DSP tools.
> The ratio of sampling rate to cutoff > frequency is large in some mode of operation. This has to be small/low > power. > > I'm not so sure that some Bessel-type approximation are really obsolete. So > far it's giving me the best trade-off of processing power, overshoot and > magnitude response.
It seems you have set your mind on the Bessel. If so, start digging in the ancient references. Rune

gretzteam wrote:


> I'm not so sure that some Bessel-type approximation are really obsolete. So > far it's giving me the best trade-off of processing power, overshoot and > magnitude response.
There is a common misconception that overshoot and linear phase are related. They actually aren't. If you need a filter with a given amount of overshoot, you should design a filter to a given amount of overshoot. VLV
On 08/24/2010 09:29 AM, gretzteam wrote:
>> Two reasons: >> >> 1) Overshoot is not a design criterion often used in DSP. Maybe it >> is in control theory, that traditionally deals with transients. >> In DSP the focus is on frequency domain, not time domain. >> >> 2) In the olden days of analog filters, the Bessel filter was a >> device >> useful to obtain approximately linear phase, but that had poor >> magnitude characteristics. In the realm of DSP one can obtain >> exact linear phase *and* total control of the magnitude by >> using FIRs. In the digital world the Bessel is more or less >> obsolete. >> >> Rune >> > > Interesting! > However I would say that some applications also care a lot about the time > domain and transients, even when done in DSP. For example, the filtering of > ECG signals in medical applications are very sensitive to transients. > > I guess a FIR filter could do exactly what I want. However, the processing > power required would be huge. The ratio of sampling rate to cutoff > frequency is large in some mode of operation. This has to be small/low > power. > > I'm not so sure that some Bessel-type approximation are really obsolete. So > far it's giving me the best trade-off of processing power, overshoot and > magnitude response.
I think that part of the reason that the world came up with "named" filters like the Bessel and the Tshebyschev is because the chief advantage of all the "named" filters is that they are easy to calculate for the continuous-time case and they are often good enough approximations to what you really want to get the job done. That was great from 1950 to 1970 or 1980, when the tools you had at your disposal were books with tables, and a slide rule or a hand-held calculator. It was particularly good when you were going to implement the filter with a pile of resistors, caps, amplifiers and maybe some coils. But the filters often weren't the _best_ fit to what you really needed -- if you were lucky they were good enough, and didn't require six months of tweaking in the lab to get them working. Furthermore, when you take one of those filters as a continuous-time prototype and translate it to the digital world you lose some of the special qualities that makes the filter desirable. On the other hand, with todays computers, if you have nimble fingers and a copy of Matlab, Octave or Scilab you can specify what you _really_ want out of a filter and turn your math package loose on finding an optimal solution for you. There aren't any nice closed-form solutions, and you can't name the filter (unless you want to name it after yourself), but you may well get something that's a lot better for your purposes than some digital approximation to a named filter. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 08/24/2010 09:39 AM, Vladimir Vassilevsky wrote:
> > > gretzteam wrote: > > >> I'm not so sure that some Bessel-type approximation are really >> obsolete. So >> far it's giving me the best trade-off of processing power, overshoot and >> magnitude response. > > There is a common misconception that overshoot and linear phase are > related. They actually aren't. If you need a filter with a given amount > of overshoot, you should design a filter to a given amount of overshoot.
Think of a brick-wall (in frequency) filter as a good counter-example. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html

Tim Wescott wrote:
> On 08/24/2010 09:39 AM, Vladimir Vassilevsky wrote:
>> There is a common misconception that overshoot and linear phase are >> related. They actually aren't. If you need a filter with a given amount >> of overshoot, you should design a filter to a given amount of overshoot. > > > Think of a brick-wall (in frequency) filter as a good counter-example.
I can make a filter as close to a brick wall as required without any overshoot or ringing. It could be done with linear or nonlinear phase; there is no connection. VLV
>> I guess a FIR filter could do exactly what I want. However, the
processin=
>g >> power required would be huge. > >No, it wouldn't. FIRs are standard DSP tools.
Of course they are standard DSP tools. But whether you can use it or not really depends on what world you live in. If you're used to do DSP with a 700MHz Sharc DSP, yeah you can do what you want. If you're implementing this directly in hardware where every gate counts (yes this world still exists), then you have to try something else. I'm now trying to find a good-enough solution, that solves the problem. I don't know what is wrong with that. Bessel gets me pretty much there, and I wonder if there could potentially be better. FIR isn't. Dave
> I believe the input to the system > will contain squarish wave and an overshoot/ringing is not tolerable.
Bessel has traditionally been used in analog filters in similar applications, typical for communications. A digital IIR based on an analog filter catalogues will be possible, but probably not ideal for order >3. There are variations on Bessel: AN56 "Better than Bessel" Linear Phase Filters for Data Communications http://cds.linear.com/docs/Application%20Note/an56.pdf A digital linear phase filter would typical be a FIR. If the job is to remove spikes a median filter works well preserving squarewaves. MfG JRD
>> I believe the input to the system >> will contain squarish wave and an overshoot/ringing is not tolerable. > >Bessel has traditionally been used in analog filters in >similar applications, typical for communications. >A digital IIR based on an analog filter >catalogues will be possible, but probably not ideal >for order >3. >There are variations on Bessel: >AN56 "Better than Bessel" Linear Phase Filters for Data Communications >http://cds.linear.com/docs/Application%20Note/an56.pdf > >A digital linear phase filter would typical be a FIR. > >If the job is to remove spikes a median filter works well >preserving squarewaves. > >MfG JRD >
Thanks for this. I'm actually not too concerned about phase response (and I'm not association linear phase with overshoot either). The 'good' thing about this Bessel approximation is that it has low overshoot and somewhat linear phase so I'll take it. Maybe this Bessel approximation is a 'named' filter that come close to a un-named fully optimized filter for my application. If it's the case I'll take it and move on... thanks! Dave
On Aug 24, 1:33&#2013266080;pm, "gretzteam" <gretzteam@n_o_s_p_a_m.yahoo.com>
wrote:
> >> I believe the input to the system > >> will contain squarish wave and an overshoot/ringing is not tolerable. > > >Bessel has traditionally been used in analog filters in > >similar applications, typical for communications. > >A digital IIR based on an analog filter > >catalogues will be possible, but probably not ideal > >for order >3. > >There are variations on Bessel: > >AN56 "Better than Bessel" Linear Phase Filters for Data Communications > >http://cds.linear.com/docs/Application%20Note/an56.pdf > > >A digital linear phase filter would typical be a FIR. > > >If the job is to remove spikes a median filter works well > >preserving squarewaves. > > >MfG &#2013266080; JRD > > Thanks for this. I'm actually not too concerned about phase response (and > I'm not association linear phase with overshoot either). The 'good' thing > about this Bessel approximation is that it has low overshoot and somewhat > linear phase so I'll take it. > > Maybe this Bessel approximation is a 'named' filter that come close to a > un-named fully optimized filter for my application. If it's the case I'll > take it and move on... > > thanks! > Dave- Hide quoted text - > > - Show quoted text -
Hello Dave, The Butterworth filter arises from maximizing the number of derivatives in the magnitude response being equal to zero at DC and the Bessel filter arises from maximizing the number of terms that yield linear phase at DC. It is called a Bessel filter since the coefs for the s form of the transfer equation result from Bessel polynomials which may be derived from Bessel functions. It could be that the Bessel filter is good enough for your application. If need be, just increase the filter order to get the overshoot under control. The magnitude response of Bessel filters (also called Thompson filters) is described by some as sort of "droopy." So you don't see them often, but I do know of some protocols where they are speced in. For example, Flex and ERMES specify 10th order Bessel filters for intersymbol interference rejection! Probably not the best answer by the protocol committee but it was its simplicity to specify as opposed to some optimized numerical result that made it get speced that way. Clay

Clay wrote:



> It could be that the > Bessel filter is good enough for your application. If need be, just > increase the filter order to get the overshoot under control.
The Bessel filters of the higher orders have higher overshoot.
> The > magnitude response of Bessel filters (also called Thompson filters)
IIRC the Thompson filter is some kind of compromise between Butterworth and Bessel responses.
> is > described by some as sort of "droopy." So you don't see them often, > but I do know of some protocols where they are speced in. For example, > Flex and ERMES specify 10th order Bessel filters
9th order, Fc = 3.9kHz. Just advised as an example, not prescribed.
> for intersymbol interference rejection!
for adjacent channel spillage reduction.
> Probably not the best answer by the protocol > committee but it was its simplicity to specify as opposed to some > optimized numerical result that made it get speced that way.
I was surprised by such an advice also; actually, I used FIR filter. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com