Simulation Package - IEEE Control Systems Society

13 downloads 316 Views 261KB Size Report
Dec 7, 1982 - SMM lourrlnl oft Nwnerical ... Computer-aided-design tools have a ... tools. MATRIXx offers classical as well as modern approaches to control ...
Alan C . Hindmarsh

received his B.S. degree from the California Institute of Technolosy in Math1,ematics in 1964. and his Ph.D. in Mathematics from Stanford University in 1968. He has worked since then at the Lawrence ~.Livermore National 5+ Laboratory. currently as a member of the Mathematics and

Statistics Division. During most of this time he has done research and development work on methods, alsorithms. and software for ordinarydifferential equations (initial value problems). especiallyfor stiff systems. He also has stronp secondary interests in numerical linear algibra and numerical methods for

partial differential equations. Generalpurpose ODE software he has authored or coauthored has been widely distributed and heavily used. From 1976 to 1981 he was an editor ofthe S M M lourrlnl oft Nwnerical AflrllYsis.

MATRIXx: A Data Analysis, System Identification, Control Design and Simulation Package Robert Walker, Charles Gregory, Jr., and Sunil Shah Integrated Systems Inc., 151 University Ave., Ste. 4 0 0 , Palo Alto, CA 94301 Abstract MATRIXx is designedasasoftware systemtoperformallthesteps in the control design cycle starting from system modeling to data analysis, identification, controlsynthesisandsimulation.The packagefeaturesapowerful matrixinterpreter, user-friendly a environment with device independent graphics, stateof-the-artnumericalalgorithmsfor reliable computations and user-transparent file management. The program is impleis mented i n ANSI-77FORTRAN,and designedto runonanyallowinginterof FORTRAN proactive execution grams.

Introduction Computer-aided-designtoolshavea significantroleto play in thefutureof control design practice. Each step of the control design cycle starting from system modeling to data analysis, system identification.modelreduction,controldesign. simulation and implementation can be mademoreefficient withsoftware tools. MATRIXx offers classical as well

as modern approaches to control design. MATRIX X provides a comprehensive set of capabilities in a single integrated package with uniform data and file formats.Most"bookkeeping"chores are performed by thesoftware,leaving the controldesignerfreetotacklecontrol problems. Graphics allow the designer to rapidlyvisualizeinformation.Thesystem-build capability lets the designer see the schematic block diagram asit is built. MATRIXx is built on reliable numericalalgorithmsdrawnfromLINPACK, EISPACK and recent research in numerical analysis. Numerical stability and robustness are always important, but particularly for systemdimensionsexceeding approximately 20. The designer canhandlesystemswithlargedimensions in MATRIXx, relying on superior numericalsoftware with comprehensive reporting and controlof numerical errors. Perhaps the most remarkable aspect of MATRIXx is its simplicity.Commands arenatural,simple, yetpowerful.Online documentation with HELP commands, extensive. direct, jargon-free diagnostics and reasonable defaults make MATRIXx easytouse.Theinterpreter can execute higher level constructs called MACROSandcommandfiles.Theyal-

low personalization of MATRIXx commands.eliminatingsuperfluousinteractionswiththedesigner.Thecommand files are typically less than ten lines long andconsist of interpreterstatements. Creationandmodification ofspecific design and analysis procedures are easy because of the rich set of primitives and the hierarchical structure. MATRIXx inherited many of its capabilities from its predecessor MATLAB [6], developed by Cleve Moler, whichwasdevelopedasapedagogicalaidfornumericalanalysis. In contrast,MATRIXx was designed to serve as an engineering design tool. The code-length of MATRIXx (although code-length is not necessarily a measure is five times that of of capability) MATLAB.MATRIXxissignificantly in memory usage and more efficient computations. Capabilities to perform controlsynthesis,systemidentification, signal processing and simulation required a number of new numerical algorithms. MATRIXx also incorporatesastate-ofthe-art device independent graphics package which conforms to the 1979 core systemdefined by Graphics Standard Planning Committee ACM/SIGof GRAPH.

0272-170818211 200-0030$00.75 01982 lEEE 30

control systems magazine

~

Control Design and System Analysis

the command.

s=o

MATRIXxoffers variety a of approaches to control design, classical Bode, Nyquist and Root-locus plots, modernLinear-Quadratic-Gaussian (LQG) techniques, geometric approaches, aswell as others. Rather than advocating a particularapproach,MATRIXx providesthe underlying numerical algorithms in a userfriendlyenvironment,allowingthedesigner to choose the approach. The following example illustrates typical classical design capabilities (see Ogata [SI, pp. 5 15-5 17). The system is represented by y = (20/s(s+l)(s+2))u,or Gu, y = Hx + Ju equivalently x = Fx where

+

1

1

0 - 2 0

0

1

0

0

0

1

0

20

-1 0

0

To obtain the frequency response of the open-loop system S . with 3 states, from w = I E-2 to IEl rads/sec. one enters ORANG = [-2 1

Asseen in Fig. I . thesamevariables used to invoke thePLOTareusedas defaultlabels.TheBode plot clearly indicates instability with a negative phase margin. Now suppose wewant to cascade the plant with a lead-lag network that has the ( s f . 15)/(s+.O 1 5 ) transferfunction (s+.7)/(s+7). The lagportionofthe = I transferfunction ( s + . 1 5 ) / ( s + . O 1 5 ) + . 1 3 5 / ( s i . O 1 5 ) is represented by

] ; NS = 3;

--.015 1

[ F 1 , F R ] = FREQ(S, NS,

.135 1

RANG); It is easy to verify that if

FR is nowthecomplexfrequencyresponseevaluatedatfrequency pointsin F1. Magnitude and phase ofFR are obtained with the following:

S1

0

-1

F 1 G1]and H1 J 1

F 2 G2

OMAGN = ABS(FR); C = 180/PI;

0

=[

20

H 2J 2

PHASE = IMAG(LOG(FR))*C;

0 0 1J,= [ O ]

H=[l

To enter F, G , H and J , the designer tY Pes

1

0

0

-11;

OF=[O

OG=[0;0;20];H=[l

their cascade connection. from u I to y r . is represented by

; G2*J1 -,-----J2*H1H2J2*J1 G1

PLOT(F1, MAGN, ‘LOG UPPER’)

We can write a small MACRO or a commandfiletoperformthecascadeconnection: however, to keep thepresentation simple, we just identify terms in the above expression and form the matrices

PLOT(F1, PHASE, ‘LOGX LOWER KEEP’)

0 01;

1

0 G2*H1 F2

To plot PHASE against F1. on lower part on X-axis. ofthescreenwithlogscale keeping the upper plot, enter

01 -2 0

To plotMAGNitudeagainstfrequency F1, both on log scales, on the upper part of the screen, enter

J = 0; MATRIX x prompt ( ) indicates the beginningofacommandline.Numerical valuesareenteredinfreeformat.The square brackets [I indicate definition of a new matrix, to be entered row-wise. The semicolons ’;’ or end-of-linesseparate two rows inside square brackets. Spaces or commas separate individual elements. A convenient way of representing system is by a system matrix

Entering

; 10. C 1. .1

.w

.1

.01

1. FI

-188. I

.81

I

I

I

I I G I I

I

.1

I

I

I

I

l

l

1

1 FI

defines the S matrix. S is printed out as below because the semicolon did not end December 1 9 8 2

Fig. I .

31

explicitly ( s + . 7 ) / ( s + 7 ) = -.63 (si-7) so that

-+ I /

.8

.,

.E .5 .4

.3

OFC=[-.O15

.2

0; ,135 -71;

G C = [ l ; l ] ; H C = [ . l 3 5 -6.31; JC= [l]; ; S 1 2 = [ F C GC; HC JC]

40. Thefrequencyresponse network is given by

33.

of thelead-lag

H A

0.

s

O [ F l , FRCl

E -3.

= FREQ (S12, 2, RANG);

-60.

In order to save typing PLOT options we define

I.

-1

.O1

FBc;MEx3y

OBODM = ’LOG UPPER YLAB/

Fig. 2. Bode plot of the Lead-Lag network

MAGNITUDE/ XLAB/ FREQUNCYI’;

1

OBODP = ‘LOGX LOWER KEEP YLAB/PHASE/ XLAB/

M I-. A G

FREQUENCY/’;

T

N

18.

I

u

D

and then

I.

E .l

.0z F

()PLOT ( F l , ABS(FRC), BODM),

I

I

1

I

I 1 1 1 1

I

I

.l

.01

PLOT(F1, C*IMAG(LOG(FRC)),

I

,

I l 1 1 1

1.

BODP) generates Fig. 2 . Similarly, for Nyquist plots ONYQP =XLAB/REAL PART/ YLAB/IMAGINARY PART/TITLE/NYQUIST

I W P H A

s

.

8.

E

-la.

PLOT/UPPER RIGHT’; The compensated system is given by

FF=

[

G*HC FC

:I.

.I

.01

I. F a -

Fig. 3

G F = r ] .

HF = [J*HC HI, JF = [O] OFF = [FC O*ONES(2,3); G*HC F ] ;HF = [ J * H C HI ;

OFRF = FR.*FRC o P L O T ( F 1 , ABS (FRF), BODM); PLOT (Fl, C*IMAG(LOG(FRF)), BODP)

J F = 0; G F = [GC; GI; The frequency response of the compensatedsystem SF whichhas 5 states is given by the element by elementmultiplication.”.

penerates the Bode plot for the compensated system. To get uncompensated and cornpensated plantBodeplots we use multichannel plotting. Each column of in the PLOT the first two parameters

command can be a separate channel. OMAGN = [ABS (FRF). ABS(FR)]; PHAS = C*IMAG( [ L O G(FRF), LOG(FR)I 1; oPLOT(F1, MAG,BODM), PLOT(F1, PHAS, BODP) solid lines corgenerates Fig. 3. The respond to the compensated plant. control systems

32

~

ThetwoNyquistplots,limitedtoa region around origin. are given by

0.

OFRR = R E A L ( [ F R F F R ] ) ; F R I = IMAG ([ F R F , F R ] ); ONYQP

-2.

I

n

A C 1 N 4. A R

= 'XLABIREAL PART/YLAB/

IMAGINARY PART/TITLE/ NYQUIST PLOT/FULL GRID ...

Y

P

XMAX= 1 XMIN=-lO

-6.

h

R

7

D X = 1 YMAX= 1 1. ;

YMIN = - l o D Y =

-8.

then Fig. 4 is generated by OPLOT(FRR, FRI, NYQP) Thetimeresponse is computed with the TIMR primitive, which generates the impulse response of a linear system. To obtainthestepresponse intheclosedloop, we define STP = [ (FF - GF*HF) G F O * G F O* HF

0 0

HF

-1B.

-8.

-16.

-6. Ffgve

-2.

4.

E C L m

6.

W I S T FlST

Fig. 4

1

01;

STP represents anintegratorincascade with the unity feedback closed-loop system. [T, TR] =

T

R

= TIMR(STP, 6, [30, 1001);

PLOT(T, TR,'GRID') generates Fig. 5 . ThenextexampleillustratestheLinear-Quadratic-Gaussian (LQG) approach to control design. The following matrices F-4 describealinearized modelofan aircraft longitudinal dynamics model, flying at Mach = .9 at 15,000 feet.

"1

I

Fig. 5 .

1

-.0068 .0015 -.6594 -.32 --.0145 14.484 -.494 .0011

x2

x31

.341

x4

x5

I

=

L

-1.98

-.488

Eigenvalues of the open-loop system are given by entering

0

0

x3

OEIG(F)

0

x4

5.37573' ANS = -0.4879 -0.4879 - 5.37573' -0.0065 + 0.04223' -0.0065 - 0.04223' 0.OOOOi -0.1000

0

0

1

0

o

0

0

0

-.l

.x 5

+ +

Defining cost matrices on states and control as

.-

cost =

0 0

December 1982

.0689

0

0

0

I,

[x'u'l

pXx""1

*

[:]df,

QXU' QUU

33

.

the entire cost matrix Q can starting withthe outputsas

be built up,

for this case. enter OQUU = EYE(2); Q = [QXX, QXU; QXU' QUU]; [EV, KC] = RICC(S, Q, 5); KC,

OQXX = HI*€€; weighting the inputs identity matrix by.

KC = 0.9625 0.0555 -0.1851 -0.5477 1.4399 nominallywiththe

OQUU = EYE(2); achieving no cross-costs betweenslates and the controls with. OQXU = O*ONES(5, 2);

Q = [ QXX QXU; QXU' QUU] ; with no left hand

Now.enteringRICC side? ORICC(S, Q, 5 )

generates the closed-loop eigenvalues:

+

ANS = -1.7793 5.64351' -1.7793 - 5.6435i 0.21 19i -0.2677 -0.2677 - 0.21 19i 0.OOOOi -0.0527 The closed-loop eigenvalues for exponon controlare entiallydecreasingcost generated and stored column-wise in EV by entering 0 QUU = EYE(2);

+ +

-0.0100 -0.3529 1.0714 Singular values ofthe return difference Inverse of the larger singular value in Fig. 6 gives a measure of robustness in matrix for evaluation of robustness propfrequency-domainfor multiplicative a erties can be achieved as follows: [IO]. uncertainty in the plant OSCL = [ F - G*KC G The Kalman gain KF is obtained as the KC J U * O ] ; dual of the control problem. The system matrix S has to be transposed to use the SCLrepresentsthesystem L(I + L ) - ' duality betweenestimationandcontrol where L = KC(sI-F)-'G. solutions. i.e., RICCtS'.(COV,NS) generates the optimal filtering solution. O [ FR, FRCL] Suppose we have a Kalman gain, and we = FREQ(SCL. 5, [ -2, 31 ); wishtoevaluate thecompletecompensator on the design model. generates frequency-response FRCL o E I G ( F - KF*H) evaluatedatfrequencypoints in FR. ranging from 1E-2 to 1E3 rads/sec. Each 1.1587D+Oli ANS =-1.0058D+01 row of FRCL corresponds to a particular 1.1 597D+Oli -1.0058D+01 frequency. The corresponding fre1.2439D-18i -8.9949D-01 quency-responsematrix is stored row- 7.3676D-19i -1.7245D-01 wise from a single row of FRCL. O.OOOOD+OOi -1.OOOOD-01 OFOR JJ = 1 : 101, 0.2682 0.0347

+

+

FMAT(JJ, 1) = [FRCL(JJ, l), FRCL(JJ. 2); FRCL(JJ, 3). FRCL(JJ. 4)];

The closed-loop system seen as driven by process noise. is described by the system matrix SCOM, OSCOM = [ F

KF*H F - G*KC - KF*H

SV(:, JJ) = SVD(FMAT); END

Q = [QXX, QXU; QXU' QUUI ;

H

JJth column of SV is a vector of singular values of FMAT, i.e., ~ ( +1 L ) - '

Ofor J = 1 : 20,

E V ( : J )= RICC(S, Q. 5);

-G*KC

O*H GM

OPLOT(FR. SV','TITLE/SVD

O*GM

QUU = .5*QUU;

RETURN DIFFERENCE

Q = [ QXX, QXU; QXU', QUU]; end OPLOT(real(EV), imag(EV),

O*EYE(2)] ;

CONTROL ONLY/') generates Fig. 6.

In order to compute the time response to

'SYMBOL MARK 1 - 1') Thesystempoleshaveshiftedsubstantially with low cost on control. The transmission zero near the origin attracts

one of the closed-loop poles. OEV(:, 20) ANS =-86.2818 -86.2818 -5.5634 -5.5634 -0.0010

S

- 81.01921'

+

-

+

5.55581' 5.55581'

0.0000i

The system is nonminimum phase with a zero at + .OO I O . Such systems are known to be difficult to control. The first setof eigenvalues are probably reasonable. To get the control gain 34

Y

+ 81.01921'

I

m Figure

SM OF II.NERsE FEWW D I E F E E X L coI.FIRoL O K Y Fig. 6. SVD of Inverse Return Difference. Control Only.

control systems magazine

impulse in process noise (gust), O[TS, TRCM] = TIMR(SC0M 10, [ 60, 2001 ); OPLOT(TS, TRCM(:, l), ‘YLAB*Y l*UPPER LEFT’) OPLOT(TS, TRCM(:, 2), ‘YLAB*Y2*UPPER RIGHT KEEP’) ()PLOT(TS, TRCM(:, 3), ‘YLAB*Y3*LOWER LEFT KEEP’) OPLOT(TS, TRCM(:, 4), ‘YLAB*Y4*LOWER RIGHTKEEP’) generates Fig. 7. The two top plots are impulse response of Y1 to process noise in the two channels respectively.Thebottom plots arefor

Y2

I

Meaningful extensions toLQGmethods require inclusion of dynamics of reference, disturbances, sensors and actuators.Appendingofdynamics in frequency-shaped control design or modelfollowingtechniquesinvolvesforming augmentedequations, which is easily accomplished with MATRIXx primitives.Useoffrequency-shapedcosts, withsingularvalue plots forrobustness evaluation,allowsincorporation of engineering judgment in the control design. More advanced application of MATRIXx would use MACROs and so astotailorcontrol commandfiles designproceduressuchas thesession above.Advancedsystemtheoretic procedures,suchascomputingKronecker indices,suprema1(A,B)invariantsubspaces in the kernel of C and computing minimalrealizationshavebeenimplemented in MATRIXx as procedures. Such command files and MACROs use MATRIXx primitives like the QZ, SVD. For lackof spacethese QRandPVA. advancedprocedures will not be described here.

Modeling, System Identification and Data Analysis System Building Capability

Graphical display and interactive specification of complex a system using or components is simplersubsystems often very useful. Simulation and identification of nonlinear systems require the system building capability as a basic tool. A set of basic components allows the user to build a model by specifying the individual component characteristics and thetopologicalstructure.System buildingallowsmixedcontinuousanddiscrete-timesystems,multi-ratesystems and a variety of nonlinear elements. As specification of each component is completed, the model can be stored or used in December 1982

simulationandidentification. An individualcomponentcanalso beapreviously specified model. A recently developed differential algebraic system solver (Gear and Petzold [2]) can handle systemsthatpreviouslycould not be simulated.Theimplicitequationsolver can also be used to automatically find a consistent set of initial conditions-often not an easy task. Fixed-step-size RungeKutta can also be used if a sample hold is used that gives discontinuous inputs. Phase-flowplotsofthevectorfield defining a nonlinear differential equation canbevaluableforlooking at thebehavior of nonlinear systems without accurately solving for theentiretimehistory. One can demandto look at any twodimensional plane of the phase-space at any point.

Some PLOT capabilities were illustrated previously.Coupled withthepowerful matrix arithmetic operations and matrix functions, the graphical capabilities provide an excellent tool for data display. Batch procedures include stepwise regression, state-space and nonlinear maximumlikelihoodprocedures.Non-parametric batch and semi-batch methods using Fast Fourier Transform give autoandcross-spectraandauto-andcrosscorrelations. Non-parametric methods use a modified version of “overlap add” datacan bedismethod so thatpast counted exponentially. After each block of data is processed, theresultscan be examined and blocksof data added to the previous data without recomputingall the past results. Recursive identification methods such as the Extended Kalman Filter for linear state-space-system withLjung’smodification [ 5 ] and recursive prediction error algorithm are available. There is aU-D measurementupdateasprimitiveoperator. A variety of recursive identification andadaptivecontrolalgorithmscan be implemented with U-D update.

Numerical Algorithms Ashortdescriptionofsome of the importantalgorithms in MATRIXx follows.

Data Analysis and System Identification

Data display, detrending, censoring and filtering can be accomplished easily withMATRIXx. Flexiblegraphics is a of this package. very important part

Generalized Eigenvalue Problem

QZ primitivesolves

thegeneralized

8.15

- .O1

0.10 Y 1

Y

-.E

1

0 . e5

-.a3 8.88

-.e4

-. 85 0.18.58.38.4%.58.68.

%. 18.

TS

33.

3.4%. 58. TS

8.85 8.88

8.

10.

a. 33. 48. 58. TS

Fig. 7

35

eigenvalueproblem Ax = XBx. Moler and Stewart [7] developed the basic algorithmforQZfactorization used by the QZ primitive.Ordering ofthefactored form by stability (left or right half comor outsidetheunit plexplane.inside circle) is achieved by the orderin, 0 routines of Van Dooren [ 1 I ] . Algebraic Riccati Equation ( A R E )

ARE is solved starting withextended Hamiltonian equations (Van Dooren [ 121). Theseextendedequationsavoid unnecessary inversion of cost matrices or the transition matrix. The resulting equations are transformed by orthogonal row compressionsto thegeneralizedeigenvalue problem (Walker, Emami and Van Dooren [ 131). Ordering of eigenvalues in thegeneralizedeigenvalueproblem is achieved with backward stable exchange routines. Once the orthogonal basis for thestable/unstablesubspace is obtained by the QZ algorithm, the ARE solution is obtained by QRfactorization. If more than half the relative precision is lost in the rankdeficientinversion. theuser is warned. RICC handles, in a numerically sound way, for cases satisfying detectabilityandstabilizability.discretedeadbeatcontrol.noiselessmeasurements in Kalmanfiltersandtime-delays in discrete-time systems, which cause difficulties in thestandardEuler-Lagrangeeigenvalue problem formulation. Principal Vector Algorithm (PVA)

The PVA [ 141 automaticallydeterminesnumericallymultipleeigenvalues inthemodeldecomposition of linear dynamicsystems.rather thanrequiring iterativeexecutions with different input tolerances.Afterfinding whatmay be over-conservativegroups, PVAextends the algorithm of Kagstrom and Ruhe [3], handling weakly coupled chains and stablyseparatingunrelatedrootsduring the reduction of the approximate clusters, to giveeigenvaluemeansandprincipal to thesame vectorsthatareaccurate orderofmagnitudeas theperturbation matrix. TlMR (time response) and FREQ (frequency response) primitives use PVA toreducetheamount ofcomputation to needed. With the system transformed its modalform, thenumber of computations per timelfrequency point is only O(N) where N is the state dimension. Recursive Prediction Error Methods ( R P E M ) and U-D Update (UDUP)

RPEM allows identification of

36

ARMAX(autogregressive moving average with exogenous inputs) models from data in arecursivemanner.ThealgorithmusesSchur-Cohnstabilitycheck and projection of the parameters into the region of stability of the predictor. The covariance update is in the U-D factored 141). form with regularization (Ljung UDUP performs rank-one update of covariance, as well as measurement upIt usesU-D dateoftheKalmanfilter. update algorithms of Bierman [ I ] . Adapcontrol tive algorithms, Extended Kalman Filter equations, andMaximum Likelihoodidentificationalgorithmscan be implemented effectively with UDUP. Differential Algebraic (INTG)

Integration

Implicit nonlinear equations of the form f(y,y,t) = 0, or linear differential equationsof the form Ex = Fx + Gu (with singular E) can be integrated with INTG primitive. The code used for INTG is essentially that of DASSL (Petzold [ 9 ] : also Gear and Petzold [2]). In addition to beingabletosolvestiffsystemequations, the code also attempts to find a set of consistentinitialconditionsforthe implicitequations.Fornonlinearsystems, this task is often hard.

Implementation Issues Theprogramiscoded in ANSI-77 FORTRAN and will run onanysystem allowing interactive execution of FORTRAN. The few machine dependent featuresareimplementedseparatelyfor most popular operating systems. An implementation with 250K double-precision complex elements is availableforVAX 1 1/780. System orders up to 150 can be handledeasily within the storage capacityofthecomputerandnumerical accuracyofthealgorithms. Mostalgorithms access memory in a linear fashion. so thatpage-swapping is notunduly increased inthevirtualmemoryimple-

mentation. Whereas,MATRIXxallowscomplex operations and arithmetic, all realalgorithms such as RICC do not perform extra computation,nordo theyuse up extra BLAS subroutines in memory. The LINPACKhave beenmodified so that efficiency is not sacrificed in working withcomplexdata withzeroimaginary part. allows "chopped MATRIX x also arithmetic"operations with smallereffective word-length. This feature can be usedtoprovideperformanceevaluation

ofon-boardsmallword-lengthcontrol systems.

Conclusions In summary,MATRIXxprovidesa system which minimizes engineering and programming resources required for the complete cycle of system identification, controldesignandvalidation. yetprovides the flexibility needed in an applied research environment.

References G . J . Bierman, FactorizationMethods for Discrete Sequential Estimation, Academic Press, 1977. [2] C. W . Gear. and L. R. Petzold, (1982). "Differential/Algebraic Systems and Matrix Pencils," Proceedings of Con[I]

ference

on Matrix Pencils,

Pilea,

Sweden, March 1982. [3] B. Kagstrom. and A. Ruhe, "An Algorithm for Numerical Computation of the Jordan Normal Form of a Complex Matrix [F2]," ACM Trans. on Math. Sofmare, Vol. 6 . No. 4, pp. 4 3 7 4 3 .

Sept. 1980. 141 L. Ljung and T. Sodestrom, Recursive Identification of D y a m i c a l Systems, MIT Press. Cambridge, MA, 1982. [SI L. Ljung, "Asymptotic Behavior of the Extended Kalman Filter as a Parameter Estimatorfor Linear Systems," IEEE Trans. Auto. Contr., Vol. AC-24, No, I . Feb. 1979. 161 C. B. Moler, "MATLAB User's Guide," Dept. of Comp. Sci. Rept TR CS81- I . Univ. of New Mexico, Albuquerque, NM. June 1981. [7] C. B. Moler, and G . W. Stewart, "An Algorithm for Generalized Matrix EigenvalueProblems." S I A M J . Numer. Anal.. Vol. 10. No. 2, 1973. 181 K. Ogata, Modern Control Engineering. Prentice-Hall. NJ, 1970. 191 L. R . Petzold,"DASSL: A Differential Algebraic System Solver." Sandia National Lab, Livermore, CA. 1982. [ 101 M. G . Safanov, A. J . Laub. and G .L.

Hartman. "Feedback Properties

of

Multivariable Systems.'' IEEE Trans. Auto. Contr.. Vol. AC-26, No. I . Feb.

I [] I

1981. P. Van Dooren, "DSUBSP and EXCHQZ: FORTRAN Subroutines for ComputingDeflating Subspaces with Specified Spectrum," submitted to Trans. on Math. Software, 1981a. Van Dooren. "A .Generalized Eigenvalue Approach for Solving Riccati Equations," SZAM J . on Sci. and Stat. Comp., Vol. I . No. 2, June

[I21 P.

1981. [I31 R . Walker, A. Emami-Naeni, and P. Van Dooren. "A Generalized Algorithm for Solving the Algebraic Riccati Equations." to appear in Proceedings of the Conf. on Decision and Control,

1982. [I41 R . A . Walker, and A . E. Bryson, "A Reliable Algorithm for Modal Decomposition." submitted to IEEE Trans. on Auto. Control.

control systems magazine

Robert A. Walker'is a Research Scientist Integrated for i' Systems, Inc., responsible for Aircraft Identification and Control. He , received the B.S. degree from the USAFAcademyin 1969, the M.S. degree from Purdue University in 1970, and the Ph.D.from Stanford University in 1981. He served in the USAF at the Space and Missile Systems Organization in El Segundo, California, where he directed planning studies for space surveillance systems. In 1973 he joined Systems Control, Inc. (SCI), Palo Alto, California, wherehe oarticbated .~ in the develoDment of new engineering analysis tools and applied research projects for rotorcraft, aircraft, reentry vehicles, and electric power systems. employed As a Research Assistant and Post-doctoral ResearchAssociate atStanford, he developedData several new numerically reliable algorithms, ?

r--

~

~~

~

~~

~

useful inpractical control design.AtIntegrated Systems, Inc. (ISI), Dr. Walker has contributed to the design and integration of the MATRIX, package and has worked on projectsinvolving aircraft flighttesttrajectory control, human operator modeling, and analysis of recursive identification algorithms for real-time aircraft flutter testing.

research assistant in large-space-structure control atPurdue University. He was an engineerwithSystems Control, Inc., Palo Alto, California, from February, 1980 to May, 1981, workingin the missileguidance and jet engine control areas. He joined the staff ofIntegrated Systems, Inc., in May, 1981.

Charles Z. Gregory,

Jr. was born in Baltimore, Maryland, on March 1, 1951. Hereceived the B.S. degree with distinction in EngineeringScience in 1976, and the M.S. degree in Engineering in 1978, both fromPurdue algorithms for nonlinear dynamics of in: 1970 to 1973 was dustrial he processes. Currently ishe the University. From by the NASAKoddard Space manager of CAD systems at Intergrated Flight Center and the National Space-Science Systems, Inc. His research interests include Center, Greenbelt, Maryland, as a coalgorithms for CAD tools,adaptivecontrol op student. From 1976 to 1979 was he a and system identification.

Software Summaries This section contains twenty-three summaries on Computer-Aided Control SystemDesignsoftwarepackagesascompiled by Prof. Dean K. Frederick. Prof. Frederick has established a file on CACSD packages, and he would like to receive information on new packages or receive updates whenever significant on fileoccur. changestothosealready The CSM will publish a section on software summaries ona regular basis. If you would like to participate,pleasesubmit informationonyoursoftwarepackage. followingthesameformatused inthis issue, to: Prof. Dean I(.Frederick, Electrical, Computer, and Systems EngineeringDepartment,RensselaerPolytechnic Institute, Troy, NY 12 18 I .

Package or program name: EASY5 Dynamic Analysis and Design System Principaldeveloper: Dr.John D.Burroughs Softwarecapabilities: Nonlinearsimulation/timehistorygeneration,steady state analysis, optimal control synthesis.fullstatefeedback/Kalmanstate estimatorlreduced order controller, linear model generation, linear control systemanalysis,eigenvalues/stability margins/root locus/frequency response, linear simulation/time history generation, modular modeling language is used. continuous and discrete time models (single and multirate sampling),nonlinearsimulations and

linearcontrolanalysis in one inte150 gratedpackage,systemoforder has been handled satisfactorily, selective analysis options may handle 500th order system Interactive capabilities: Interactive batch (immediate batch execution)

Programming language used: FORTRAN Computersandterminalson which available: MAINSTREAM-EKS (BCS Nationwide network), VAX 11/ 780, CYBER (Large Scale), IBM (Large Scale) Documentation: EASY5UsersGuide, BCS Document # 10208- 127 Memory and disk requirements: IOOK - 300K Octal 60 bit words, (Depends on size of model), on CDCI comparable on other hosts State of development: Production code Availability of code: Object Code may be leased or EASY5 may be accessed via MAINSTREAM-EKS Person to contactfor details: Ronald A. Hammond. 565 Andover Park 9C-01, Tukwila, WA West. M/S 98 188: (206) 575-5092 Principal developer: Dr. P. J. Fleming. School Electronic of Engineering Science, University College of North Wales, Bangor, Gwynedd, U.K. Softwarecapabilities: Designofcon0272-1708/82/1200-0037$00.75O1982IEEE

trollers for linearoptimalregulators andsuboptimallinearregulatorsfor lineartime-invariantcontinuoussystems and sampled-data systems. Statespace input specification. Typically willhandle 15-20varyinggainparameters and overall system sizesof at least order 30 satisfactorily. Numerical and graphical evaluation tools for controller designs including comprehensive graphics display facilities (GHOST)

Interactivecapabilities: Questionand answer: help commands Programming language used: FORTRAN- 10 (easilymodifiedforother versions of FORTRAN) Computersandterminals on which available: Anycomputer which 'supportsFORTRAN,andforgraphics version.anyterminalwhichGHOST graphics package supports Documentation: User's Manual. implementation document, commented source Memory and disk requirements: Memoryrequirement is dependent on user specification. Typically an overall system of order 30 will require 190 K bytesofexecutablecode(excluding graphics) State of development: Completeversion for continuous-time systems currently available. Version which includes sampled-data systems due