You are here : matlabSignal Processinginvfreqs

invfreqs() - Signal Processing

invfreqs is the inverse operation of freqs.
It finds a continuous-time transfer function that corresponds to a
given complex frequency response. From a laboratory analysis standpoint, invfreqs is
useful in converting magnitude and phase data into transfer functions.[b,a] = invfreqs(h,w,n,m) returns
the real numerator and denominator coefficient vectors b and a of
the transfer functionH(s)=B(s)A(s)=b(1)sn+b(2)sn−1+⋯+b(n+1)a(1)sm+a(2)sm−1+⋯+a(m+1)whose complex frequency response is given in vector h at
the frequency points specified in vector w. Scalars n and m specify
the desired orders of the numerator and denominator polynomials. The length of h must be the same as the length
of w. invfreqs uses conj(h) at -w to
ensure the proper frequency domain symmetry for a real filter.[b,a] = invfreqs(h,w,n,m,wt) weights
the fit-errors versus frequency, where wt is a
vector of weighting factors the same length as w.[b,a] = invfreqs(h,w,n,m,wt,iter) and [b,a] = invfreqs(h,w,n,m,wt,iter,tol) provide
a superior algorithm that guarantees stability of the resulting linear
system and searches for the best fit using a numerical, iterative
scheme. The iter parameter tells invfreqs to
end the iteration when the solution has converged, or after iter iterations,
whichever comes first. invfreqs defines convergence
as occurring when the norm of the (modified) gradient vector is less
than tol, where tol is an optional
parameter that defaults to 0.01. To obtain a weight vector of all
ones, useinvfreqs(h,w,n,m,[],iter,tol)
[b,a] = invfreqs(h,w,n,m,wt,iter,tol,'trace') displays
a textual progress report of the iteration. [b,a] = invfreqs(h,w,'complex',n,m,...) creates
a complex filter. In this case no symmetry is enforced, and the frequency
is specified in radians between –π and π.


Syntax

[b,a] = invfreqs(h,w,n,m)[b,a] = invfreqs(h,w,n,m,wt)[b,a] = invfreqs(h,w,n,m,wt,iter)[b,a] = invfreqs(h,w,n,m,wt,iter,tol)[b,a] = invfreqs(h,w,n,m,wt,iter,tol,'trace')[b,a] = invfreqs(h,w,'complex',n,m,...)


Example

invfreqs(h,w,n,m,[],iter,tol)


Output / Return Value


Limitations


Alternatives / See Also


Reference