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]`

transforms an analog
lowpass filter prototype given by polynomial coefficients into a bandstop
filter with center frequency ` = `

lp2bs(b,a,Wo,Bw)`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*.

$$\frac{B(s)}{A(s)}=\frac{b(1){s}^{n}+\cdots +b(n)s+b(n+1)}{a(1){s}^{m}+\cdots +a(m)s+a(m+1)}$$

Scalars `Wo`

and `Bw`

specify
the center frequency and bandwidth in units of radians/second. 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]`

converts the
continuous-time state-space lowpass filter prototype in matrices ` = `

lp2bs(A,B,C,D,Wo,Bw)`A`

, `B`

, `C`

, `D`

shown
below

$$\begin{array}{l}\dot{x}=Ax+Bu\\ y=Cx+Du\end{array}$$

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`

.

Was this topic helpful?