This is machine translation

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

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Power complementary IIR filter


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


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


collapse all

fvtool(b,a,bp,ap,'MagnitudeDisplay','Magnitude squared');
legend('Original Filter','Power Complementary Version');

See Also


Introduced in R2011a