Generate Bessel, Butterworth, Chebyshev, or RC filter
sys = mkfilter(fc,ord,type) sys = mkfilter(fc,ord,type,psbndr)
sys = mkfilter(fc,ord,type)
returns a single-input, single-output analog low pass filter
ss object. The cutoff frequency (Hertz) is
the filter order is
ord, a positive integer. The
type specifies the type of filter and
can be one of the following:
Series of resistor/capacitor filters
The dc gain of each filter (except even-order Chebyshev) is set to unity.
sys = mkfilter(fc,ord,type,psbndr)
contains the input argument
psbndr that specifies
the Chebyshev passband ripple (in dB). At the cutoff frequency, the
magnitude is -
psbndr dB. For even-order Chebyshev
filters the DC gain is also
Generate several different types of filters and compare their frequency responses.
butw = mkfilter(2,4,'butterw'); cheb = mkfilter(4,4,'cheby',0.5); rc = mkfilter(1,4,'rc'); bode(butw,'-',cheb,'--',rc,'-.') legend('Butterworth','Chebyshev','RC filter')
The Bessel filters are calculated using the recursive polynomial formula. This is poorly conditioned for high order filters (order > 8).