Page 303 - Analog and Digital Filter Design
P. 303

300 Analog and Digital Filter Design




                        window in modern operating systems. The source code is supplied, in addition
                        to the executable program. Ths allows the user to read them with an ASCII
                        editor, or to modify them and to add features using an ANSI C compiler (I use
                        Borland’s Turbo C). These programs will now be described in some detail, with
                        operating instructions.

                        The supplied filter design programs use tables of normalized component values
                        or pole locations. This is different from FILTECH, which uses algorithms to
                        build  a  table during  runtime. The reason for using  tables here is  speed and
                        memory requirements; the reason for using algorithms in FILTECH is for higher
                        accuracy.

                        The following descriptions assume that the programs have been copied from the
                        website www.bh.com/companions/0750675470 to a  suitable directory on your
                        computer’s hard drive. During runtime, the programs save the netlist produced
                        in a file in the current directory. It may be worthwhile running the programs
                        while  reading  this  section of  the  book.  This  should  make  the  descriptions
                        clearer.


                  Active-F

                        Active-fexe  is an active filter design program. It can only design lowpass and
                        highpass filters of  the Sallen and Key type, with Butterworth, Chebyshev, and
                        Bessel responses. It is limited to filter orders from two to nine. The output is dis-
                        played  on  the  computer  screen,  and  the  netlist  is  output  to  a  file  called
                        “active.ckt  .”

                        When the program is run, it first asks whether a highpass or lowpass filter is
                        required. Entering a number “1” at this point produces a lowpass design; enter-
                        ing a “2” causes a highpass design to be produced.

                        The  program  then  asks  whether  the  filter  type  is  Butterworth,  Bessel,  or
                        Chebyshev. There are passband ripple options of 0.1 dB, 0.25dB, 0.5dBY and 1 dB.
                        The program requires a number between one and six to be entered at this point.

                        The required filter order must be entered next. This can be a number between
                        two and nine.

                        The program then asks for the resistor values. This is the value of  series resis-
                        tors between the input and the op-amp’s noninverting input. A value between
                        “I” and “le7” can be entered; do not use multiplier coefficients (e.g., 1.2k).

                        Next enter the cutoff frequency; a value between “1” and ”le9” can be entered.
                        This is the passband edge, or 3 dB point.
   298   299   300   301   302   303   304   305   306   307   308