HOME
PDF

Butterworth low pass analog filter design

Nasser M. Abbasi

July 10, 2010 page compiled on July 2, 2015 at 7:05pm

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 |H  (j Ω)| = √12-= 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)| = − 20log ∘ ----(---)2N-=  10log  1 +   Ωc
                                   1 +   Ωp
                                         Ωc

Solving for Ωc  from the above gives

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

Using As  gives

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

Solving for Ωs  from the above results in

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

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

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

Solving for N  in the above by taking logs gives

        ⌊ (      ) ⌋
           10A1s0 − 1
     log⌈ (--Ap--)-⌉
           1010 − 1
N  = ----------------
         2 log Ω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 Ω  =  1
  c

Since Butterworth magnitude square of the transfer function is

      2   ------1------
|H  (s )|  =     ( -s)2N ′
          1 +   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

H (s ) = -′--1-----=  --------------1---------------
        N∏ −1         (s − s0)(s − s1)⋅⋅⋅(s − sN′−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 A
  p  and this new found value is called A ′p

           ( (   As    )     )
               1010 − 1
A′p = 10 log( -----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 = (-----′----)--1′
       10 A1p0 − 1  2N
(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

            (     (         )    )
A ′=  10log  Ω2N ′ 10 A1p0 − 1  + 1
  s            s
(6.3)

Ωc  is adjusted to Ω ′c  .

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

  ′   ------Ωs-------
Ω c = (   A′s    )21N′
       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 Ω  =  1
  p  ).

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  ei(π10+ π2) = − 0.309 + 0.951i
1   i(π+12π0-+π2)
e          = − 0.809 + 0.587i
2   i(π+4π-+π)
e   10  2  = − 1.0
3     π+6π- π
ei( 10 +2) = − 0.809 − 0.587i
4  ei(π+18π0-+π2) = − 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