
                        Power Mountain Software Systems
                                 P.O. Box 161
                              Cora, Wyoming 82925

 Copyright (C) 1988,1989 by Power Mountain Software Systems all rights reserved

                Active Filter Design Tools 2.01a Documentation
                             Last revised 8/05/89

                     ------------------------------------


 08/05/89

      We are as of this date releasing this program as Shareware.  It is NOT
 freeware or public domain.  If you choose to use this product you must
 register as a user.
      We have sold a good number of programs in Europe, at the original $69.95
 price.  Many have told us they appreciate the program and use it often in
 their work and personal projects.  NO ONE HAS EVER COMPLAINED that they
 thought it wasn't worth the price.  In fact all have thought this program was
 a real bargain.
      If we receive the support for this program it deserves, we will be able
 to continue upgrading and improving this program.  $30 is a steal for a
 program of this quality, and less than half the retail price.  We are bending
 over backwards in an attempt to offer real value, please be worthy of the
 trust we are placing in you.  All we expect is a reasonable return for the
 work we have done.
      The cost of advertising is high and the program is quite specialized.
 For these reasons we are going to give the Shareware marketing system a try,
 and pass on the advertising cost savings on to you.


 **** NOTICE ****

 The most common difficulty noted by users of this program is in initial setup.
 BE SURE TO CORRECTLY SPECIFY THE GRAPHICS CARD YOU HAVE IN YOUR SYSTEM.  If
 you don't the program will run fine until it's time to do graphics drawing,
 and then there will be an error reported and everything will stop.  In this
 documentation you will find more information on setting up the program.


 2/06/89

    This update (Version 2.01a) fixes a bug found in 6 pole low pass mode.
 No other changes were required.  The report generator was enhanced to improve
 readability.

 ** Last Minute Note!! **
     
     This program was designed to be used on a hard drive, but recently we 
 have redesigned things somewhat, so that the program runs properly on a 360K
 floppy system.  Obviously, if you must use floppy drives it's desirable to 
 have 720k or larger floppies since all files will fit just fine on disks that
 large, but some of us have to do the best we can with what we have....  If
 requested, simply insert one of the other floppies.  Disk #1 should remain in
 the default drive.
     In a two drive system just put disk 1 in drive A or B and disk 2 in the 
 other drive.  Just be sure to copy *.dat files to both disk 1 and 2.  Start 
 the program by typing 'filter20'.
     When selecting values for HQnotch filters not only are values being 
 retrieved from an array, but some values are being calculated and evaluated.
 This accounts for the fact that it it takes a little time to set up the next 
 value.  On an AT there is no problem, but on an XT some patience is required.

                 --------------------------------------------

 ** What's New! **

     There has been a great deal of work put into this revision.  In fact, 
 there has been so much done that you may be surprised that the revision 
 number is only .01 higher.  The reason is that we had intended to include 
 most of these features in the original release.  We ran into some technical 
 difficulties that we were able to overcome, but not in time for the deadline. 
 We are shipping this version to all those who ordered and received 2.0 at no 
 charge. 

     Here is a quick summary of the improvements.....
      
        A. Now screen prints in ALL graphics modes supported.
                   
        B. Supports Epson AND HP LaserJet printers.

        C. Automatic standard parts values generated in ALL modes
           except Butterworth Bandpass.

        D. New filter types, Including Elliptic 2 and 4 pole low pass,
           State Variable notch, Biquad bandpass, and Biquad notch.

        E. Some flaws were noted and corrected.

        F. Configuration file improved to include printer type etc.

        G. Hercules support implemented.

        H. Windowed menu system implemented.

        I. Standard values are stored in ASCII text files so you can
           modify them to fit your specific needs.  Look for the files
           on disk 1, with a .DAT extension.  You may use up to 500
           different values.  Adding more, requires you use exactly the 
           same format as you see it now.  Using a simple batch file you 
           could 'swap' the standard values here for what you have in 
           your inventory, etc.

        J. Calculated standard values are output to a file called
           "partvals.tmp" after each filter design, so that you can 'type'
           the results on the DOS command line or input them to your 
           favorite word processor.  The file is automatically erased
           each time the program is run, so if you wish to save the 
           results, rename or copy the file to a different filename.  Output
           values are limited to 200 different RC pairs for each pass.  
           ( It isn't likely that you could exceed 200, with sensible part 
           libraries. )

        K. Size of program reduced from 4 disks (880k or so) to 2, 
           (approx. 500k) speeding things up, reducing disk space used, etc.


 ** Set-up Notes **

     Be sure you back up your program disk before doing anything else.

     If you have a hard drive simply put the contents of both disks into 
 the desired directory.  Start the program by running Filter20.exe.  The other 
 .exe files are files accessed by Filter20.exe. 
     If you don't have a hard drive you can use floppies. Insert disk 1 into 
 either drive A or B.  In a two floppy system put disk 2 into the other drive. 
 In a one floppy system you will just need to swap disks often.  If you have 
 1.2 Mb or larger floppies then all the files will fit on one disk. 
 
     The first time you run the program you will be prompted for data about 
 your system.  This is all self explanitory, except the last question, which 
 is whether you wish to substitute tile patterns for colors.  No, [option (2)] 
 is the suggested response.  
 
 ** Important Notice **

     If the specific graphics mode your computer supports is not listed in the 
 setup, you will not get it to run.  You must be able to use the standard 
 GRAPHICS modes supported by Hercules, CGA, EGA, or VGA.  If your card 
 graphics card is not capable of the mode you select in the configuration it 
 will not work.  The program will halt when it tries to draw in graphics mode. 

     If you select LaserJet you will be prompted for dots/inch resolution.  
 Since you are doing a screen print there is only so much resolution 
 available.  Selecting 300 dots per inch will give you a small print and 75 
 dots per inch will be 4 times larger.  Experiment to see what you prefer. 
     If you change your system set-up then just erase Filter20.cfg from the 
 directory.  The next time you run Filter20.exe the missing set-up file will 
 cause the program to create a new Filter20.cfg file. 
     Running Hercules graphics requires that you have only a Hercules graphics 
 card in the system.  Dual card systems confuse the program.  Cards that 
 support other graphics modes also cause problems. 
     To start the program for Hercules, start the program using Goherc.bat.  
 Type 'Goherc" at the Dos prompt. 

 ** Warning **
   
     This program is designed to assist the Engineer, not replace the 
 Engineer.  In the final analysis the Engineer must assume the responsibility 
 for any design problems.  We have taken great care to be sure that no 
 problems exist, but there is always a chance we missed something.  ALWAYS 
 double check design results to be sure you are satisfied they are correct. 
     If you think you've found a defect in this program please notify us so we 
 can take action to improve and update the quality of this software. 
     Impractical designs are easy to design with this package since the 
 program cannot determine what is 'reasonable'.  
     GENERALLY speaking resistor values over 500k, and capacitor values under 
 .001 uf are to be avoided.  But YOU decide. 
     Don't forget to consider input offset currents when selecting op-amps, 
 and the resistors to use in taking "+", (non-inverting) inputs to ground. 
 You may need to select different values.  In low gain and noncritical 
 situations the values shown should work.
     Good luck, and once again let us know if you have a suggestion or think 
 you have noted an error. 

                            ** COMPONENT CHOICES **

     The calculations to determine standard values take a while, especially on 
 a 4.77 Mhz XT.  It will work of course but it will take a while, so don't 
 presume that the system locked up!.  So don't worry this is normal.
     Only the critical RC time constants are calculated in this version.  You 
 will note that other resistor values require you to pick your own value.  
 This is usually no big problem.
     It takes longer for 1 percent accuracy calculation than for 10.  

     This program is designed to allow you to very quickly design and document 
 a filter design.  A great deal of effort and research has gone into creating 
 a program that will make your life easier.  However, there are hidden 
 'gotchas' just waiting in the wings to ruin an otherwise excellent design. 

     Before we get into a few of these here are a few pointers:  

     One of the really nice features of this program, is the inherent ability 
 to experiment with values,  until the right combination is found that meets  
 your requirements.  Capacitor values should be kept below 1 uf, while 
 resistor values should be kept at around 2k and above.  Juggle capacitor 
 values around until you come up with the results that meet your requirements. 
 Remember also that resistance values above a Megohm may not be a good idea, 
 try a larger capacitor.  Some very low frequency filters require a large 
 capacitor, but they're expensive and can contribute to difficulty. 
     There are a great many good op-amps to choose from, and if you feel a 
 little insecure about picking one for the job you're doing, I would like to 
 suggest the TL071 (single), TL072 (dual), or TL074 (quad) packages.  They are 
 high performance, low noise, high slew rate devices that work very very well 
 in this type of circuit.  Their pin outs are industry standard, and the price 
 is reasonable.  If you need extremely low power consumption the TL061 series 
 has the same pin out and can be substituted.  These devices can be found in a 
 Texas Instruments Linear Data Manual.  The TL061, '62, and '64 devices are 
 not quite as good in critical applications however, due to the sacrifice in
 slew rate for lower power consumption. 
     If you have noticed there are potentiometers in the Butterworth filter  
 schematics,  these can be 1/4 watt pc-mount types,  and the reason they are 
 there is to make it possible to make the fine tuning adjustments  necessary 
 to get the system to work.  The tuning procedure requires that you have a 
 frequency generator, precision VOM, and a frequency counter.  Using the values
 given, all that you need to do is to make sure that each section is tuned to 
 the correct frequency,  and then to make sure with your ac voltmeter that the 
 gain for that section is correct.  Start with the first section, and continue 
 through to the last. 

                      ** LOW & HIGH PASS FILTER TYPES **

     When  you  run  the low pass and high pass filter design options,  you are 
 asked to choose a filter type (Bessel, etc.).  You can now tailor each 
 section to give you the exact characteristic you need for your application. 
     These slope options are created by varying the DAMPING, of the section. 
 As the damping is reduced from 2 toward 0,  the initial rolloff of the filter 
 becomes steeper.  This allows higher rejection of unwanted signals than would 
 otherwise be the case, but the thing that I want to bring out is trade offs 
 involved. 
     Changing the damping has an affect on the passband of the filter, reducing 
 the damping causes ripples to occur.  Chebyshev slope options take advantage 
 of this characteristic which is why they are called called slight, 1db, 2db, 
 and 3db dip.  This refers to the passband ripple inherent to these filters.  
 3db dip Chebyshev is as close to oscillation as you can reliably get and stll 
 have a filter, instead of an oscillator.  Initial cutoff is dramatic for the 
 number of poles.
     Flattest amplitude Butterworth feature a flat passband.  Very desirable in 
 audio applications such as bi-amplification. 
     'Bessel' are the slowest to rolloff initially, 'Transitional Thompson 
 Butterworth' a little faster, and so on.... 
     Elliptic filters are interesting and useful since they offer zero 
 transmission at specific frequencies.  State variable is shown for 2 pole 
 applications since it so easy to tune.  For really critical applications a 
 four pole elliptic is shown, but is not tunable per se.  Genearally a 
 combination of elliptic followed by a Chebyshev filter offers the best 
 performance.  This yeilds very fast initial cutoff, and at higher frequencies 
 where the elliptic begins to pass the Chebyshev offers attenuation.

                            ** POTENTIAL PROBLEMS **

     This program works very well, but the results can be unrealistic.  This is 
 due to the fact that no matter how rediculous your specifications are the 
 program will try to come up with values.  Values that can be impossible.  In 
 a case such as this a little common sense is in order. 
     When you design a Butterworth bandpass filter, keep the bandwidth as wide 
 as you can to get what you need accomplished.  Excessively narrow filters are 
 extremely difficult to tune, the requirements for the op-amp get unreasonable,
 and very often even if you get it running the ringing of the filter 
 is bad enough to cause more problems than the benefits you gain.  There are 
 some important physical limits that there is just no way around. 
     A one hertz wide filter will take 1 second to reach approximately 90 
 percent of the maximum amplitude.  The higher the Q, the closer to 
 oscillation you are, and the greater the problems.  Trust me.  Keep it as 
 wide as you can.  You'll be happier.  Use more poles if you need it really 
 narrow, but don't cut those sidebands, 'cause you need 'em.  
     There have been a great many good articles on filters in the various hobby 
 electronic magazines, and of course in many good textbooks on communications,  
 which can give you more information on why narrower isn't always better. 
     We've tried to trap out unreasonable inputs, but .....


                               R E M E M B E R !

     The ultimate rolloff of a filter is governed by the number of poles, only 
 the initial rolloff is changed with different filter classes. 
     More poles, as a general rule, is more desirable than trying to make a two 
 pole filter act like a six pole. 
     Components become more critical as you lower the damping resulting in 
 more expensive parts requirements, passband ripple, increased opprtunity for 
 oscillation, etc.  It gets a little tricky to build a practical filter.  Use 
 common sense. 


 ** THANK-YOU ** 

                                             Larry Ashworth 

                                             Power Mountain Software Systems
                                             P.O. Box 161 
                                             Cora, Wyoming 82925 
                                             U.S.A. 

