| Signal Processing Toolbox | Search  Help Desk |
| cheb2ord | Examples See Also |
Chebyshev type II filter order selection.
Syntax
[n,Wn] = cheb2ord(Wp,Ws,Rp,Rs) [n,Wn] = cheb2ord(Wp,Ws,Rp,Rs,'s')
Description
cheb2ord selects the minimum order digital or analog Chebyshev type II filter required to meet a set of filter design specifications:Digital Domain
[n,Wn] = cheb2ord(Wp,Ws,Rp,Rs)
returns the order n of the lowest order Chebyshev filter that loses no more than Rp dB in the passband and has at least Rs dB of attenuation in the stopband. The passband runs from 0 to Wp and the stopband runs from Ws to 1, the Nyquist frequency. cheb2ord also returns Wn, the Chebyshev type II cutoff frequency that allows cheby2 to achieve the given specifications.
Use cheb2ord for lowpass, highpass, bandpass, and bandstop filters. For highpass filters, Wp is greater than Ws. For bandpass and bandstop filters, Wp and Ws are two-element vectors that specify the corner frequencies at both edges of the filter, lower frequency edge first. For the band filters, cheb2ord returns Wn as a two-element row vector for input to cheby2.
If filter specifications call for a bandpass or bandstop filter with unequal ripple in each of the passbands or stopbands, design the filter as separate lowpass and highpass sections and cascade the two filters together.
Analog Domain
[n,Wn] = cheb2ord(Wp,Ws,Rp,Rs,'s')
finds the minimum order n and cutoff frequencies Wn for an analog filter. In this case the frequencies in Wp and Ws are in radians per second and may be greater than 1.
Use cheb2ord for lowpass, highpass, bandpass, and bandstop filters, as described under "Digital Domain."
Examples
For data sampled at 1000 Hz, design a lowpass filter with less than 3 dB of attenuation from 0 to 100 Hz, and attenuation at least 15 dB from 150 Hz to the Nyquist frequency:Wp = 100/500; Ws = 150/500;
Rp = 3; Rs = 15;
[n,Wn] = cheb2ord(Wp,Ws,Rp,Rs)
n =
3
Wn =
0.2609
[b,a] = cheby2(n,Rs,Wn);
freqz(b,a,512,1000);
title('n=3 Chebyshev Type II Lowpass Filter')
Next design a bandpass filter with a passband of 100 Hz to 200 Hz, less than 3 dB of attenuation throughout the passband, and 30 dB stopbands 50 Hz out on both sides of the passband:
Wp = [100 200]/500; Ws = [50 250]/500;
Rp = 3; Rs = 30;
[n,Wn] = cheb2ord(Wp,Ws,Rp,Rs)
n =
4
Wn =
0.1633 0.4665
[b,a] = cheby2(n,Rs,Wn);
freqz(b,a,512,1000)
title('n=4 Chebyshev Type II Bandpass Filter')
Algorithm
cheb2ord 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, then converts them back to the z-domain.
cheb2ord initially develops a lowpass filter prototype by transforming the stopband frequencies of the desired filter to 1 rad/sec (for low- and highpass filters) and to -1 and 1 rad/sec (for bandpass and bandstop filters). It then computes the minimum order required for a lowpass filter to meet the passband specification.
See Also
buttord |
Butterworth filter order selection. |
cheb1ord |
Chebyshev type I filter order selection. |
cheby2 |
Chebyshev type II filter design (stopband ripple). |
ellipord |
Elliptic filter order selection. |
kaiserord |
Estimate parameters for an FIR filter design with Kaiser window. |
References
[1] Rabiner, L.R., and B. Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975. Pg. 241.