invfreqz
R2026bIdentify discrete-time filter parameters from frequency response data
Syntax
Description
Examples
Input Arguments
Output Arguments
Algorithms
By default, invfreqz uses an equation error method to identify the
best model from the data. The method finds b and a in
by creating a system of linear equations and solving them with the
MATLAB®
\ operator, where:
A(ω(k)) and B(ω(k)) are the Fourier transforms of the polynomials
aandb, respectively, at the frequency ω(k).h(k) is the frequency response at the frequency ω(k).
Wt(k) contains the weighting factor for the kth frequency.
n is the number of frequency points (the length of h, ω, and Wt).
This algorithm is based on Levi [1]. Several variants have been suggested in the literature, where the weighting function Wt gives less importance to high frequencies.
The superior output-error algorithm uses the damped Gauss-Newton method for iterative search [2], with the output of the first algorithm as the initial estimate. The algorithm then solves the direct problem of minimizing the weighted squared 2-norm between the desired frequency response and the response obtained with the estimated coefficients (estimated frequency response).
The search stops at the end of the
iterth iteration, once the 2-norm of the
modified gradient vector is less than tol, or when the 2-norm of the
modified gradient vector does not reduce further, whichever occurs first.
If you specify the "trace" argument, the function prints the estimation
progress per iteration in the MATLAB command window. For each iteration, invfreqz prints this information:
Fit accuracy — Squared 2-norm between the desired and estimated frequency responses. The
Current FitandPrevious Fitterms list the squared 2-norm associated with the current and previous iteration, respectively.Filter coefficient estimates — Three-column matrix, where each column lists this information:
Current paris the vector of estimated filter coefficients for the current iteration.prev. paris the vector of estimated filter coefficients for the previous iteration.GN-diris the modified gradient vector from the Gauss-Newton optimization applied to the current iteration.
The function lists the vectors of estimated filter coefficients as [α1; α2; ⋯; αm; β1; β2; ⋯; βn+1], where
.
Norm of the Gauss-Newton optimization vector — The
Norm of GN-vectorlists the 2-norm of the modified gradient vectorGN-dir.
References
[1] Levi, E. C. “Complex-Curve Fitting.” IRE Transactions on Automatic Control. Vol. AC-4, 1959, pp. 37–44.
[2] Dennis, J. E., Jr., and R. B. Schnabel. Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Englewood Cliffs, NJ: Prentice-Hall, 1983.

