HOME
PDF

Butterworth low pass analog filter design

Nasser M. Abbasi

July 10, 2010 page compiled on July 31, 2015 at 6:31am

Contents

1 Introduction
2 Algorithm diagram
3 Design steps
 3.1 backward transformation
 3.2 Determine filter order N
 3.3 Finding stables poles assuming Ωc  = 1
 3.4 Rescaling the poles
 3.5 Converting normalized low pass using frequency transformation
4 Example designs
 4.1 Example 1
  4.1.1 backward transformation
  4.1.2 Determining filter order N
 4.2 Finding stables poles assuming Ωc  = 1
  4.2.1 Rescale the poles
  4.2.2 Convert normalized low pass using frequency transformation
5 References

1 Introduction

This is a detailed review of low pass Butterworth analog filter design. The goal is to generate Butterworth transfer function H (s)  from frequency specifications. The following are the four specifications of the design



fp   The passband corner frequency in Hz


fs   The stopband corner frequency in Hz


Ap   The attenuation in db at Ωp


As   The attenuation in db at Ωs


This diagram below illustrates these specifications

pict

The specifications are given in db (the left diagram above) and not in magnitude (right diagram above).

The specifications are given with reference to the transfer function magnitude. The phase is not taken into account in the specifications. Butterworth analog transfer function transfer function magnitude is given by

           ------1-------
|H (jΩ )|=  ∘ ---(---)2N--
             1+   Ω--
                  Ωc

Where Ωc   is the cutoff frequency. This is the frequency at which            1
|H (jΩ )|= √2-=  0.707.

The goal of the design is to determine N  and Ωc   from the specifications. Once N  and Ωc   are found, H (s)  poles are found. Once the poles are found, then H (s)  is now determined.

2 Algorithm diagram

The following diagram outlines the design algorithm

pict

3 Design steps

3.1 backward transformation

Let Ωp  = 1  rad/sec, and let Ωs = ffs
      p    rad/sec.

3.2 Determine filter order N

                                                       [    (    )2N ]
                                 ------1-------               -1-
Ap  = −20 log |H (jΩp )| = −20 log ∘    (    )2N = 10 log  1+   Ωc
                                   1+   ΩΩpc-

Solving for Ωc   from the above gives

Ωc  = -------1------
      (   Ap-   ) 12N--
        1010 − 1
(1)

Using As   gives

                                                      [    (    )2N ]
As = −20 log |H (jΩs)|=  −20 log  ∘-----1-------= 10 log  1 +   Ωs-
                                     ( Ωs)2N                 Ωc
                                  1+   Ωc

Solving for Ωs   from the above results in

         (   As-  ) 21N-
Ωs =  Ωc  10 10 − 1
(2)

Substituting Ω
  c    found in (1) into the above Ω
  s   gives

      ⌊(   A     ) ⌋-1-
         101s0-− 1   2N
Ωs =  ⌈(---Ap----)-⌉
        10 10-− 1
(3)

Solving for N  in the above by taking logs gives

          (      )
        ⌊  10A1s0 −1 ⌋
     log ⌈ (-------)⌉
           10A1p0-−1
N =  ----------------
         2log Ωs
(4)

Since the order of filter is an integer, the above value is rounded upwards to the next integer if it is not an integer. Let this new N  be N′ to make it clear that this is an updated N  from the original N  .

3.3 Finding stables poles assuming Ωc =  1

Since Butterworth magnitude square of the transfer function is

               1
|H (s)|2 = ---(----)2N′-
          1+   -s′
               jΩ c

Hence H(s)  poles are found by setting the denominator of the above to zero. Setting Ωc  = 1  gives

pict

Only the LHS poles are needed, which are located at           ′
k = 0 ⋅⋅⋅N − 1  , because these are the stable poles.

Now thatthe poles are found, H (s)  becomes

            1                     1
H (s) = N′−1-------= (s-−-s)-(s−-s-)⋅⋅⋅(s−-s--′-)
        ∏                 0      1         N −1
           s − sk
        k=0
(6)

3.4 Rescaling the poles

Either Ap   or As   have to be adjusted depending on if the excess tolerance is to be assigned to the passband or to the stop band and Ωc   is calculated based on this.

If the excess tolerance is to be assigned to the passband, then (3) is solved for Ap   and this new found value is called A ′p

            ( (   As-  )     )
  ′           -10-10 −-1-
A p = 10log (    Ω2N ′   + 1 )
                   s
(6.1)

Also Ωc   needs to be determined from (1). Calling this   ′
Ω c   to reflect that this goes with the updated    ′
 A p   and not the original Ap

Ω ′=  -------1-------
  c   (   A′p-   ) 12N-′
       10 10 − 1
(6.2)

However, if the excess tolerance is to be assigned to the stopband, then (3) is solved for As   and this new found value is called A′
 s

            (    ′(   Ap-   )    )
A ′s = 10log  Ω2Ns   10 10 − 1  + 1
(6.3)

Ω
  c   is adjusted to Ω ′
  c   .

From (2), and using the above new value of A ′s   gives

Ω ′c = (-----Ωs--)-1--
          A′s-    2N-′
       10 10 − 1
(6.4)

H (s)  found above in (6) is now adjusted since that was found for Ωc  = 1  and now an updated Ω ′c   is found. To do that s  is replaced by -s-
Ω′c    , hence H(s)  becomes

pict

The first part of the design is now complete.  ′   ′
N ,Ω c   is found and adjusted Ap   or As   depending on the requirements for excess tolerance. All the parts needed are found to design H (s)  by finding its poles. Adjusted values must be used from now on.

3.5 Converting normalized low pass using frequency transformation

The above H (s)  found in (7) was designed for frequency Ωp =  1  and       2πfs
Ωs  = 2πfp    . The above H  (s)  is called the normalized transfer function. It is a low pass analog filter, which needs to be mapped to a low pass analog filter, but un-normalized based on the actual frequencies specified (Since the above was designed based on using Ωp  = 1  ).

Adjustment is now now made to obtain H (s)  for Ωp  = 2πfp   and Ωs = 2 πfs   .

To do this, s  above is replaced by -s--
2πfp    . Equation (7) becomes

pict

The zeros of H (s)  are located at ∞  and there are N ′ of them.

When simplifying the denominator above, the complex conjugate terms are multiplied with each others to obtain real coefficients.

4 Example designs

4.1 Example 1

Given

fp = 1000  hz, fs = 2000  hz, Ap  = 1  db, As = 20  db, and Excess tolerance at stopband, determine H (s)

4.1.1 backward transformation
pict
4.1.2 Determining filter order N

From (4)

pict

Hence

N ′ = 5

4.2 Finding stables poles assuming Ωc =  1

From (5), and since N ′ = 5

pict

Find the poles

k  sk
0   i(π-+π)
e  10 2  = −0.309 + 0.951i
1    (π+2π π )
ei  10 + 2 =  −0.809 + 0.587i
2    (       )
 i π+140π+π2
e          =  −1.0
3    (π+6π π )
ei  10 + 2 =  −0.809 − 0.587i
4    (       )
 i π+180π+π2
e          =  −0.309 − 0.951i
Hence from (6)
pict
4.2.1 Rescale the poles

Excess tolerance is in the stopband, hence from (6.3)

pict

Hence new   ′
Ω c   is found from (6.4)

pict

Hence the above H (s)  becomes (using equation 7 as reference)

pict
4.2.2 Convert normalized low pass using frequency transformation

replace s  by -s--
2πfp    , hence H (s)  becomes (using equation 8 as reference), and noting that 2πfp = 2 π(1000) = 6283.2

pict

Now multiplying the complex conjugate terms with each others (to remove the complex terms) gives

                                           5
H (s) = -----------------------------7192.4-------------------------------
        (s+ 7192.2) (s2 + 4445.2s+ 5.173 × 107)(s2 + 11638.s + 5.173 × 107)

5 References

1.
ECE 408 lecture notes chapter 12, by Dr James S. Kang. Cal Poly pomona, California, USA.
2.
Mostafa Shiva, Electrical engineering department, California state university, Fullerton, Lecture notes, handout H.
3.
John Proakis, Dimitris Manolakis, digital signal processing, 3rd edition