Signal Toolkit - butter


Function File: [b, a] = butter (n, wc)
Function File: [b, a] = butter (n, wc, filter_type)
Function File: [z, p, g] = butter (…)
Function File: [a, b, c, d] = butter (…)
Function File: […] = butter (…, "s")

Generate a Butterworth filter. Default is a discrete space (Z) filter.

The cutoff frequency, wc should be specified in radians for analog filters. For digital filters, it must be a value between zero and one. For bandpass filters, wc is a two-element vector with w(1) < w(2).

The filter type must be one of "low", "high", "bandpass", or "stop". The default is "low" if wc is a scalar and "bandpass" if wc is a two-element vector.

If the final input argument is "s" design an analog Laplace space filter.

Low pass filter with cutoff pi*Wc radians:

 [b, a] = butter (n, Wc)
 

High pass filter with cutoff pi*Wc radians:

 [b, a] = butter (n, Wc, "high")
 

Band pass filter with edges pi*Wl and pi*Wh radians:

 [b, a] = butter (n, [Wl, Wh])
 

Band reject filter with edges pi*Wl and pi*Wh radians:

 [b, a] = butter (n, [Wl, Wh], "stop")
 

Return filter as zero-pole-gain rather than coefficients of the numerator and denominator polynomials:

 [z, p, g] = butter (...)
 

Return a Laplace space filter, Wc can be larger than 1:

 [...] = butter (..., "s")
 

Return state-space matrices:

 [a, b, c, d] = butter (...)
 

References:

Proakis & Manolakis (1992). Digital Signal Processing. New York: Macmillan Publishing Company.