16

Question

I'll get straight to the narrow point ahead:

I'd like an expert's opinion on the appropriate use of Bessel when considering a specific 4th order bandpass design.

I don't mind a more general answer, so long as I can directly make deductions from the answer into specific situations so that I know when to use the term and when to avoid it for some particular case I'm considering.

Some background context will be needed.

Background

A recent question, Bandpass filter frequency response not the same as the one taken from analog filter wizard, left me wondering about the meaning of Bessel. (And, in general, other filter names that I may misuse out of ignorance.)

The above question includes a 4th order bandpass design. I am comfortable with KCL, comfortable using symbolic software for solving sets of equations. I can readily develop the transfer function for the circuit presented there. That's not the stopper.

What took me up short were two things:

  1. The provided Bode plot just didn't look like a Bessel filter to me, which from earlier experience doesn't look pinched near the center-frequency. That plot was decidedly pinched in order to narrow its bandpass width. Which meant a high \$Q\$ was applied. And Bessel just isn't high \$Q\$ in my book.

  2. The circuit was taken from Analog's filter design website, where it was labeled a 4th order Bessel filter.

So I was left wondering.

The author was looking for \$f_{_\text{p}}\approx 5.5\:\text{kHz}\$ (actually, it was \$f_{_\text{p}}=\sqrt{5\:\text{kHz}\cdot 6\:\text{kHz}} \approx 5.477\:\text{kHz}\$) and a passband width of \$1\:\text{kHz}\$. In this example case, the fractional bandwidth is only about 18% and a true 4th order filter (not overlapping a lowpass and a highpass) is indicated. I'm guessing that the software felt this implies \$Q\ge 5\$. And that's pretty much what the Bode plot was showing me.

But that's not my understanding of a Bessel filter, either.

So that's why I'm here asking this question.

Either my own understanding that a 4th order Bessel filter has a very specific homogeneous response is right and the use of the term on the Analog site is, at best, "very flexible." Or else I have an overly-narrow viewpoint and I've simply failed to take into account a larger view that I've been missing.

I'd like to know which it is.

Homogeneous response for a 4th order Bessel

Up to now, I've imagined the homogeneous response for a 4th order Bessel filter is \$H^{n=4}_s=s^4+10s^3+45s^2+105s+105\$. The general approach for Bessel is that given the loss function \$H^n_s=\frac1{G^n_s}\$, then the zeros (which were poles in \$G_s\$ but are now zeros) can be found by solving \$s H^{''}_s-2\left(s+n\right)H^{'}_s+2nH_s=0\$, where in this case \$n=4\$. If you apply that to \$s^4+10s^3+45s^2+105s+105\$ you will find it does simplify out to zero, as expected. This fact tends to confirm my expectations.

\$s^4+10s^3+45s^2+105s+105\$ can be factored into two 2nd order homogeneous responses, each with their own independent shape and pole frequency -- neither of which are the same as each other:

$$\begin{align*} \omega_{\text{p}_1}&=3.38936579272158\:\frac{\text{rad}}{\text{s}} & \zeta_1&=0.620702965049498 & Q_1&=0.805538281841666 \\\\ \omega_{\text{p}_2}&=3.02326493881663\:\frac{\text{rad}}{\text{s}} & \zeta_2&=0.957974461859108 & Q_2&=0.521934581668980 \end{align*}$$

You can also solve \$s^4+10s^3+45s^2+105s+105\$ to find the peak (by computing the magnitude and solving for its derivative equal to zero) at \$\omega_{\text{p}}=3.27676729191795\:\frac{\text{rad}}{\text{s}}\$.

But there are a few consistencies in the relationships between these two 2nd order factors that I expect to find in any Bessel bandpass filter. The first is that the values of \$\zeta_1\$ and \$\zeta_2\$ are immutable. All 4th order Bessel bandpass filters should, when factored, exhibit two 2nd order bandpass filters with those two damping factors (or Q's.) The second is that I'd expect the relationships between all three angular frequencies should remain such that when given a 4th order \$\omega_{\text{p}}\$ I'd be setting the two 2nd order filters for:

$$\begin{align*} \omega_{\text{p}_1}&=\frac{3.02326493881663}{3.27676729191795}\cdot \omega_{\text{p}}=0.922636449122714\cdot \omega_{\text{p}} \\\\ \omega_{\text{p}_2}&=\frac{3.38936579272158}{3.27676729191795}\cdot \omega_{\text{p}}=1.03436267844877\cdot \omega_{\text{p}} \end{align*}$$

As shown above, there's no problem moving all this around to any particular desired angular frequency. A Bessel is a Bessel no matter where it is located in the frequency domain. It's the shape that defines it, not the location of its angular frequency.

So I thought.

But it's been my assumption that you cannot mess with the shape factors, nor mess with the relative relationships of the poles, and still consider it to be a Bessel filter.

Confirmation using tables

An earlier question here, Transfer function of Bessel filter, shows the following table (taken from Ron Mancini's "Op Amps For Everyone", August 2002, SLOD006B, I think):

enter image description here

I've circled the relevant row. Below, is also the book's low-pass form (which is the basic form used by book and translated to bandpass or highpass, as needed.) I've included it, as well, to be sure we are all on the same page.

I can compute \$\zeta\$ easily from these factors: \$\zeta_i=\frac{a_i}{\sqrt{4\,\cdot\, b_i}}\$. Here, I get \$\zeta_{i=1}=\frac{1.3397}{\sqrt{4\,\cdot\, 0.4889}}\approx 0.9580\$ and \$\zeta_{i=2}=\frac{0.7743}{\sqrt{4\,\cdot\, 0.3890}}\approx 0.6207\$.

Please note that these match up very closely to the analytic values I came up with, earlier.

So here I've referred to a Bessel table provided in a well-known book on opamps and filter design and I'm finding similar results.

And this sharpens my question about terminology.

Coming back to Analog's filter website

I tend to imagine a 4th order Bessel bandpass looking like the green trace, not the red trace, shown below:

enter image description here

Sure, you can start with a Bessel and then mess around with the damping factors to increase the Q and get the red shape. But in my opinion, doing that means it is no longer a Bessel. Note the group delay behavior between the two?? The red just isn't Bessel to me.

There's another detail, by the way, about Analog's filter designer results. It follows the advice for 4th order bandpass filters found in "Op Amps For Everyone":

enter image description here

Note that it is quite explicit about using the exact same \$Q\$ for both 2nd order sections! Yet I know that it should not be done that way for a Bessel!

Yes, I know that makes filter design "for everyone" a lot easier. And I've no problem with the book's approach. My problem is with the Analog website's use of terms.

Let's have a look at the resulting circuit and then perform some calcs:

enter image description here

I won't belabor the KCL here for the MFB stages and instead just publish out result of a KCL analysis:

# r1a is the input resistor; for example, 2.18k in stage A
# r2a is the resistor to the reference; for example, 56 in stage A
# r3a is the feedback resistor; for example, 5.35k in stage A
# c1a is the feedback capacitor
# c2a is the capacitor to the minus opamp input
#
mfb
{omega: sqrt(r1a + r2a)/(sqrt(c1a)*sqrt(c2a)*sqrt(r1a)*sqrt(r2a)*sqrt(r3a)),
 zeta: sqrt(r1a)*sqrt(r2a)*(c1a/2 + c2a/2)/(sqrt(c1a)*sqrt(c2a)*sqrt(r3a)*sqrt(r1a + r2a)),
 P: [{A: -c2a*r3a/(r1a*(c1a + c2a)), N: 1}]}

Now, let's compute some values:

stageA = { r1a:2.18e3, r2a:56, r3a:5.35e3, c1a:51e-9, c2a:51e-9 }
stageB = { r1a:2.23e3, r2a:56.2, r3a:5.47e3, c1a:56e-9, c2a:56e-9 }
(mfb[omega].subs(stageA)/2/pi).n()      # pole frequency for stage A (in Hz)
5774.13194620245
(mfb[omega].subs(stageB)/2/pi).n()      # pole frequency for stage B (in Hz)
5190.09087797020
(1/2/mfb[zeta].subs(stageA)).n()        # Q for stage A
4.94949095175659
(1/2/mfb[zeta].subs(stageB)).n()        # Q for stage B
4.99459396879013

The pole frequency ratios are close to what I'd expect for the pair of 2nd order stages used for a 4th order Bessel -- except that they aren't quite (because they instead used identical \$Q\$s for both stages.) But I don't think the \$Q\$'s should be the same for a 4th order Bessel. (Note that they are, in fact, about 5 as I'd expected.) I just don't think those are the right \$Q\$'s for a Bessel.

Okay. That's it. I'm done posing the question(s).

Sure. I get it that Analog's site allows the use of commonly used specifications, such as the passband. And it does whatever is required in order to achieve the specifications, even if that means a very high \$Q\$ must be used.

I wouldn't have it any other way!

But the point here is about the use of Bessel to describe the result. It may be roughly in that general direction. It may be the fastest settling option given the specifications that were accepted for the filter. But being the fastest settling under the set of circumstances doesn't make it a Bessel in my mind. It's just the closest you can get to one. But it's not one.

That's my thoughts about it.

But what's the real story?

Notes

Just for reference, one can find the Bessel polynomials at this Wiki site:

enter image description here

jonk
  • 77,059
  • 6
  • 73
  • 185
  • "But it's been my assumption that you cannot mess with the shape factors, nor mess with the relative relationships of the poles, and still consider it to be a Bessel filter.", I'm no expert, but I agree with this statement as well as the one about the coefficients, zeta, and Q values. There is something wrong with this wizard in regards to how it is handling its terms. – Yet Another Michael Dec 21 '22 at 03:53
  • <<< appropriate use of Bessel when considering a specific 4th order bandpass design >>> I thought that Bessel filters used were only "lowpass" designed because used for "generating" a fixed delay (?) ... – Antonio51 Dec 21 '22 at 05:09
  • 1
    @Antonio51 When considering a bandpass at all, the delay is lowest using a Bessel bandpass. If you alter the Q of the two 2nd order stages in any way, either smaller Q or larger Q doesn't matter, the delay gets worse. Bessel optimizes the delay. Whether or not that's important (I did use Bessel for modems and had to go to 10-pole receive and 6-pole transmit back then) is entirely a different thing. But yes, they exist as bandpass. Of course, my question is about Analog's use of terms. Don't lose sight of that. – jonk Dec 21 '22 at 05:16
  • Jonk, I really think that the DSP.SE will provide you with better answers. – tobalt Dec 21 '22 at 08:00

2 Answers2

6

A Bessel filter is only specified as a lowpass, not anything else, and the characteristic is that it tries to approximate an ideal delay, \$\mathrm{e}^{-st}\$. Given the nature of the Bessel polynomials, the response of the filter can only be an approximation and, implicitly, it can only be a lowpass, because the filter is built up from the MacLaurin series (on dsp.ee) of the ideal delay and it's formed starting with the lowest order terms, up. Rather than repeating everything, I hope you don't mind me pointing to this answer for a proof. That is, the resulting filter is a lowpass, but the converging point is an allpass. Life is weird.

That frequency conversions are possible, they don't change what a Bessel filter is meant to be, nor does it make the converted filters Bessel. They might resemble Bessel, they might share the characteristic flat group delay but, they are not Bessel. Furthermore, any such conversions will only be for a specific case -- as you correctly said. In the case of a bandpass, the only possible transfer function is by reusing the denominator of the lowpass, any other will distort the group delay. While technically possible, the fact that this conversion is only possible for one specific characteristic polynomial and, by extension, only for a unique set of frequencies, makes this an exception to the rule, rather than the rule. At least for the bandpass and bandstop flters which, by design, need adjustable BW/f0 ratios; the highpass and even allpass can be considered Bessel but, again, they are only derivatives of the true meaning of a Bessel (can you really say that an approximation of an ideal delay is a highpass, zero DC?).

As for Ron Mancini's book, I'm sory to say it's not very reliable in what regards the Bessel filters. That particular quote (16-16) implies the resulting 4th order filter is some Linkwitz-Riley derivative, not a Bessel, given the doubling of the poles. The are other counter-arguments, as well, regarding the poles. So, personally, I would take a few grains of salt when reading about Bessel filters in that book. The tables are correct, though with frequency scaling applied (they consider the -3 dB point which is not the case for a Bessel but, that doesn't mean it can't be).

So, you are right to say that ADI's filter design is very loose with the naming of that bandpass filter as Bessel.

But, this does bring an interesting question: if the above are true for a Bessel filter, can they also be true for the other classical filter designs, as well? The answer is: no, because of each filter's requirements. The characteristic of a Butterworth filter is passband flatness and this can be achieved for all types of filters: lowpass, highpass, bandpass, and bandstop. A Chebyshev filter has equiripple in the passband, and this, too, can be achieved for all four types of filters (you can make an allpass, it will not have ripple but, really...). The same thing for Pascal, Papoulis, Legendre, Halpern, you name it -- all of them have a specific characteristic of their passbands and, the conversion from the lowpass prototype to any of the other 3 types will preserve the passband characteristics. And it goes even further, for the inverse filters: inverse Pascal, Chebyshev, Cauer/elliptic, <insert_your_own_inverse_filter>. Gaussian filters might be an exception, even if they, too, are approximations.

The reason why this doesn't apply to a Bessel is because its characteristic is not the frequency, it's the group delay. It's also the reason why the bilinear transform is not possible while preserving the group delay shape. Special considerents are needed in that case, as Thiran showed (last time I could find a free version of this through Google Scholar).

So, as a conclusion: is ADI's software correct? No. How should they name the filter, then? I don't know but, I suppose they could say it's an attempt at deriving it from the Bessel, with the specific clarification that it will no longer be a Bessel. Besselish? Besselistic? I'm really not sure what the resulting bandpass will serve: it will not have a very desirable spectrum, the group delay will certainly not be flat, anymore, so I have to wonder what was the purpose in making this filter, in the first place?

And, since the topic shifted to spectrum, there is one more aspect to discuss: a Bessel filter has, very much, a non-flat passband. It starts drooping right from the start and, even a 4th order lowpass prototype will have a 0.155 dB attenuation in the passband as early as half the bandwidth -- and this considering 1 Hz as the other end, not the -3 dB point (~2.114 Hz). Even if its frequency characteristics would be preserved in a conversion to a bandpass, the passband will look just as droopy. Let's assume the group delay is flat. In fact, adding \$s^2\$ to the numerator of the lowpass prototype will make it a bandpass with flat group delay. Will this really be a useful filter? The whole point of having a flat group delay is for the purpose of temporal filtering (pulse filtering, minimal overshoot, for example). What good will that do in a bandpass? If the purpose is some linearity of the phase, again, that will come at the expense of the magnitude. So, a "bandpass Bessel" does not even make for a decent filter. In fact, if one would end up needing such a chimera, a better course of action would be reconsidering other filters, or combination of filters.

And, at this point, I'd venture a guess: that the person needing such a filter would need it for audio purposes, charmed by the appeal of the linear phase. If that's the case then it's best to remember that the passband flatness matters a lot more to the ear than group delay, due to temporal masking, so there is a reason Butterworth filters are preferred in audio. In fact, if maximum flatness is needed, the inverse Chebyshev beats Butterworth, if you can stomach the zeroes. But this diverging, now.

(I'm sorry for the self-references but, I don't know of many other answer dealing with these filters)

a concerned citizen
  • 21,167
  • 1
  • 20
  • 40
  • If you think the proofs are really needed, I can add them. – a concerned citizen Dec 21 '22 at 10:53
  • 1
    No, the proofs aren't needed here. Thanks! This is pretty much what I was looking for as an answer. So I'm selecting it. Thanks so much for your perspective!!! (I'm just a hobbyist and this is what I needed to see.) And I think this is a nice note for me to end on. (I am leaving on the 31st and I won't be coming back here, after.) Best wishes! – jonk Dec 21 '22 at 17:53
  • @jonk I just saw your comment beneath the OP and I'd like to clarify something: nobody says you can't make a bandpass with a flat group delay, it's just that the impulse response will (probably) not be what you [expect](https://i.stack.imgur.com/xIJdQ.png) (on top of the droopyness) but, it will still be better (blue) than a similar Butterworth (red). – a concerned citizen Dec 21 '22 at 19:25
  • "That is, the resulting filter is a lowpass, but the converging point is an allpass. Life is weird." this is not weird - you are expanding a delay, there is no surprise that the limiting case is a perfect delay - which is all-pass. – Tesla23 Dec 21 '22 at 21:22
  • @Tesla23 I know, but the sound of it might not click to anyone else reading this in )now, or in the future). It's also a light-hearted tone but, not being a native English speaker, I may not have gotten that part very well. – a concerned citizen Dec 22 '22 at 00:43
  • 1
    @jonk does your comment mean that you are leaving the SEEE site? I hope not! If so you will be very very greatly missed. If you are in fact leaving can you say why? I'd personally be interested in staying in touch with you. My email address is in my profile. – Russell McMahon Dec 27 '22 at 19:47
  • @RussellMcMahon Yes. I set the date about half a year ago and talked with a few about it, then. I'm leaving. I'd love it if you felt like writing to me. It would be more than a small pleasure and honor! I'd be getting far and away the better end of that deal! ;) I'll write a short note to make sure you have my address. (It will be coming from 'infinitefactors.org'.) – jonk Dec 27 '22 at 21:15
3

A 1rad/sec 4th order Bessel low-pass filter will have a group delay of around 2.05 sec:

enter image description here

from Zverev "Handbook of Filter synthesis" p93. Notice that the delay is flat in the passband - this the defining characteristic of a Bessel filter. Scaling to a 1kHz bandwidth, you get a group delay of 326us. This is a bit lower than your filter, I'm not sure why.

A 1kHz bandwidth Bessel filter will have this group delay whether it is a 1kHz LPF or a 1kHz bandwidth BPF centered on 5.5kHz or 5.5GHz.

Your comment: enter image description here

Your green filter has about a 6kHz bandwidth, hence a group delay of around 50us. If you designed a Bessel filter with a 6kHz bandwidth, you will probably get something resembling your green amplitude plot, but the group delay plot looks decidedly non-Bessel (not constant over the passband).

What distinguishes Bessel filters is the flatness of the group delay within the passband. You need to zoom in on the group delay in the passband of the original filter to see if it is flat - then you will know if it is Bessel like.

Tesla23
  • 2,928
  • 1
  • 3
  • 9
  • I know you recognize we are talking about *bandpass*, not lowpass. But can you provide a Laplace transform for a Bessel *bandpass* where I can find that the group delay is flat all the way from DC to daylight? I'll be happy to plot it out. Make it centered at 1 rad/s, please. I've not seen such a thing, yet. The delay as shown is quite flat on the left, flat again on the right. But it must transition as the phase changes. I don't see a way around that. – jonk Dec 21 '22 at 06:25
  • The lowpass to bandpass transformation maps the lowpass 0 - \$\omega_{LP}\$ passband to \$\omega_{LP}\$ centred on \$\omega_0\$. The desirable characteristics of the lowpass passband are transformed into this range. A Bessel BP filter does not have a flat group delay at DC but does have a flat group delay in its passband. Zoom in and check the group delay of your filter above, compare it to say a Chebycheff. – Tesla23 Dec 21 '22 at 08:56
  • @Tesla23 I'd just like to point out that the first picture shows the frequency scaled Bessel filters but, the lowpass prototype implies a fixed group delay which extends with the [increase of the order](https://i.stack.imgur.com/gZyvR.png). – a concerned citizen Dec 21 '22 at 10:57
  • I see you still haven't changed your first statement: a 1 rad/s (lowpass prototype), 4th order Bessel will have a 1 s group delay, not 2.114 s -- that would be with the frequency scaling (\$\omega_p\cdot 2.114\$). So will any order. All will have unity group delay for unity radian frequency. What you see are the plots for filters that have been scaled so that the attenuations are \$1/\sqrt2\; @\;\omega_p=1\$. if you want, use the picture I provided. – a concerned citizen Dec 21 '22 at 19:40
  • There's no need to change the picture. The 1rad/sec refers to the amplitude response, resulting in increasing delay with filter order. You may want to normalize all the orders to constant delay, but that is not what is commonly done in filter design tables. The picture is from Zverev, repeated in Williams book and others. – Tesla23 Dec 21 '22 at 21:21
  • @Tesla23 It doens't matter which book you got it from, a Bessel *lowpass prototype* has unity group delay no matter the order. If the book doesn't say this then it's a bad book. The one you're quoting specifies the freq. scaling at p.400 and, I'm sorry to say, it only deals with Bessel in passing. If you're using a Bessel filter for its group delay then you don't want to apply frequency scaling, as that will ruin the group delay -- you calculate it straight for a group delay and accept that the -3 dB point will be further down the line. In other words: it's either group delay, or frequency. – a concerned citizen Dec 22 '22 at 00:57
  • See my 2nd link for a derivation of the tansfer functions for the lowpass prototypes, then plot them to see whether they match your picture, or mine. – a concerned citizen Dec 22 '22 at 00:59
  • I agree that the derivation of maximally flat delay filters will give prototypes with constant delay, however many books produce tables normalized for constant -3dB frequency. These aren't bad - I think they are useful. Many filters are designed for a particular bandwidth. This was about a 1kHz bandwidth Bessel filter, a filter specified by its bandwidth, not delay. The figure I quoted enabled me to directly estimate its delay. If I was to use your prototypes I would have to solve your 1 sec delay polynomial for the 3dB point, but I'd get the same answer. Neither is wrong. – Tesla23 Dec 22 '22 at 01:51
  • @Tesla23 Hmm, I've made a mistake, mea culpa: unity rad/s means frequency scaled but, they are still scaled, not the lowpass prototypes. And yes, as I said, it's either freq. or grp.del. so you can go in either direction, neither way is wrong -- when I said that I was referring to the books not mentioning that those graphs are *not* the lowpass prototypes. At any rate, I'm not saying your answer is wrong, I'm only pointing out that many books (Zverev included) show the freq. scaled versions which, IMHO, is not how Beesel should be presented, since it's a grp.del. filter, not freq. That's all. – a concerned citizen Dec 22 '22 at 09:45
  • @aconcernedcitizen: It's true in general that prototypes which only specify derivatives - max flat delay/amplitude need one other parameter specified to fully define the prototype. With Butterworth the convention is to normalize -3dB point at \$\omega=1\$, with Bessel, if used as a filter then the -3dB point is useful, if used as a delay then the delay is better. – Tesla23 Dec 23 '22 at 01:53