Accelerating the pace of engineering and science

• 평가판
• 제품 업데이트

firminphase

Minimum-phase FIR spectral factor

Syntax

h = firminphase(b)
h = firminphase(b,nz)

Description

h = firminphase(b) computes the minimum-phase FIR spectral factor h of a linear-phase FIR filter b. Filter b must be real, have even order, and have nonnegative zero-phase response.

h = firminphase(b,nz) specifies the number of zeros, nz, of b that lie on the unit circle. You must specify nz as an even number to compute the minimum-phase spectral factor because every root on the unit circle must have even multiplicity. Including nz can help firminphase calculate the required FIR spectral factor. Zeros with multiplicity greater than two on the unit circle cause problems in the spectral factor determination.

 Note   You can find the maximum-phase spectral factor, g, by reversing h, such that g = fliplr(h), and b = conv(h, g).

Examples

This example designs a constrained least squares filter with a nonnegative zero-phase response, and then uses firminphase to compute the minimum-phase spectral factor.

```f   = [0 0.4 0.8 1];
a   = [0 1 0];
up  = [0.02 1.02  0.01];
lo  = [0 0.98 0]; % The zeros insure nonnegative zero-phase resp.
n   = 32;
b   = fircls(n,f,a,up,lo);
h   = firminphase(b);```

References

Saramaki, T, Finite Impulse Response Filter Design, Handbook for Digital Signal ProcessingMitra, S.K. and J.F. Kaiser Eds. Wiley-Interscience, N.Y., 1993, Chapter 4.