Signal Processing Toolbox | ![]() ![]() |
Calculate the order for a Chebyshev type I filter.
Syntax
[n,Wn]=
cheb1ord(Wp,Ws,Rp,Rs) [n,Wn]=
cheb1ord(Wp,Ws,Rp,Rs,'s
')
Description
cheb1ord
calculates the minimum order of a digital or analog Chebyshev type I filter required to meet a set of filter design specifications.
Digital Domain
[n,Wn] = cheb1ord(Wp,Ws,Rp,Rs)
returns the lowest order n
of 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 Wn
, is also returned. Use the output arguments n
and Wn
with the cheby1
function.
Choose the input arguments to specify the stopband and passband according to the following table.
Use the following guide to specify filters of different types.
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.
Analog Domain
[n,Wn] = cheb1ord(Wp,Ws,Rp,Rs,'
finds the minimum order s
')
n
and cutoff frequencies Wn
for an analog Chebyshev type I filter. You specify the frequencies Wp
and Ws
similar to Table 7-3, Description of Stopband and Passband Filter Parameters, only in this case you specify the frequency in radians per second, and the passband or the stopband can be infinite.
Use cheb1ord
for lowpass, highpass, bandpass, and bandstop filters as described in Table 7-4, Filter Type Stopband and Passband Specifications.
Examples
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 (500 Hz).
Wp=
40/500; Ws=
150/500; Rp=
3; Rs=
60; [n,Wn]=
cheb1ord(Wp,Ws,Rp,Rs) n=
4 Wn = 0.0800 [b,a]=
cheby1(n,Rp,Wn); freqz(b,a,512,1000); title('n=4 Chebyshev Type I Lowpass Filter')
Next 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,Wn]=
cheb1ord(Wp,Ws,Rp,Rs) n = 7 Wn = 0.1200 0.4000 [b,a]=
cheby1(n,Rp,Wn); freqz(b,a,512,1000); title('n=7 Chebyshev Type I Bandpass Filter')
Algorithm
cheb1ord
uses the Chebyshev lowpass filter order prediction formula described in [1]. 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.
See Also
|
Calculate the order for a Butterworth filter. |
|
Design a Chebyshev type I filter (passband ripple). |
|
Calculate the order for a Chebyshev type II filter. |
|
Calculate the order for an elliptic filter. |
|
Estimate Kaiser window FIR filter parameters. |
References
[1] Rabiner, L.R., and B. Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975. Pg. 241.
![]() | cheb1ap | cheb2ap | ![]() |