Documentation

# iirpowcomp

Power complementary IIR filter

## Syntax

```[bp,ap] = iirpowcomp(b,a) [bp,ap] = iirpowcomp(b,a,c) ```

## Description

`[bp,ap] = iirpowcomp(b,a)` returns the coefficients of the power complementary IIR filter g(z) = `bp`(z)/`ap`(z) in vectors `bp` and `ap`, given the coefficients of the IIR filter h(z) = `b`(z)/`a`(z) in vectors `b` and `a`. `b` must be symmetric (Hermitian) or antisymmetric (antihermitian) and of the same length as `a`. The two power complementary filters satisfy the relation

|H(w)|2 + |G(w)|2 = 1.

`[bp,ap] = iirpowcomp(b,a,c)` where `c` is a complex scalar of unity magnitude, forces `bp` to satisfy the generalized hermitian property:

`conj(bp(end:-1:1)) = c*bp`.

When `c` is omitted, the function chooses `c` as follows:

• When `b` is real, the function chooses `c` as 1 or -1, whichever yields `bp` as real.

• When `b` is complex, `c` defaults to 1.

`ap` is always equal to `a`.

## Examples

collapse all

```[b,a]=cheby1(10,.5,.4); [bp,ap]=iirpowcomp(b,a); fvtool(b,a,bp,ap,'MagnitudeDisplay','Magnitude squared'); legend('Original Filter','Power Complementary Version');``` Watch now