This is machine translation

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

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Power complementary IIR filter


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


[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,c] = iirpowcomp(b,a) where c is a complex scalar of magnitude = 1, forces bp to satisfy the generalized hermitian property

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

When c is omitted, it is chosen as follows:

  • When b is real, chooses C as 1 or -1, whichever yields bp real

  • When b is complex, C defaults to 1

ap is always equal to a.


Hd1 = dfilt.df2(b,a);
Hd2 = dfilt.df2(bp,ap);
hfvt = fvtool([Hd1,Hd2],'MagnitudeDisplay','Magnitude');
legend(hfvt,'Original Filter','Power Complementary Version');

The next figure presents the results of applying iirpowcomp to the Chebyshev filter — the power complementary version of the original filter.

See Also

| | |

Introduced in R2011a

Was this topic helpful?