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

example

````h = firminphase(b,nz)` specifies the number of zeros, `nz`, of `b` that lie on the unit circle.```

Note

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

## Examples

collapse all

Design a constrained least squares filter with a nonnegative zero-phase response, and then use the `firminphase` function 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 ensure nonnegative zero-phase resp. n = 32; b = fircls(n,f,a,up,lo); h = firminphase(b)```
```h = 1×17 0.2397 -0.1556 -0.2834 0.3866 0.0415 -0.2529 0.0584 -0.0028 0.0868 0.0079 -0.0978 0.0309 0.0095 0.0669 0.0171 -0.0111 -0.0019 ```

## Input Arguments

collapse all

Lowpass FIR filter coefficients, specified as a row vector. Elements of `b` must be real, of even order, and have nonnegative zero-phase response.

Data Types: `single` | `double`

Number of zeros of `b` that lie on the unit circle, specified as a positive integer. 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 the `firminphase` function calculate the required FIR spectral factor. Zeros with multiplicity greater than two on the unit circle cause problems in the spectral factor determination.

Data Types: `single` | `double` | `int8` | `uint8` | `int16` | `uint16` | `int32` | `uint32` | `int64` | `uint64`

## Output Arguments

collapse all

Minimum-phase FIR spectral factor coefficients of a linear-phase FIR filter `b`, returned as a row vector.

Data Types: `single` | `double`

 Mitra, Sanjit Kumar, and James F. Kaiser, eds. Handbook for Digital Signal Processing. New York: Wiley, 1993.

Watch now