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