# lp2hp

Transform lowpass analog filters to highpass

## Syntax

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

## Description

`lp2hp` transforms analog lowpass filter prototypes with a cutoff angular frequency of 1 rad/s into highpass filters with desired cutoff angular frequency. The transformation is one step in the digital filter design process for the `butter`, `cheby1`, `cheby2`, and `ellip` functions.

The `lp2hp` function 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] = lp2hp(b,a,Wo)` transforms an analog lowpass filter prototype given by polynomial coefficients into a highpass filter with cutoff angular frequency `Wo`. 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)}$

Scalar `Wo` specifies the cutoff angular frequency in units of radians/second. The frequency transformed filter is returned in row vectors `bt` and `at`.

### State-Space Form

`[At,Bt,Ct,Dt] = lp2hp(A,B,C,D,Wo)` converts the continuous-time state-space lowpass filter prototype in matrices `A`, `B`, `C`, `D` below

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

into a highpass filter with cutoff angular frequency `Wo`. The highpass filter is returned in matrices `At`, `Bt`, `Ct`, `Dt`.

## More About

collapse all

### Algorithms

`lp2hp` is a highly accurate state-space formulation of the classic analog filter frequency transformation. If a highpass filter is to have cutoff angular frequency ω0, the standard s-domain transformation is

$s=\frac{{\omega }_{0}}{p}$

The state-space version of this transformation is

```At = Wo*inv(A); Bt = -Wo*(A\B); Ct = C/A; Dt = D - C/A*B; ```

See `lp2bp` for a derivation of the bandpass version of this transformation.

## See Also

Was this topic helpful?

Get trial now