dgkfdemo () | Function File |
Octave Controls toolbox demo: H-2/H-infinity options demos. |
hinfdemo () | Function File |
H-infinity
design demos for continuous SISO and MIMO systems and a
discrete system. The SISO system is difficult to control because
it is non-minimum-phase and unstable. The second design example
controls the
|
[l m, p, e] = dlqe (a, g, c, sigw, sigv, z) | Function File |
Construct the linear quadratic estimator (Kalman filter) for the
discrete time system
x[k+1] = A x[k] + B u[k] + G w[k] y[k] = C x[k] + D u[k] + v[k] where w v are zero-mean gaussian noise processes with
respective intensities If specified z is The observer structure is z[k|k] = z[k|k-1] + L (y[k] - C z[k|k-1] - D u[k]) z[k+1|k] = A z[k|k] + B u[k] The following values are returned:
|
[k p, e] = dlqr (a, b, q, r, z) | Function File |
Construct the linear quadratic regulator for the discrete time system
x[k+1] = A x[k] + B u[k] to minimize the cost functional J = Sum (x' Q x + u' R u) z omitted or J = Sum (x' Q x + u' R u + 2 x' Z u) z included. The following values are returned:
|
[Lp Lf, P, Z] = dkalman (A, G, C, Qw, Rv, S) | Function File |
Construct the linear quadratic estimator (Kalman predictor) for the
discrete time system
x[k+1] = A x[k] + B u[k] + G w[k] y[k] = C x[k] + D u[k] + v[k] where w v are zero-mean gaussian noise processes with
respective intensities If specified S is The observer structure is x[k+1|k] = A x[k|k-1] + B u[k] + LP (y[k] - C x[k|k-1] - D u[k]) x[k|k] = x[k|k-1] + LF (y[k] - C x[k|k-1] - D u[k]) The following values are returned:
|
[K gain, kc, kf, pc, pf] = h2syn (asys, nu, ny, tol) | Function File |
Design
H-2
optimal controller per procedure in
Doyle Glover, Khargonekar, Francis, State-Space Solutions to Standard
H-2 and H-infinity
Control Problems IEEE TAC August 1989.
Discrete-time control per Zhou Doyle, and Glover, Robust and optimal control, Prentice-Hall, 1996. Inputs
Outputs
|
K = hinf_ctr (dgs f, h, z, g) | Function File |
Called by hinfsyn to compute the
H-infinity
optimal controller.
Inputs
Do not attempt to use this at home; no argument checking performed. |
[k g, gw, xinf, yinf] = hinfsyn (asys, nu, ny, gmin, gmax, gtol, ptol, tol) | Function File |
Inputs input system is passed as either
References:
|
[retval pc, pf] = hinfsyn_chk (a, b1, b2, c1, c2, d12, d21, g, ptol) | Function File |
Called by hinfsyn to see if gain g satisfies conditions in
Theorem 3 of
Doyle Glover, Khargonekar, Francis, State Space Solutions to Standard
H-2 and H-infinity
Control Problems IEEE TAC August 1989.
Warning: do not attempt to use this at home; no argument checking performed. Inputs As returned by
Outputs
|
[xinf x_ha_err] = hinfsyn_ric (a, bb, c1, d1dot, r, ptol) | Function File |
Forms
xx = ([bb; -c1'*d1dot]/r) * [d1dot'*c1 bb']; Ha = [a 0*a; -c1'*c1 - a'] - xx;and solves associated Riccati equation. The error code x_ha_err indicates one of the following conditions:
|
[k p, e] = lqe (a, g, c, sigw, sigv, z) | Function File |
Construct the linear quadratic estimator (Kalman filter) for the
continuous time system
dx -- = a x + b u dt y = c x + d u where w and v are zero-mean gaussian noise processes with respective intensities sigw = cov (w w) sigv = cov (v v) The optional argument z is the cross-covariance
Observer structure is The following values are returned:
|
[k q1, p1, ee, er] = lqg (sys, sigw, sigv, q, r, in_idx) | Function File |
Design a linear-quadratic-gaussian optimal controller for the system
dx/dt = A x + B u + G w [w]=N(0[Sigw 0 ]) y = C x + v [v] ( 0 Sigv ])or x(k+1) = A x(k) + B u(k) + G w(k) [w]=N(0[Sigw 0 ]) y(k) = C x(k) + v(k) [v] ( 0 Sigv ]) Inputs
|
[k p, e] = lqr (a, b, q, r, z) | Function File |
construct the linear quadratic regulator for the continuous time system
dx -- = A x + B u dt to minimize the cost functional infinity / J = | x' Q x + u' R u / t=0 z omitted or infinity / J = | x' Q x + u' R u + 2 x' Z u / t=0 z included. The following values are returned:
Reference Anderson and Moore Optimal control: linear quadratic methods, Prentice-Hall 1990, pp. 56-58. |
[y x] = lsim (sys, u, t, x0) | Function File |
Produce output for a linear simulation of a system; produces
a plot for the output of the system sys.
u is an array that contains the system's inputs. Each row in u corresponds to a different time step. Each column in u corresponds to a different input. t is an array that contains the time index of the system; t should be regularly spaced. If initial conditions are required on the system the x0 vector should be added to the argument list. When the lsim function is invoked a plot is not displayed; however the data is returned in y (system output) and x (system states). |
K = place (sys p) | Function File |
Computes the matrix K such that if the state
is feedback with gain K then the eigenvalues of the closed loop
system (i.e. A-BK) are those specified in the vector p.
Version: Beta (May-1997): If you have any comments please let me know. (see the file place.m for my address) |