Mu Analysis and Synthesis Toolbox | ![]() ![]() |
srelbal
calculates the stochastically balanced realization of a SYSTEM matrix, sfrwtbal
, the frequency weighted balanced realization for performing relative error, and sfrwtbld
, the frequency weighted model order reduction. sncfbal
calculates the normalized coprime factorizations. sdecomp
decomposes a SYSTEM matrix as the sum of stable and unstable systems.
Syntax
[sysb,relsv,sysfact] = srelbal(sys,tol) [sys1,sig1] = sfrwtbal(sys,wt1,wt2) syshat = sfrwtbld(sys1hat,wt1,wt2) [sysnlcf,signcf,sysnrcf] = sncfbal(sys,tol) [sysst,sysun] = sdecomp(sys,bord,fl)
Description
srelbal
performs a stochastically balanced realization of the input SYSTEM matrix. sys
must be stable and be of full column rank at infinite frequency, but not necessarily square or minimum phase. Difficulties may occur if sys
has zeros on the imaginary axis. sysb
will have the same transfer function as sys
, and sysfact
gives the stable minimum phase system such that sys~ sys = sysfact sysfact~
. Note that sys~
denotes cjt(sys)
. If [a,b,c,d] = unpck(sysb)
and [af,bf,cf,df] = unpck(sysfact)
, then the realization [a,bf,c,0]
will be balanced with Hankel singular values relsv, and will also equal the stable part of sys*sysfact~
-1. A reduced-order system can be obtained by strunc(sysb,k)
that will have guaranteed performance in the relative error.
sfrwtbal
performs a frequency-weighted balancing. It calculates the stable part of (wt1) ~
-1 * sys* (wt2)~
-1 and sys1
is a balanced realization of this, with Hankel singular values sig1
. wt1
and wt2
must be stable and minimum phase, square and of compatible dimensions with sys
. wt2
has the identity as default value. sys
must be stable. The resulting system sys1
can then be approximated by sys1hat
of order k
using, for example, hankmr
, and an approximation syshat
to sys
is obtained by sfrwtbld
, which calculates the stable part of (wt1)~ *sys1hat*(wt2)~
using sdecomp
.
A general lower bound on the frequency weighted approximation error is given by
(wt1) ~
-1(sys - syshat)(wt2)~
-1||·
sig1(k + 1
)
where in the relative error case wt1
is the identity and wt2 = sysfact
.
sncfbal
produces balanced realizations of the normalized left and right coprime factorizations of a SYSTEM matrix. That is for a transfer function G, balanced state-space realizations are calculated for signcf
. Model reduction for these systems can then be performed using strunc
or hankmr
. The method is well suited to plant or controller reduction in feedback systems.
sdecomp
decomposes a system into the sum of two systems, sys
= madd(sysst,sysun)
. sysst
has the real parts of all its poles < bord
and sysun
has the real parts of all its poles bord
. bord
has default value 0. The D
matrix for sysun is zero unless fl = 'd'
when that for sysst
is zero.
srelbal
, sfrwtbal
, sfrwtbld
, sncfbal
, and sdecomp
are restricted to be used on continuous-time SYSTEM matrices.
Examples
Given the system
reduce the system to two and one states, respectively. An approximate system of order 1 or 2 can be obtained as follows.
sys = zp2sys([-1 -10 -90],[-2 -91 -100]); [sysb,relsv,sysfact] = srelbal(sys); disp(relsv') 8.5985e-012.0777e-012.1769e-04 sysrel1 = strunc(sysb,1); sysrel2 = strunc(sysb,2);The relative error in the second-order model will be negligible since relsv(3) is very small; however, with a first-order model, it will be substantial. The reduced-order models of order
k
can be obtained in the frequency weighted case as follows:
wt1 = nd2sys([1 10],[1 1]); [sys1,sig1] = sfrwtbal(sys,wt1); disp(sig1'); 4.1873e-014.6472e-031.0280e-04 sys1hat = hankmr(sys1,sig1,1,'d'); syshat = sfrwtbld(sys1hat,wt1); disp(hinfnorm(mmult(msub(sys,syshat),minv(wt1)))); 4.6471e-034.6517e-03InfIn this example the method nearly reaches the lower bound, but this cannot be claimed in general. Now consider approximating the unstable third order system,
using sncfbal
. First the balanced realization of the normalized left coprime factors is calculated, then this is truncated to two states and the reduced-order system recovered from these normalized coprime factors using starp
.
sys = zp2sys([],[0 1 -10],10); [sysnlcf,signcf] = sncfbal(sys); disp(signcf') 9.6700e-015.2382e-012.3538e-02 sysnlcfr = strunc(sysnlcf,2); sysr = starp(mmult([1;1],msub(sysnlcfr,[0 1])),-1,1,1)If this is the transfer function of a plant to be controlled, then
signcf(1)
can be used to predict the possible robust stability to perturbations in the coprime factors, and the potential for model-order reduction of the controller is given by signcf(2:3)
, McFarlane and Glover (1989). In this example the maximum stablizable perturbations in the coprime factors is given by 0.25477 - 2 * signcf(3) = 0.20770
Algorithm
The algorithms are based on the results in the following papers.
Reference
Anderson, B.D.O., and Y. Liu, "Controller reduction: Concepts
and Approaches," IEEE Transactions on Automatic Control, vol. AC-34, pp. 802-812, 1989.
norm
approximation of state transfer functions," Systems and Control Letters, vol. 5, pp. 229-236, 1985.
McFarlane, D.C., and K. Glover, Robust Controller Design using Normalised Coprime Factor Plant Descriptions, Springer-Verlag, Lecture Notes in Control and Information Sciences, vol. 138, 1989.
Wang, W., and M.G. Safonov, "A tighter relative error bound for balanced stochastic truncation," Systems and Control Letters, vol. 14, pp. 307-317, 1990.
See Also
hankmr
, sysbal
, sresid
, strunc
![]() | spoles | sresid, strunc | ![]() |