libiir
1.0.2

Functions  
struct iir_coeff_t *  iir_butterworth_lowpass (int order, double gain, double corner) 
nthorder Butterworth lowpass  
struct iir_coeff_t *  iir_butterworth_highpass (int order, double gain, double corner) 
nthorder Butterworth highpass  
struct iir_coeff_t *  iir_butterworth_bandpass (int order, double gain, double c1, double c2) 
nthorder Butterworth bandpass  
struct iir_coeff_t *  iir_butterworth_bandstop (int order, double gain, double c1, double c2) 
nthorder Butterworth bandstop 
Functions to create coefficients for various common types of IIR filter. The coefficient structures which are returned may be used to instantiate IIR filters using iir_filter_new().
The Butterworth filter code comes from the Exstrom Labs LLC code available under GPLv2 or later and published at http://www.exstrom.com/journal/sigproc/ . There is a copy of the original code available in the top level of this project.

read 
nthorder Butterworth lowpass
order  Order of filter (≥1). 
gain  Linear gain of filter. 
corner  Corner frequency expressed as a fraction of Nyquist (0 ≤ corner ≤ 1) 
Uses the Exstrom labs code to compute the coefficients of an nthorder (param order) Butterworthtype low pass filter with gain gain and corner frequency corner.
Note it is recommended to chain multiple filters together to build anything greater than a 4thorder filter. This function won't do that directly for you. gain will usually be set to be 1.0.
The corner frequency corner is expressed as a fraction of the sampling frequency (which is of course not known by the IIR code). It should lie between 0 (0Hz) and 1 (the Nyquist frequency, or ½ the sampling frequency).

read 
nthorder Butterworth highpass
order  Order of filter (≥1). 
gain  Linear gain of filter. 
corner  Corner frequency expressed as a fraction of Nyquist (0 ≤ corner ≤ 1) 
Uses the Exstrom labs code to compute the coefficients of an nthorder (param order) Butterworthtype high pass filter with gain gain and corner frequency corner.
Note it is recommended to chain multiple filters together to build anything greater than a 4thorder filter. This function won't do that directly for you. gain will usually be set to be 1.0.
The corner frequency corner is expressed as a fraction of the sampling frequency (which is of course not known by the IIR code). It should lie between 0 (0Hz) and 1 (the Nyquist frequency, or ½ the sampling frequency).

read 
nthorder Butterworth bandpass
order  Order of filter (≥1). 
gain  Linear gain of filter. 
c1  Low corner frequency expressed as a fraction of Nyquist (0 ≤ c1 ≤ 1) 
c2  High corner frequency expressed as a fraction of Nyquist (0 ≤ c2 ≤ 1, and c1 < c2) 
Uses the Exstrom labs code to compute the coefficients of an nthorder (param order) Butterworthtype band pass filter with gain gain and corner frequencies c1 and c2.
Note it is recommended to chain multiple filters together to build anything greater than a 4thorder filter. This function won't do that directly for you. gain will usually be set to be 1.0.
The corner frequencies c1 and c2 are expressed as a fraction of the sampling frequency (which is of course not known by the IIR code). They should lie between 0 (0Hz) and 1 (the Nyquist frequency, or ½ the sampling frequency), and c2 should be greater than c1.

read 
nthorder Butterworth bandstop
order  Order of filter (≥1). 
gain  Linear gain of filter. 
c1  Low corner frequency expressed as a fraction of Nyquist (0 ≤ c1 ≤ 1) 
c2  High corner frequency expressed as a fraction of Nyquist (0 ≤ c2 ≤ 1, and c1 < c2) 
Uses the Exstrom labs code to compute the coefficients of an nthorder (param order) Butterworthtype band stop filter with gain gain and corner frequencies c1 and c2.
Note it is recommended to chain multiple filters together to build anything greater than a 4thorder filter. This function won't do that directly for you. gain will usually be set to be 1.0.
The corner frequencies c1 and c2 are expressed as a fraction of the sampling frequency (which is of course not known by the IIR code). They should lie between 0 (0Hz) and 1 (the Nyquist frequency, or ½ the sampling frequency), and c2 should be greater than c1.