﻿ Iowa Hills Software - Analog and Digital Filter Design Software
 Iowa Hills Software   Digital and Analog Filters

These filter design programs are free. This web site is a winter time hobby for a retired RF engineer.

Filter Design Programs
FIR Filters:  This FIR program synthesizes both Parks McClellan and Fourier filters (windowed). It is also capable of synthesizing filters from polynomials such as the Bessel and Inverse Chebyshev.

IIR Filters: This IIR filter program uses the Bilinear Transform method. It can synthesize filters up to 20 poles from all the classic polynomials, from the Gauss to the Elliptic.

RF Filters: This RF Filter program synthesizes filters constructed of inductors, capacitors, and transmission lines. Its main focus is the synthesis of Direct Coupled and Norton Transformed band pass filters.

OpAmp Filters: This OpAmp filter program synthesizes VCVS and MFB all pole filters (not Elliptics or Inverse Chebyshevs). It synthesizes filters, up to 20 poles, from the Butterworth, Chebyshev, Bessel, Gauss, and Adjustable Gauss polynomials.

Hilbert Filters: (Special Phase Adjusted Filters) Band pass filters are unique in that we are able to set their phase to any value desired. Hilbert Transform filters are a classic example of this. This page starts with an explanation of Hilbert Phase, and then shows how the Hilbert Filter program can be used to design a number of special band pass filters.

Filter Polynomials and Root Finder: This utility programs generates the 2nd order filter coefficients needed for the design of OpAmp and IIR filters. The program also has a root finder capable of finding the roots of 90th order polynomials.

Filter Design Methods
IIR Filter Design Equations and C Code: This page develops the equations used to generate IIR filters from the s domain coefficients of analog filters using the Bilinear Transform.

Chebyshev IIR Filters, Inverse Chebyshev IIR Filters, and Elliptic IIR Filters These pages show the merits in using these polynomials for IIR filters (as compared the Butterworth).

FIR Filter Responses Using Polynomial Filters: This page discusses using the polynomial filters, such as the Butterworth and Chebyshev, as prototypes in the design of FIR filters.

The Differences Between FIR and IIR Filters: For those who are new to digital filters, this page describes some of the most important differences between FIR and IIR filters.

Adjustable Gauss Transitional Filter: This page describes the Adjustable Gauss polynomial, a new transitional filter polynomial capable of generating a response anywhere between a Gaussian and Butterworth response.

OpAmp Filter Design Guidelines: This page discusses various guidelines for designing op amp filters.

Example Code
FIR and IIR Filters: This page gives C code for Windowed FIR filters, the Parks McClellan algorithm, and code for implementing and analyzing FIR an IIR filters.

FFT Algorithm and Windows: This page gives an FFT algorithm in C, the code for several spectral analysis windows (Hanning, Flattop, etc.), and discusses the need for windows and how they affect an FFT.

Smith Chart Program
Smith Chart: The Smith Chart is a classic tool for designing RF matching networks. This Smith Chart program also does bilateral matching with s parameters and has some built in tools for RF engineers.

Other Topics
Discrete Inverse Laplace Transform:  This is an easy method for obtaining the time domain response of H(s).

Group Delay:  This discussion of group delay describes the effects of non linear phase. It also relates group delay to the amount of time needed for a signal to pass through a filter.

Comments Page:  Let us know what you think.

Just for fun, these two images came from a fractal program I wrote. Most fractal images are somewhat tortured, but these two turned out pretty good.