lp2bp() - Signal Processing
lp2bp transforms
analog lowpass filter prototypes with a cutoff angular frequency of
1 rad/s into bandpass 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.lp2bp 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.Transfer Function Form (Polynomial)[bt,at] = lp2bp(b,a,Wo,Bw) transforms an analog
lowpass filter prototype given by polynomial coefficients into a bandpass
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.B(s)A(s)=b(1)sn+⋯+b(n)s+b(n+1)a(1)sm+⋯+a(m)s+a(m+1)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. lp2bp returns the frequency transformed filter
in row vectors bt and at.State-Space Form[At,Bt,Ct,Dt] = lp2bp(A,B,C,D,Wo,Bw) converts the
continuous-time state-space lowpass filter prototype in matrices A, B, C, D shown
belowx˙=Ax+Buy=Cx+Duinto a bandpass 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 bandpass filter is returned in matrices At, Bt, Ct, Dt.
Syntax
[bt,at] = lp2bp(b,a,Wo,Bw)[At,Bt,Ct,Dt] = lp2bp(A,B,C,D,Wo,Bw)
Example
Q = Wo/Bw; [ma,m] = size(A);
At = Wo*[A/Q eye(ma,m);-eye(ma,m) zeros(ma,m)];
Bt = Wo*[B/Q; zeros(ma,n)];
Ct = [C zeros(mc,ma)];
Dt = d;
Output / Return Value
Limitations
Alternatives / See Also
Reference