Iowa Hills Software   Digital and Analog Filters 
Program Download      Home

These programs are free. We just ask that you report any mistakes you find using the email address given in the About menu. 

To Download and Install These Programs.
Download the zip file.
Open the zipped folder with Windows Explorer, go to Files menu, click on Extract All.
Windows will create an unzipped folder with the same name as the zipped folder.
The program is now ready to run.
Note: Windows will not execute a program from a zipped file, so the entire folder must be unzipped.

These programs don't use an installer. They use the Windows 95 method of "installation". In other words, download the zip file, extract the contents, and create your own shortcuts.

Nor is there an Uninstaller. If you don't like the program, simply delete the folder. This method doesn't modify your registry, and the only other folder created will be an Iowa Hills folder in My Documents for saving designs to.

These programs are protected by US and international copyright laws. You may not redistribute these programs, modify them, or decompile the code.

Mac Users:   While we have no experience with this ourselves, we have been told that these programs run fine on a Mac using Wine Bottler from


Program Downloads (Each is approximately 3.6 MB)
IIR Filter Designer Ver. 6.5 Updated  10/20/16 IIR Filter Page
FIR Filter Designer Ver. 7.0 Updated  10/13/16 FIR Filter Page
Hilbert Filter Designer Ver. 3.0 Updated  10/13/14 Hilbert Filter Page
OpAmp Filter Designer Ver. 2.4 Updated  12/01/15 OpAmp Filter Page
RF Filter Designer Ver. 2.2 Updated  2/20/14 RF Filter Page
Smith Chart Ver. 3.0 Updated 10/26/15 Smith Chart Page
Filter Polynomials Ver. 2.4 Updated  5/3/15 Filter Polys and Root Finder Page
IIR FIR Source Code Kit Updated 2/11/17 Example Code Page
P51 Poly Root Finder Code Updated 9/23/16 P51 Root Finder Page
Table of Contents
    Comments Page:


Version Notes
Code Kit
On 2/11/17 we fixed a bug in the Inverse Chebyshev code that caused a "Run-Time Check Failure #2 - Stack around the variable ChebPolyCoeff" when compiled in VC.
On 5/7/16 we replaced a look up table with code to generate the second order S plane coefficients for the various low pass prototype filters. We also added an FIR frequency sampling algorithm.

FIR Filters
On 10/13/16 we added a custom FIR filter option. The user can define the desired magnitude response in a text file for the program to read in. See the directions in the Help file. An example file is given.

P51 Root Finder
On 9/23/16 we updated the P51 root solver again to fix a premature deletion of the array P. On 9/12/16 we updated 2 lines of code in the quartic root solver. Lines 53 and 60 could cause the array index to go out of bounds depending on the input array size and how the compiler optimized the code.

IIR Filters
On 5/3/16 we updated the IIR program with an improved Elliptic filter algorithm. We also added the Classic L (Papoulis) prototype and added the ability to change the gain of the filter. On 10/20/16 we added a simple note to the coefficient tables to remind users that some DSP cores require -a values from those generated by the program.

Filter Polynomials
On  5/3/16 we updated the Filter Polynomials program with an improved elliptic filter algorithm and fixed a couple of minor problems.

Op Amp Filters
On 12/1/15 we updated the op amp filter program to include all pass filters.

Smith Chart
On 10/26/15 we changed the schematic to show the source on the left side, and the load on the right, which is a more typical way these are shown.


You can help by reporting mistakes. These programs can of synthesize millions of possible filters, so it's impossible test every possible filter configuration. Please report any mistakes you find using the email address given in the About menu.


Copyright 2013  Iowa Hills Software