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

## See Also

Was this topic helpful?

Get trial now