# Why do reverse Bessel polynomials give rise to flat group delay in Bessel filters

I know that a Bessel filter has a maximal number of derivatives of the group delay at 0 equal to 0. I have never seen an account of what feature of reverse Bessel polynomials makes this so. Any hints would be appreciated.

It's not the polynomials that make the filter, it's the filter that needed those polynomials in order for it to be a constant group delay.

The theory goes something like this: there is a need for a maximally flat group delay filter. That translates into a very simple Laplace expression:

$$H(s)=\mathrm{e}^{-s\tau}=\frac{1}{\mathrm{e}^{s\tau}}=\dfrac{1}{\sinh{s\tau}+\cosh{s\tau}}\tag{1}$$

Or the definition for an ideal delay. The starting point is the generic formula for an all-pole Laplace transfer function:

$$H(s)=\prod_{k=0}^N{\frac{a_0}{a_ks^k}} \tag{2}$$

which is expanded in frequency domain as:

$$H(j\omega)=\dfrac{1}{\sum_{k=0}^N{(-1)^ka_{2k}\omega^{2k}}+j\omega\sum_{k=0}^N{(-1)^ka_{2k+1}\omega^{2k}}}=\frac{1}{\Re{H(j\omega)}+j\Im{H(j\omega)}} \tag{3}$$

From which the phase and the group delay are:

$$\angle{H(j\omega)}=\arctan\dfrac{\Im{H(j\omega)}}{\Re{H(j\omega)}} \\ \delta(\omega)=-\dfrac{\mathrm{d}\angle{H(j\omega)}}{\mathrm{d}\omega} \tag{4}$$

To solve this, consider the fraction from the two equations above as $$\\frac{f(x)}{g(x)}\$$, and the derivative becomes:

$$\dfrac{\mathrm{d}}{\mathrm{d}x}\dfrac{f(x)}{g(x)}=\dfrac{1}{f(x)^2+g(x)^2}\left(\dfrac{\mathrm{d}g(x)}{\mathrm{d}x}f(x)-\dfrac{\mathrm{d}f(x)}{\mathrm{d}x}g(x)\right) \tag{5}$$

To avoid continuing with generic expansions and sums, or with Taylor series, let's consider the case for a 3rd order filter, which has 4 terms in the denominator, thus two real and two imaginary. For a group delay to be flat (and unity), the derivative of the phase at $$\\omega=0\$$ must be zero, thus the phase must be linear, or $$\\omega\$$ itself. Since the delay will be the derivative of the phase, the first term of the $$\\omega\$$ term for the phase will be $$\1\$$ for the derivative. So, from the (non-monic) transfer function we end up with:

\begin{align} H_3(s)&=\dfrac{1}{a_3s^3+a_2s^2+a_1s+1} \tag{6} \\ H_3(s\tau)&=\dfrac{1}{a_3(s\tau)^3+a_2(s\tau)^2+s\tau+1} \tag{7} \end{align}

The group delay, considering the derivations from above, becomes:

\begin{align} \delta(\omega)&=-\dfrac{\mathrm{d}}{\mathrm{d}\omega}\arctan{\left(\dfrac{a_1\omega-a_3\omega^3}{1-a_2\omega^2}\right)} \tag{8} \\ {}&=\dfrac{a_2a_3\omega^4+(a_2-3a_3)\omega^2+1}{a_3^2\omega^6+(a_2^2-2a_3)\omega^4+(1-2a_2)\omega^2+1} \tag{9} \end{align}

Flat group delay implies the coefficients of the same powers of $$\\omega\$$ from both numerator and denominator need to be made equal. Then the following system of equations can be formed:

\left\{ \begin{aligned} a_2-3a_3&=1-2a_2 \\ a_2a_3&=a_2^2-2a_3 \end{aligned} \tag{10} \right. \Rightarrow \\ \begin{align} &a_3=\dfrac{1}{15}\,,\quad a_2=\dfrac25 \tag{11}\\ \Rightarrow \\ H_3(s\tau)&=\dfrac{1}{\dfrac{1}{15}(s\tau)^3+\dfrac25(s\tau)^2+s\tau+1} \\ {}&=\dfrac{15}{(s\tau)^3+6(s\tau)^2+15s\tau+15} \tag{12} \end{align}

The denominator is recognized now as a Bessel polynomial. The same derivation can be applied for any other order, and the transfer function will have a Bessel polynomial in the denominator, and a DC scaling term in the numerator.

This is why I said in the beginning that the Bessel polynomials are not chosen because they have some special property that gives a flat group delay, it's because the derivation of a filter that needs to have a flat group delay leads to a transfer function having the Bessel polynomials.

Above, I used the non-monic version of the transfer function because that gives the terms, directly, but if the monic version is used, something funny happens: the resulting solutions encompass all the orders until N.

To exemplify, let's expand (2) for N=8:

$$H(s)=\dfrac{a_{_0}}{a_{_8}s^8+a_{_7}s^7+a_{_6}s^6+a_{_5}s^5+a_{_4}s^4+a_{_3}s^3+a_{_2}s^2+a_{_1}s+a_{_0}} \tag{13}$$

The group delay results in this little monster:

\begin{align} \tau_{_{gd}}(\omega)&=\dfrac{{a_{_0}^2}\,\left({a_{_7}}{\omega^7}-{a_{_5}}{\omega^5}+{a_{_3}}{\omega^3}-{a_{_1}}w\right)\,\left(8{a_{_8}}{\omega^7}-6{a_{_6}}{\omega^5}+4{a_{_4}}{\omega^3}-2{a_{_2}}w\right)}{{a_{_0}^2}{{\left({a_{_8}}{\omega^8}-{a_{_6}}{\omega^6}+{a_{_4}}{\omega^4}-{a_{_2}}{\omega^2}+{a_{_0}}\right)}^2}+{a_{_0}^2}{{\left({a_{_7}}{\omega^7}-{a_{_5}}{\omega^5}+{a_{_3}}{\omega^3}-{a_{_1}}w\right)}^2}} \\ &-\dfrac{{a_{_0}^2}\,\left(7{a_{_7}}{\omega^6}-5{a_{_5}}{\omega^4}+3{a_{_3}}{\omega^2}-{a_{_1}}\right)\,\left({a_{_8}}{\omega^8}-{a_{_6}}{\omega^6}+{a_{_4}}{\omega^4}-{a_{_2}}{\omega^2}+{a_{_0}}\right)}{{a_{_0}^2}{{\left({a_{_8}}{\omega^8}-{a_{_6}}{\omega^6}+{a_{_4}}{\omega^4}-{a_{_2}}{\omega^2}+{a_{_0}}\right)}^2}+{a_{_0}^2}{{\left({a_{_7}}{\omega^7}-{a_{_5}}{\omega^5}+{a_{_3}}{\omega^3}-{a_{_1}}w\right)}^2}} \tag{14} \end{align}

Flat group delay all across the passband means all the derivatives until N-1 are zero. Thus the coefficient of the highest power in the denominator is 1, while all the coefficients of the same powers from the numerator and the denominator are equal, which means the following system of equations is formed:

\left\{\begin{aligned} a_{_0}a_{_1}&=a_{_0}^2 \\ a_{_1}a_{_2}-3a_{_0}a_{_3}&=a_{_1}^2-2a_{_0}a_{_2} \\ 5a_{_0}a_{_5}-3a_{_1}a_{_4}+a_{_2}a_{_3}&=2a_{_0}a_{_4}-2a_{_1}a_{_3}+a_{_2}^2 \\ -7a_{_0}a_{_7}+5a_{_1}a_{_6}-3a_{_2}a_{_5}+a_{_3}a_{_4}&=-2a_{_0}a_{_6}+2a_{_1}a_{_5}-2a_{_2}a_{_4}+a_{_3}^2 \\ -7a_{_1}a_{_8}+5a_{_2}a_{_7}-3a_{_3}a_{_6}+a_{_4}a_{_5}&=2a_{_0}a_{_8}-2a_{_1}a_{_7}+2a_{_2}a_{_6}-2a_{_3}a_{_5}+a_{_4}^2 \\ 5a_{_3}a_{_8}-3a_{_4}a_{_7}+a_{_5}a_{_6}&=-2a_{_2}a_{_8}+2a_{_3}a_{_7}-2a_{_4}a_{_6}+a_{_5}^2 \\ a_{_6}a_{_7}-3a_{_5}a_{_8}&=2a_{_4}a_{_8}-2a_{_5}a_{_7}+a_{_6}^2 \\ a_{_7}a_{_8}&=a_{_7}^2-2a_{_6}a_{_8} \end{aligned}\right. \tag{15}

Solving this results in a set of N solutions which quite literally ennumerate all the polynomials until N ($$\a_{_9}=0\$$):

$$\left\{\begin{matrix} {} & a_{_N} & a_{_{N-1}} & a_{_{N-2}} & a_{_{N-3}} & a_{_{N-4}} & a_{_{N-5}} & a_{_{N-6}} & a_{_{N-7}} \\ N=8 & 1 & 36 & 630 & 6930 & 51975 & 270270 & 945945 & 2027025 & 2027025 \\ N=7 & 1 & 28 & 378 & 3150 & 17325 & 62370 & 135135 & 135135 \\ N=6 & 1 & 21 & 210 & 1260 & 4725 & 10395 & 10395 & 0 \\ N=5 & 1 & 15 & 105 & 420 & 945 & 945 & 0 & 0 & 0 \\ N=4 & 1 & 10 & 45 & 105 & 105 & 0 & 0 & 0 & 0 \\ N=3 & 1 & 6 & 15 & 15 & 0 & 0 & 0 & 0 & 0 \\ N=2 & 1 & 3 & 3 & 0 & 0 & 0 & 0 & 0 & 0 \\ N=1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ N=0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{matrix}\right.$$

I don't know about you, but I find this beautiful.