This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


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 sys as an ss object. The cutoff frequency (Hertz) is fc and the filter order is ord, a positive integer. The argument type specifies the type of filter and can be one of the following:

type value



Butterworth filter


Chebyshev filter


Bessel filter


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 -psbndr dB.


collapse all

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'); 
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).

See Also

Introduced before R2006a

Was this topic helpful?