buttap() - Signal Processing
[z,p,k] = buttap(n) returns
the poles and gain of an order n Butterworth
analog lowpass filter prototype. The function returns the poles in
the length n column vector p and
the gain in scalar k. z is an
empty matrix because there are no zeros. The transfer function isH(s)=z(s)p(s)=k(s−p(1))(s−p(2))⋯(s−p(n))Butterworth filters are characterized by a magnitude response
that is maximally flat in the passband and monotonic overall. In the
lowpass case, the first 2n-1 derivatives of the
squared magnitude response are zero at ω = 0. The squared magnitude response function is|H(ω)|2=11+(ω/ω0)2ncorresponding to a transfer function with poles equally spaced
around a circle in the left half plane. The magnitude response at
the cutoff angular frequency ω0 is always 1/2 regardless of the filter order. buttap sets
ω0 to 1 for a normalized result.
Syntax
[z,p,k] = buttap(n)
Example
z = [];
p = exp(sqrt(-1)*(pi*(1:2:2*n-1)/(2*n)+pi/2)).';
k = real(prod(-p));
Output / Return Value
Limitations
Alternatives / See Also
Reference