hank2sys

Convert Hankel matrix to linear system model

Syntax

[num,den] = hank2sys(h,ini,tol)
[num,den,sv] = hank2sys(h,ini,tol)
[a,b,c,d] = hank2sys(h,ini,tol)
[a,b,c,d,sv] = hank2sys(h,ini,tol)

Description

[num,den] = hank2sys(h,ini,tol) converts a Hankel matrix h to a linear system transfer function with numerator num and denominator den. The vectors num and den list the coefficients of their respective polynomials in ascending order of powers of z-1. The argument ini is the system impulse at time zero. If tol > 1, then tol is the order of the conversion. If tol < 1, then tol is the tolerance in selecting the conversion order based on the singular values. If you omit tol, then its default value is 0.01. This conversion uses the singular value decomposition method.

[num,den,sv] = hank2sys(h,ini,tol) returns a vector sv that lists the singular values of h.

[a,b,c,d] = hank2sys(h,ini,tol) converts a Hankel matrix h to a corresponding linear system state-space model. a, b, c, and d are matrices. The input parameters are the same as in the first syntax above.

[a,b,c,d,sv] = hank2sys(h,ini,tol) is the same as the syntax above, except that sv is a vector that lists the singular values of h.

Examples

h = hankel([1 0 1]);
[num,den,sv] = hank2sys(h,0,.01)

The output is

num =

         0    1.0000    0.0000    1.0000


den =

    1.0000    0.0000    0.0000    0.0000


sv =

    1.6180
    1.0000
    0.6180

See Also

rcosflt, hankel


© 1994-2005 The MathWorks, Inc.