Accueil > Unclassified > Butterworth Low Pass Filters
Unclassified

Butterworth Low Pass Filters

1. Theoretical study

1.a. Definition

Let ω0 be the -3 dB cutoff pulse of the low-pass filter. We set: x = ωω0

A Butterworth filter of order n has the following gain (up to a multiplicative constant): | H | = 11 + x2n

The gain therefore exhibits a decrease of -20n dB per decade for x> 1.

1.b. Transfer function

We set s = jx and we look for a Laplace transmittance T (s) satisfying the definition above. We place ourselves in the case where n is even and we set n = 2p.

For this, we factor the polynomial P (x) = 1 + x2n

These coefficients being real, if a is a root then its conjugate a * is also real. P is therefore factored into quadratic polynomials of the form: (x-a) (x-a *) = (s-ja) (s * + ja *) = | s-ja | 2

In order to obtain a stable system, the poles of T must have a negative real part, i.e. Re (ja) <0 or Im (a)> 0. Let us denote by ai the n roots whose imaginary part is positive and let ri = jai. The desired transmittance is: T (s) = 1 (s-r1) (s-r2) ⋯

The polynomial P being even, if a is root, -a is also. The n = 2p roots ri can therefore be grouped together by pair of conjugates. The denominator of H is therefore a product of p second-order polynomial of the form: (s-ri) (s-ri *) = s2-2Re (ri) s + | ri | 2

Let us explicitly calculate the 2n roots of the polynomial P: xk = expjπ2n + kπnk = 0.1 ⋯ 2n-1

We deduce: rk = expjπ2n + kπn + π2

The solutions of negative real part are obtained for k = 0.1, ⋯ n-1. The pairs of conjugates are (r0, rn-1, (r1, rn-2), etc. We finally have: | rk | = 1-2Re (rk) = – 2cosπ2n + kπn + π2

for k = 0.1 ⋯ p-1.

The following Mathematica function calculates the Laplace transmittance (of unity gain in the passband)

butterworth[p_]:=Module[{},
    n = 2*p;
    denom = 1;
    For[k=0,k<p,k++,
        c=-2*Cos[Pi/(2*n)+k*Pi/n+Pi/2];
        denom = denom*(s^2+c*s+1); 
    ];
    Return[1/denom]; 
] 
                

Example for p = 3:

T=butterworth[3]
                

1s2+2 s+1 s2+3-1 s2+1 s2+1+3 s2+1

The transfer function and the Bode diagram:

H[x_]:=T/.s->I*x;
GdB[x_]:=20*Log[10,Abs[H[x]]];
phase[x_]:=Arg[H[x]]*180/Pi;
                
Plot[GdB[10^lx],{lx,-2,2},AxesLabel->{"log(x)","GdB"},
                            PlotRange->{{-2,2},{-60,10}}]
plot1.png
CURVE
Plot[phase[10^lx],{lx,-2,2},AxesLabel->{"log(x)","phase"}]
plot2.png
CURVE

2. Realization

Association of active filters

2.a. Association of active filters

The decomposition of the transfer function obtained above shows that the Butterworth filter can be obtained by association in series of active filters.

Consider the following second-order cell as an example:

This is a Sallen and Key structure with a gain K voltage amplifier. In practice, a potentiometer will be used to adjust this gain.

To calculate this circuit, we use the Mathematica module:

Get["../simulin/simulineaire.m"];

Definition of the circuit, with g the open loop gain of the amplifier:

filtre[r_,c_,k_,g_]:=Module[{},
    n=6;
    A=Table[0,{n},{n}];
    B=Table[0,{n}];
    A=ajouterResistance[A,1,2,r];
    A=ajouterResistance[A,2,3,r];
    A=ajouterResistance[A,5,4,(k-1)*r0];
    A=ajouterResistance[A,4,6,r0];
    A=ajouterCapacite[A,2,5,c];
    A=ajouterCapacite[A,3,6,c];
    {A,B}=ajouterSourceTensionSTCT[A,B,5,6,3,4,g];
    {A,B}=ajouterMasse[A,B,6];
    {A,B}=definirEntree[A,B,1];
    Return[{A,B}];
]
                

Calculation of Laplace transmittance:

{A,B}=filtre[R,C,K,g];
T=transfert[A,B,5]
                

g KC2 g R2 s2+C2 K R2 s2-C g K R s+3 C g R s+3 C K R s+g+K

The cut-off pulse is 0 = 1RC

By taking the change of variable defined in 1.a and taking the limit g → ∞, we get: T (s) = Ks2 + (3-K) s + 1

To obtain a Butterworth filter of order n = 2p, we associate in series p cells like this one. The coefficient Ki of cell i is given by: 3-Ki = -2cosπ2n + iπn + π2

Here are for example the coefficients for p = 2:

p=2;
n=2*p;
K=Table[N[3+2*Cos[Pi/(2*n)+i*Pi/n+Pi/2]],{i,0,p-1}]
                
{2.2346331352698203, 1.1522409349774265}

et pour p=3 :

p=3;
n=2*p;
K=Table[N[3+2*Cos[Pi/(2*n)+i*Pi/n+Pi/2]],{i,0,p-1}]
                
{2.4823619097949585, 1.5857864376269049, 1.0681483474218636}

These coefficients (amplifier gain) make it possible to produce a 6th order Butterworth filter with 3 cells in series. The cells are placed in order of increasing gain.

It may interest you

Leave a Reply

Your email address will not be published. Required fields are marked *

Solve : *
16 + 12 =