imp2ss
System realization via Hankel singular value decomposition
Syntax
[a,b,c,d,totbnd,hsv] = imp2ss(y) [a,b,c,d,totbnd,hsv] = imp2ss(y,ts,nu,ny,tol) [ss,totbnd,hsv] = imp2ss(imp) [ss,totbnd,hsv] = imp2ss(imp,tol)
Description
The function imp2ss produces an approximate state-space realization of a
given impulse response
imp = mksys(y,t,nu,ny,'imp');
using the Hankel SVD method proposed by S. Kung [2]. A continuous-time realization is computed
via the inverse Tustin transform (using bilin)
if t is positive; otherwise a discrete-time realization
is returned. In the SISO case the variable y is
the impulse response vector; in the MIMO case y is
an N+1-column matrix containing N +
1 time samples of the matrix-valued impulse response H0,
..., HN of an nu-input, ny-output
system stored row-wise:
y = [H0(:)′;H2(:)′; H3(:)′; ... ;HN(:)′
The variable tol bounds the H∞ norm
of the error between the approximate realization (a, b, c,
d) and an exact realization of y; the
order, say n, of the realization (a, b,
c, d) is determined by the infinity norm error bound specified
by the input variable tol. The inputs ts, nu, ny,
and tol are optional. If omitted, they default
to the values ts = 0, nu = 1, ny
= (number of rows of y)/nu, tol = . The output returns the singular values (arranged
in descending order of magnitude) of the Hankel matrix:
Denoting by GN a high-order exact realization of y, the low-order approximate model G enjoys the H∞ norm bound
where
Algorithms
The realization (a, b, c, d) is computed
using the Hankel SVD procedure proposed by Kung [2] as a method for approximately implementing
the classical Hankel factorization realization algorithm. Kung's SVD
realization procedure was subsequently shown to be equivalent to doing
balanced truncation (balmr) on an exact state-space
realization of the finite impulse response {y(1),....y(N)} [3].
The infinity norm error bound for discrete balanced truncation was
later derived by Al-Saggaf and Franklin [1].
The algorithm is as follows:
Form the Hankel matrix Γ from the data y.
Perform SVD on the Hankel matrix
where Σ1 has dimension n × n and the entries of Σ2 are nearly zero. U1 and V1 have ny and nu columns, respectively.
Partition the matrices U1 and V1 into three matrix blocks:
where and .
A discrete state-space realization is computed as
where
If the sample time t is greater than zero, then the realization is converted to continuous time via the inverse of the Tustin transform
Otherwise, this step is omitted and the discrete-time realization calculated in Step 4 is returned.
References
[1] Al-Saggaf, U.M., and G.F. Franklin, “An Error Bound for a Discrete Reduced Order Model of a Linear Multivariable System,” IEEE Trans. on Autom. Contr., AC-32, 1987, p. 815-819.
[2] Kung, S.Y., “A New Identification and Model Reduction Algorithm via Singular Value Decompositions,” Proc. Twelfth Asilomar Conf. on Circuits, Systems and Computers, November 6-8, 1978, p. 705-714.
[3] Silverman, L.M., and M. Bettayeb, “Optimal Approximation of Linear Systems,” Proc. American Control Conf., San Francisco, CA, 1980.
Version History
Introduced before R2006a