Chebyshev Type I filter order
[n,Wp] = cheb1ord(Wp,Ws,Rp,Rs)
[n,Wp] = cheb1ord(Wp,Ws,Rp,Rs,'s')
[n,Wp] = cheb1ord(Wp,Ws,Rp,Rs) returns the lowest order
the Chebyshev Type I filter that loses no more than
Rp dB in the passband and has at least
Rs dB of attenuation in the stopband. The scalar (or vector)
of corresponding cutoff frequencies
Wp, is also
returned. Use the output arguments
Choose the input arguments to specify the stopband and passband according to the following table.
Description of Stopband and Passband Filter Parameters
Stopband corner frequency
Passband ripple, in decibels. This value is the maximum permissible passband loss in decibels.
Stopband attenuation, in decibels. This value is the number of decibels the stopband is down from the passband.
Use the following guide to specify filters of different types.
Filter Type Stopband and Passband Specifications
Stopband and Passband Conditions
The interval specified by
The interval specified by
If your filter specifications call for a bandpass or bandstop filter with unequal ripple in each of the passbands or stopbands, design separate lowpass and highpass filters according to the specifications in this table, and cascade the two filters together.
[n,Wp] = cheb1ord(Wp,Ws,Rp,Rs,'s') finds the minimum order
Wp for an analog Chebyshev Type
I filter. You specify the frequencies
to those described in the Description of Stopband and Passband Filter Parameters table
above, only in this case you specify the frequency in radians per
second, and the passband or the stopband can be infinite.
cheb1ord for lowpass, highpass, bandpass,
and bandstop filters as described in the Filter Type Stopband and Passband Specifications table above.
For data sampled at 1000 Hz, design a lowpass filter with less than 3 dB of ripple in the passband defined from 0 to 40 Hz and at least 60 dB of ripple in the stopband defined from 150 Hz to the Nyquist frequency.
Wp = 40/500; Ws = 150/500; Rp = 3; Rs = 60; [n,Wp] = cheb1ord(Wp,Ws,Rp,Rs)
n = 4
Wp = 0.0800
[b,a] = cheby1(n,Rp,Wp); freqz(b,a,512,1000) title('n = 4 Chebyshev Type I Lowpass Filter')
Design a bandpass filter with a passband of 60 Hz to 200 Hz, with less than 3 dB of ripple in the passband, and 40 dB attenuation in the stopbands that are 50 Hz wide on both sides of the passband.
Wp = [60 200]/500; Ws = [50 250]/500; Rp = 3; Rs = 40; [n,Wp] = cheb1ord(Wp,Ws,Rp,Rs)
n = 7
Wp = 1×2 0.1200 0.4000
[b,a] = cheby1(n,Rp,Wp); freqz(b,a,512,1000) title('n = 7 Chebyshev Type I Bandpass Filter')
cheb1ord uses the Chebyshev lowpass filter
order prediction formula described in . The function performs its calculations in the analog
domain for both analog and digital cases. For the digital case, it
converts the frequency parameters to the s-domain
before the order and natural frequency estimation process, and then
converts them back to the z-domain.
cheb1ord initially develops a lowpass filter
prototype by transforming the passband frequencies of the desired
filter to 1 rad/s (for low- or highpass filters) or to -1 and 1 rad/s
(for bandpass or bandstop filters). It then computes the minimum order
required for a lowpass filter to meet the stopband specification.
 Rabiner, Lawrence R., and Bernard Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975.
Usage notes and limitations:
All inputs must be constants. Expressions or variables are allowed if their values do not change.