AC INF - Review and Design Procedure
AC INF - Review and Design Procedure
• The linearized system is Asymptotically Stable if and only if ∀i : ℜ(λi (A)) < 0
• The linearized system is Unstable if and only if ∃i : ℜ(λi (A)) > 0
• No conclusion can be drawn if and only if ∀i : ℜ(λi (A)) ≤ 0
Zeta Transform
If we want to compute the solution of a discrete time dynamical system we need to apply the zeta
transform of the state space representation. We obtain H(z) = C(zI − A)−1 B + D. To perform the partial
fraction expansion and thus the anti-transform we need to proceed as follow:
1. Compute F̃ (z) = Fz
2. Compute the PFE of F̃ (z)
3. Compute F (z) = F̃ (z) · z
4. Antitransform F (z)
Using matlab this procedure can be simplified by using the statement residuez
∗
Rz R z jθ
Recall that in the presence of complex conjugate poles F (z) = z−λ + z−λ ∗ , λ = σ + jω = νe the antitransform
is f (k) = 2M ν k cos(θk + ϕ), M = |R|, ϕ = ̸ R
X_i = minreal(zpk((z*inv(z*eye(2)-A)*x0)),1e-3);
1
Transfer Function for Discrete Time Dynamical Systems
T = 1;
z = tf(’z’,T);
H = 1/(z^2-1.7*z+0.72);
zpk(H); % Zero-Pole-Gain form
′
′ k−µi +1
• For the i-th distinct eigenvalue λi with minimal polynomial multiplicity µi are mij (k) = k
′
µi −1 λi =
′ ′
k(k−1)...(k−(µi −2)) k−µi +1
′
(µi −1)!
λi
• For a couple of complex conjugate poles of the form λ = σ + jω = νejθ having minimal polynomial
′ k−µ′ +1 ′
multiplicity µi are mij (k) = µ′k−1 νi i cos(θ(k − µi − 1) + ϕ)
i
Modal Analysis
Denote with λi (A) the i-th eigenvalue of matrix A then:
′
• The natural mode associated with eigenvalue λi is bounded if |λi (A)| = 1, µ (λi (A)) = 1
• The natural mode associated with eigenvalue λi is convergent if |λi (A)| < 1
′
• The natural mode associated with eigenvalue λi is divergent if |λi (A)| > 1 OR |λi (A)| = 1, µ (λi (A)) > 1
• Sampling Theorem: the sampling frequency must at least equal twice the value of the highest significant
frequency in the signal. the highest significant frequency of all the signals in the loop is the system
bandwidth ωB . So we have ωS > 2ωB → ωS > 3ωC (for a well-dampened system ωB > 1.5ωC
• ZOH Filter: the D/A converter introduces a phase lag of ̸ GZOH (jω) = − ωT 2 . In order to limit the
phase lag at the cross-over frequency to small values (e.g. – 10° to – 5°) we obtain 18ωC < ωS < 36ωC
• Suitable sampling of the transient: a suitable number of samples must considered for describing the
behavior of the transient phase typically 10 to 50 samples can be employed for a suitable description of
the transient behavior for a well damped system (e.g. z = 0.6) we have: 11.42ωC < ωS < 57.2ωC
• Final Pratical Rule of Thumb: provided that the chosen values satisfies HW and cost limitations
choose T within the interval 20ωC < ωS < 50ωC
2
Emulation 2: Analog Controller Design
If it is known in advance that the controller has to be realized through a digital computer, the design of
C0 (s) is performed taking into account the dynamics introduced by the A/D and the ZOH D/A trans-
fer function. Thus, the analog controller design should be performed considering as plant transfer function
′ −T s
G (s) = GA/D (s)GZOH (s)G(s) = T1 1−es G(s). Remark : in MatLab environment, use the 1st order Padé
approximation
We have another option, the matched pole-zero method (MPZ), which consists in applying the transformation
z = esT . This method is, however, worse in performance with respect to the Tustin approximation.
If we use the matlab statement c2d(C 0, T, METHOD) we can get the discretized version of the controller
transfer function. The METHOD parameter is defaulted to ’zoh’, so we need to specify ’tustin’
C = c2d(C_0, T, ’tustin’);
[B,A] = BUTTER(N,Wf ) designs an Nth order lowpass digital Butterworth filter and returns the filter coef-
ficients in length N+1 vectors B (numerator) and A (denominator). The coefficients are listed in descending
powers of z. The cutoff frequency Wf must be 0.0 < Wf < 1.0, with 1.0 corresponding to half the sample rate.
3
Control of LTI systems through Static State Feedback
In the presence of an input such as u(t) = −Kx(t) + N r(t) the dynamical properties of the (controlled) system
depend on the eigenvalues of matrix A − BK (K is referred to as the state gain).A suitable choice of K allows
us to modify the system eigenvalues and improve the dynamic properties of the system (e.g. stabilize it). The
reference gain matrix N can be chosen to modify the dc-gain of the controlled system.
Is it always possible to find a matrix K able to arbitrarily assign the eigenvalues of A − BK? Yes if and only
if ρ(Mr ) = ρ([B AB . . . An−1 B]) = n, where Mr is the reachability matrix. Typically, K is computed by
placing the eigenvalues (poles) of the controlled system to obtain, besides asymptotic stability, good damping
and rapidity properties of the transient. N can be chosen to make unitary the dc-gain of the controlled system
guaranteeing zero steady state tracking error in the presence of a constant reference signal r(t) = r̄ϵ(t).
To obtain the eigenvalues to be assigned by the state feedback controller, the computed values of ζ and p ωn are
converted to the corresponding couple of complex conjugate values λ1,2 = σ0 ± jω0 = −ζωn ± jωn 1 − ζ 2 .
What do we do if the system dimension is greater than 2? The additional eigenvalues are chosen with a
faster time constant τadd ≪ ζω1n . This means that all the eigenvalues λ3 , λ4 , . . . , λn will all be coincident
(λ3 = λ4 = · · · = λn ) and of the form λi = −a · ζωn where a is a constant value chosen between 5 and 10
Mr = ctrb(A,B);
rho_Mr = rank(Mr);
lambda_des = [-1 -2];
K = place(A,B,lambda_des); % place is used for different eigenvalues
sys_cont_c = ss(A-B*K,B,C,0);
N = 1/dcgain(sys_cont_c);
State Observers
For an LTI continuous time system, A state feedback control law of the form u(t) = −Kx(t) + N r(t) can be
evaluated only when the system state can be measured. A state observer is a “device” that provides an estimate
x̂ of the system state x exploiting the knowledge of the system input u and the measurement of the output
y. For a continuous time dynamic system, the state estimation error is defined as e(t) = x̂(t) − x(t). An
observer such that limt→∞ |e(t)| = 0 is referred to as an asymptotic state observer.
We can create a system such that ė(t) = (A − LC)e(t). A suitable choice of L allows us to modify the
observer eigenvalues and improve its dynamic properties. L is referred to as the observer gain. However, is
it always possible to find a matrix L able to arbitrarily assign the eigenvalues of A − LC? Yes if and only if
ρ(Mo ) = ρ([C AC . . . An−1 C]T ) = n, where Mo is the observability matrix. The L matrix eigenvalues are
usually chosen as coincident, with negative real part and null imaginary part
Mo = obsv(A, C);
rho_Mo = rank(Mo);
4
Design Procedure for State-Feedback Controller using Estimated States
Thanks to the separation principle explained in the slides, we can separate the design of the state-controller
and state-observer
assert(rank(ctrb(A,B)) == rank(A));
assert(rank(obsv(A,C)) == rank(A));
s_hat = 0.08;
t_s = 4;
alpha = 1;
zeta = abs(log(s_hat))/(sqrt(pi^2+log(s_hat)^2));
omega_n = log((alpha/100)^(-1))/(zeta*t_s);
K = place(A,B,lambda_des);
% Simulation
sys_x = ss(A,B,eye(length(A)),D);
sys_obs = ss(A-L*C, [B L], eye(length(A)), D);
Review of Stability