# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# lp2bp

Transform lowpass analog filters to bandpass

## Syntax

```[bt,at] = lp2bp(b,a,Wo,Bw) [At,Bt,Ct,Dt] = lp2bp(A,B,C,D,Wo,Bw) ```

## Description

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

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

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 below

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

into 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`.

## Algorithms

`lp2bp` is a highly accurate state-space formulation of the classic analog filter frequency transformation. Consider the state-space system

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

where u is the input, x is the state vector, and y is the output. The Laplace transform of the first equation (assuming zero initial conditions) is

`$sX\left(s\right)=AX\left(s\right)+BU\left(s\right)$`

Now if a bandpass filter is to have center frequency ω0 and bandwidth Bw, the standard s-domain transformation is

`$s=Q\left({p}^{2}+1\right)/p$`

where Q = ω0/Bw and p = s0. Substituting this for s in the Laplace transformed state-space equation, and considering the operator p as d/dt results in

`$Q\stackrel{¨}{x}+Qx=\stackrel{˙}{A}x+B\stackrel{˙}{u}$`

or

`$Q\stackrel{¨}{x}-\stackrel{˙}{A}x-B\stackrel{˙}{u}=-Qx$`

Now define

`$Q\stackrel{˙}{\omega }=-Qx$`

which, when substituted, leads to

`$Q\stackrel{˙}{x}=Ax+Q\omega +Bu$`

The last two equations give equations of state. Write them in standard form and multiply the differential equations by ω0 to recover the time/frequency scaling represented by p and find state matrices for the bandpass filter:

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

If the input to `lp2bp` is in transfer function form, the function transforms it into state-space form before applying this algorithm.