Documentation Center |
Chebyshev Type I filter order
[n,Wp] = cheb1ord(Wp,Ws,Rp,Rs)
[n,Wp] = cheb1ord(Wp,Ws,Rp,Rs,'s')
cheb1ord calculates the minimum order of a digital or analog Chebyshev Type I filter required to meet a set of filter design specifications.
[n,Wp] = 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 Wp, is also returned. Use the output arguments n and Wp with the cheby1 function.
Choose the input arguments to specify the stopband and passband according to the following table.
Description of Stopband and Passband Filter Parameters
Use the following guide to specify filters of different types.
Filter Type Stopband and Passband Specifications
Filter Type | Stopband and Passband Conditions | Stopband | Passband |
---|---|---|---|
Wp < Ws, both scalars | (Ws,1) | (0,Wp) | |
Highpass | Wp > Ws, both scalars | (0,Ws) | (Wp,1) |
Bandpass | The interval specified by Ws contains the one specified by Wp (Ws(1) < Wp(1) < Wp(2) < Ws(2)). | (0,Ws(1)) and (Ws(2),1) | (Wp(1),Wp(2)) |
Bandstop | The interval specified by Wp contains the one specified by Ws (Wp(1) < Ws(1) < Ws(2) < Wp(2)). | (0,Wp(1)) and (Wp(2),1) | (Ws(1),Ws(2)) |
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 n and cutoff frequencies Wp for an analog Chebyshev Type I filter. You specify the frequencies Wp and Ws similar 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.
Use 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 (500 Hz):
Wp = 40/500; Ws = 150/500; Rp = 3; Rs = 60; [n,Wp] = cheb1ord(Wp,Ws,Rp,Rs) % Returns n = 4 Wp =0.0800 [b,a] = cheby1(n,Rp,Wp); 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,Wp] = cheb1ord(Wp,Ws,Rp,Rs) % Returns n =7 Wp =[0.1200 0.4000] [b,a] = cheby1(n,Rp,Wp); freqz(b,a,512,1000); title('n=7 Chebyshev Type I Bandpass Filter')
[1] Rabiner, L.R., and B. Gold. Theory and Application of Digital Signal Processing, Englewood Cliffs, NJ: Prentice-Hall, 1975. Pg. 241.