Main Content

Complex and nonlinear-phase equiripple FIR filter design

disables the second-stage optimization algorithm, which executes only when the
`b`

= cfirpm(___,'skip_stage2')`cfirpm`

function determines that an optimal solution has not been
reached by the standard `firpm`

error-exchange. Disabling this algorithm
can increase the speed of computation but incur a reduction in accuracy. By default, the
second-stage optimization is enabled.

The `cfirpm`

function enables you to specify arbitrary
frequency-domain constraints for the design of a possibly complex FIR filter. The Chebyshev (or minimax) filter error is optimized, producing
equiripple FIR filter designs.

An extended version of the Remez exchange method is implemented for the complex case. This
exchange method obtains the optimal filter when the equiripple nature of the filter is
restricted to have `n`

+2 extremals. When the filter does not converge, the
algorithm switches to an ascent-descent algorithm that takes over to finish the convergence to
the optimal solution. For further details, see the references.

[1] Demjanjov, V. F., and V. N. Malozemov.
*Introduction to Minimax*. New York: John Wiley & Sons,
1974.

[2] Karam, L.J. *Design of Complex Digital FIR
Filters in the Chebyshev Sense*. Ph.D. Thesis, Georgia Institute of
Technology, March 1995.

[3] Karam, L.J., and J. H. McClellan. "Complex Chebyshev Approximation
for FIR Filter Design." *IEEE ^{®} Transactions on Circuits and Systems II: Analog and Digital Signal
Processing* 42, no. 3 (March 1995): 207–216.