Transform lowpass analog filters to bandstop
[bt,at] = lp2bs(b,a,Wo,Bw)
[At,Bt,Ct,Dt] = lp2bs(A,B,C,D,Wo,Bw)
lp2bs
transforms analog lowpass filter prototypes with a cutoff
angular frequency of 1 rad/s into bandstop filters with desired bandwidth and
center frequency. The transformation is one step in the digital filter design process
for the butter
, cheby1
, cheby2
, and ellip
functions.
lp2bs
can perform the transformation on two different linear system
representations: transfer function form and state-space form. In both cases, the input
system must be an analog filter prototype.
[bt,at] = lp2bs(b,a,Wo,Bw)
transforms an analog lowpass filter prototype given by polynomial coefficients into
a bandstop filter with center frequency Wo
and bandwidth
Bw
. Row vectors b
and a
specify the coefficients of the numerator and denominator of the prototype in
descending powers of s.
Scalars Wo
and Bw
specify the center
frequency and bandwidth in units of rad/s. For a filter with lower band edge
w1
and upper band edge w2
, use
Wo
= sqrt(w1*w2)
and
Bw
= w2-w1
.
lp2bs
returns the frequency transformed filter in row vectors
bt
and at
.
[At,Bt,Ct,Dt] = lp2bs(A,B,C,D,Wo,Bw)
converts the continuous-time state-space lowpass filter prototype in matrices
A
, B
, C
,
D
shown below
into a bandstop filter with center frequency Wo
and bandwidth
Bw
. For a filter with lower band edge w1
and upper band edge w2
, use
Wo
= sqrt(w1*w2)
and
Bw
= w2-w1
.
The bandstop filter is returned in matrices At
,
Bt
, Ct
, Dt
.
lp2bs
is a highly accurate state-space formulation of the classic
analog filter frequency transformation. If a bandstop filter is to have center frequency
ω0 and bandwidth
Bw, the standard s-domain
transformation is
where Q = ω0/Bw and p = s/ω0. The state-space version of this transformation is
Q = Wo/Bw; At = [Wo/Q*inv(A) Wo*eye(ma);-Wo*eye(ma) zeros(ma)]; Bt = -[Wo/Q*(A\B); zeros(ma,n)]; Ct = [C/A zeros(mc,ma)]; Dt = D - C/A*B;
See lp2bp
for a derivation of the bandpass version of this
transformation.