Signal Processing Toolbox | Help Desk |
cheby1
Chebyshev type I filter design (passband ripple).
[b,a] = cheby1(n,Rp,Wn) [b,a] = cheby1(n,Rp,Wn,'ftype
') [b,a] = cheby1(n,Rp,Wn,'s') [b,a] = cheby1(n,Rp,Wn,'ftype
','s') [z,p,k] = cheby1(...) [A,B,C,D] = cheby1(...)
cheby1
designs lowpass, bandpass, highpass, and bandstop digital and analog Chebyshev type I filters. Chebyshev type I filters are equiripple in the passband and monotonic in the stopband. Type I filters roll off faster than type II filters, but at the expense of greater deviation from unity in the passband.
[b,a] = cheby1(n,Rp,Wn)
designs an order n
lowpass digital Chebyshev filter with cutoff frequency Wn
and Rp
dB of ripple in the passband. It returns the filter coefficients in the length n+1
row vectors b
and a
, with coefficients in descending powers of z:-Rp
dB. For cheby1
, the cutoff frequency Wn
is a number between 0 and 1, where 1 corresponds to half the sampling frequency (the Nyquist frequency). Smaller values of passband ripple Rp
lead to wider transition widths (shallower rolloff characteristics).
If Wn
is a two-element vector, Wn = [w1 w2]
, cheby1
returns an order 2*n
bandpass filter with passband w1 <
< w2
.
[b,a] = cheby1(n,Rp,Wn,'ftype
')
designs a highpass or bandstop filter, where ftype
is
high
for a highpass digital filter with cutoff frequency Wn
stop
for an order 2*n
bandstop digital filter if Wn
is a two-element vector, Wn = [w1 w2]
The stopband is w1
< <
w2
.
cheby1
directly obtains other realizations of the filter. To obtain zero-pole-gain form, use three output arguments:
[z,p,k] = cheby1(n,Rp,Wn)
or
[z,p,k] = cheby1(n,Rp,Wn,'ftype
')
returns the zeros and poles in length n
column vectors z
and p
and the gain in the scalar k
.
To obtain state-space form, use four output arguments:
[A,B,C,D] = cheby1(n,Rp,Wn)
or
[A,B,C,D] = cheby1(n,Rp,Wn,'ftype
')
where A
, B
, C
, and D
are[b,a] =
cheby1(n,Rp,Wn,'s')
designs an order n
lowpass analog Chebyshev type I filter with cutoff frequency Wn
. It returns the filter coefficients in length n + 1
row vectors b
and a
, in descending powers of s:-Rp
dB. For cheby1
, the cutoff frequency Wn
must be greater than 0.
If Wn
is a two-element vector, Wn = [w1 w2]
, with w1
< w2
, then cheby1(n,Rp,Wn,'s')
returns an order 2*n
bandpass analog filter with passband w1
< w2
.
[b,a] = cheby1(n,Rp,Wn,'ftype
','s')
designs a highpass or bandstop filter, where ftype
is
high
for a highpass analog filter with cutoff frequency Wn
stop
for an order 2*n
bandstop analog filter if Wn
is a two-element vector, Wn = [w1 w2]
The stopband is w1
< <
w2
.
[z,p,k] = cheby1(n,Rp,Wn,'s')
or
[z,p,k] = cheby1(n,Rp,Wn,'ftype
','s')
returns the zeros and poles in length n
or 2*n
column vectors z
and p
and the gain in the scalar k
.
To obtain state-space form, use four output arguments:
[A,B,C,D] = cheby1(n,Rp,Wn,'s')
or
[A,B,C,D] = cheby1(n,Rp,Wn,'ftype
','s')
where A
, B
, C
, and D
are defined as[b,a] = cheby1(9,0.5,300/500);The frequency response of the filter is
freqz(b,a,512,1000)Design a 10th-order bandpass Chebyshev type I filter with a passband from 100 to 200 Hz and plot its impulse response:
![]()
n = 10; Rp = 0.5; Wn = [100 200]/500; [b,a] = cheby1(n,Rp,Wn); [y,t] = impz(b,a,101); stem(t,y)For high order filters, the state-space form is the most numerically accurate, followed by the zero-pole-gain form. The transfer function form is the least accurate; numerical problems can arise for filter orders as low as 15.
![]()
cheby1
uses a five-step algorithm:
cheb1ap
function.
cheby1
uses bilinear
to convert the analog filter into a digital filter through a bilinear transformation with frequency prewarping. Careful frequency adjustment guarantees that the analog filters and the digital filters will have the same frequency response magnitude at Wn
or w1
and w2
.