Mu Analysis and Synthesis Toolbox | ![]() ![]() |
Calculate the balanced realization and optimal Hankel norm approximation of a SYSTEM matrix. sysbal
and hankmr
are restricted to be used on continuous-time SYSTEM matrices whose poles have negative real part
Syntax
[sysb,hanksv] = sysbal(sys,tol) [sysred,sysanti,siganti] = hankmr(sysb,hanksv,k,opt)
Description
sysbal
performs a truncated balanced realization of the input SYSTEM matrix. The result is truncated to retain all Hankel singular values greater than tol
. If tol
is omitted then it is set to
hanksv
(1) * 1.0-12,1.0-16)
The second output argument of sysbal
is the vector hanksv
, which contains the Hankel singular values of the input system, sys
. One method to get a reduced-order model is to truncate the balanced system sysb
using strunc
.
hankmr
returns sysred, the optimal Hankel norm
approximation of order k
to the SYSTEM matrix, sysb
, which is a balanced realization with Hankel singular values hanksv and is of order n (n > k)
. The fourth optional input argument, opt
, may be omitted in which case sysanti
contains the anti-causal term such that the L(sysb - sysred - sysanti)
is hanksv(k+1)
or set to:
'a'
when sysout
also includes the anti-casual term, and sysanti=0
'd'
when sysout
includes a D matrix to reduce the H error norm of (
sys
- sysout
)
If the d
option is set, the third output argument of hankmr
is the vector siganti
, which contains the Hankel singular values of the system, sysanti~
. In this case
hanksv(k
+1)||sys - sysred||·
hanksv(
k
+1)+sum(siganti)
Examples
Given the system , reduce the system to two and one states, respectively. First reduce the system to two states.
sys = zp2sys([-10 -90],[-2 -91 -100]); w = logspace(-1,3,100); sysg = frsp(sys,w); [syssb,sv]=sysbal(sys); sv ans = 2.0613e-024.1136e-031.2663e-06 sys2s =Notice that there is virtually no difference between the three systems. Now we will reduce the original system down to one state withstrunc
(syssb,2); sys2sg =frsp
(sys2s,w); sys2h =hankmr
(syssb,sv,2); sys2hg =frsp
(sys2h,w);vplot
('bode',sys_g
,sys2sg,sys2hg) tmp = 'Original 3 state system, 2 state Balanced '; tmp1
= 'and Hankel Model Reduction'; title([tmp tmp1
])
![]()
sysbal
and hankmr
.
sys1
s =strunc
(syssb,1);sys1
sg =frsp
(sys1
s,w);sys1
h =hankmr
(syssb,sv,1);sys1
hg =frsp
(sys1
h,w); [syssb,sv] =sysbal
(sys
);vplot
('bode',sys_g
,sys1
sg,sys1
hg) tmp = 'Original 3 state system, 1 state Balanced ' tmp1
= 'and Hankel Model Reduction') title([tmp tmp1
])
Reference
K. Glover, "All optimal Hankel-norm approximations of linear multivariable systems and their error bounds," International Journal of Control, vol. 39, pp. 1115-1193, 1984.
See Also
sdecomp
, sfrwtbal
, sfrwtbld
, sresid
, srelbal
, sresid
![]() | statecc, strans | sysic | ![]() |