# 4.3. Butterworth filters and the maximally flat approximation – Digital Filters Design for Signal and Image Processing

## 4.3. Butterworth filters and the maximally flat approximation

### 4.3.1. Maximally flat functions (MFM)

Here we look at a low-pass normalized transfer function whose squared amplitude is shown in equation (4.3). We try to find a filter with the flattest possible frequency response in the passband when x is close to 0. To come as close as possible to the specification, the synthesized filter must have an amplitude diagram as flat as possible when x = 0. For that, we find the conditions that allow us to cancel the successive derivations of the function |H(jx)|2.

We know that the squared amplitude function |H(jx)|2, being analytic when x=0, can be developed by using the McLaurin series as follows: This development introduces the successive derivatives of |H(jx)|2 used for x=0, or: Moreover, |H(jx)|2 being a rational fraction (see equation (4.3)), we can approach it by a polynomial by proceeding to the division following increasing powers of polynomials that constitute the numerator and the denominator of |H(jx)|2. In this way we obtain the following development: Since the McLaurin development is unique in the convergence region, we can then identify the coefficients of equations (4.7) and (4.9). The flatness of the filter response is assured if the successive derivations of the function |H(jx)|2 are null.

The odd derivations, linked to the odd powers of the development, are all equal to 0, since the square of the amplitude is even and only contains even powers of x.

For a maximally flat function of order n (written MFMn), we get: Consequently, equation (4.3) can be rewritten so that the denominator is equal to the numerator, to which we add the term . The squared function of the amplitude then takes the following form: Equation (4.11) completely satisfies the null hypothesis of the derivatives when x=0 and the flatness of the response curve. As well, |H(jx)|2 → 0 when x → ∞ since n > m. However, we have no guaranty that the decrease will be monotone.

By taking into account the existence of a numerator function of x, equation (4.11) can have zeros in the transition band of the filter; and because of this, |H(jx)|2 will no longer be a monotone function. In order to control the filter's behavior in this frequency band, we must ensure that the numerator does not cancel itself; that is, we must ensure that |H(jx)|2 has no zeros. So we impose the following supplementary condition: Equation (4.11) is then expressed as: This last function then only has poles.

### 4.3.2. A specific example of MFM functions: Butterworth polynomial filters

#### 4.3.2.1. Amplitude-squared expression

Butterworth functions are specific examples of MFM functions. They take the following form: So by normalizing amplitude, we get: We observe that whatever the n degree, we have: For this normalized angular frequency equal to 1, the amplitude drops 3 dB in relation to the reference level (i.e. when x=0) All the curves in the Butterworth approximation therefore pass through this point.

In this example, according to the representation of attenuation given in equation (4.5), we get: #### 4.3.2.2. Localization of poles

By replacing the normalized angular frequency x with s/j in equation (4.15), we obtain:  Figure 4.7. Squared amplitude of Butterworth filters for different orders

Poles pk of Hn(s)Hn(−s) are those of . They are situated on the unity circle and are written as: By introducing the real and imaginary parts of the poles, we come to the following expression: To obtain an expression of the transfer function Hn(s), we conserve only the poles situated on the left-hand side of the complex plane in order to satisfy the stability criteria of the system.

Generally, the normalized transfer function for a Butterworth filter of order n is written as:  Figure 4.8. Attenuation of Butterworth filters according to order

The polynomial situated at the denominator of equation (4.21) corresponds to the Butterworth polynomial of degree n. Expressions of Butterworth polynomials are given by the following formulae. We will distinguish between situations where n is even and odd:  Figure 4.9. Position of poles of Hn (s) Hn (-s) and Hn (s) for n=2 and n=3

 Order Butterworth polynomials n = 1 s + 1 n = 2 n = 3 s3 + 2s2 + 2s + 1 = (s + 1)(s2 + s + 1) n = 4 s4 + 2.613s3 + 3.414s2 + 2.613s + 1 = (s2 + 0.765s + 1)(s2 + 1.848s + 1) n = 5 s5 + 3.236s4 + 5.236s3 + 5.236s2 + 3.236s + 1 = (s + 1)(s2 + 0.618s + 1)(s2 + 1.848s + 1)

Table 4.2. Expression of Butterworth polynomials

#### 4.3.2.3. Determining the cut-off frequency at – 3 dB and filter orders Figure 4.10. Low-pass filter specification at cut-off fc to – 3 dB (as reference)

Let Ap be the maximum attenuation that we wish at the frequency fp and Aa the minimal attenuation that we wish at the frequency fa. The determination of the minimal order that satisfies these two conditions is established as follows: and: From there, taking into account equations (4.23) and (4.22), we get: We can then verify that the value of n that allows us to satisfy the specification constraints is expressed with: In addition, the cut-off frequency fc at −3 dB is easily obtained from equation (4.23): #### 4.3.2.4. Application

Suppose we want to synthesize a Butterworth filter with an attenuation of 40 dB at 4,000 Hz and of 0.5 dB at 3,200 Hz. Using the formulae in section 4.3.2.3, we find that the minimal order equals 26 and the cut-off frequency equals 3,350 Hz. Figure 4.11. Synthesis of a continuous Butterworth filter Frequential representation

#### 4.3.2.5. Realization of a Butterworth filter

Up to now, we have represented a Butterworth filter so that x = 1, which gives us an attenuation of 3 dB or 10×log = 3 dB.

However, when representing a specification, we may want to have a different attenuation at the end of the passband.

To resolve this problem, we then look at the squared amplitude in the following way: where is a parameter calculated so that we have x = 1, we then have the desired attenuation. Figure 4.12. Example of a filter realization when = 1/2