Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

CS1 Notes

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

Control Systems I - Compendium

Tobias Löw and Severin Meier


1 System Representation and Transformation
v(t) : input
d
z(t) = f (z(t), v(t)) w(t) = g(z(t), v(t)) z(t) : state
dt w(t) : output

d
from differential equation to dt z and output-function w(t)

1. given DE of the form 1ξ (n) = a0 ξ + a1 ξ (1) + · · · + an ξ (n−1) + b0 · v(t) + b1 v̇ + · · · + bm v (m)


       
z˙1 0 1 0 ... 0 z1 0
 z˙   . . .   z   
d  2  . .. ..   2  0
2. z(t) =  .  =  .  ·  .  +  .  · v(t)
dt  ..   0 0 . . . 1   ..   .. 
zn−1
˙ a0 a1 . . . an−1 zn−1 b
  h iT
3. w(t) = b0 b1 ... bm · z1 , ..., zn−1

1.1 Normalisation
u(t) : input
d
x(t) = f0 (x(t), u(t)) y(t) = g0 (x(t), u(t)) x(t) : state
dt y(t) : output

d d
To get from dt z and output-function w(t) to dt x and y(t), just replace zi (t), v(t) and wi (t) with the following:
v(t) w(t)
non-normalised model
v(t) = u(t) · v0
zi (t) = xi (t) · z0,i
× normalised × w(t)
wi (t) = yi (t) · w0,1 ÷ model ×
v0 w0

z0 , w0 , v0 : normalization constants, can be chosen freely! (in general chosen to put x, y and u in the same magnitude range)

1.2 Linearisation
d
equilibrium point {xe , ue }: where all dt xi (t) = f0 (xe , ue ) = 0 (B Ax = 0, if already linearised)
 ∂f u=ue ∂f0,1 u=ue
  ∂f u=ue 

0,1
... 0,1
∂x1x=xe ∂xn x=xe ∂u
x=xe
∂f0 u=ue  . .. ..  ∂f0 u=ue  . 
A= =
 .. . .
 ∈ Rn×n
 b= =
 .
.
 ∈ Rn×1

∂x x=xe
∂f0,n u=ue
∂f0,n u=ue
∂u x=xe
∂f0,n u=ue
∂x1 x=xe ... ∂xn x=xe ∂u x=xe
∂g0 u=ue h i ∂g0 u=ue h u=u i
∂g0 u=ue ∂g0 u=ue 0
1×n
= ∂g 1×1
e
c= = ∂x 1 x=xe
... ∂xn x=xe ∈ R d= ∂u x=xe ∈ R
∂x x=xe ∂u x=xe

plug the matrices A, b, c, d into the linear state space form to get the linearised model ẋ = A · x + bu y = c · x + du

1.2.1 Comparison Linearised – Non-Linearised System

u(t) y(t)
non-linearised model
xi (t) = xi,e + δxi (t) |δxi (t)|  1
u(t) = ue + δu(t) |δu(t)|  1
+ linearised + y(t)
y(t) = ye + δy(t) |δy(t)|  1 - model +
ue ye

1.3 Linear State Space Form


A: how xi affect each other =⇒  
d x1 on x1 ... xn on x1
x(t) = A · x(t) + b · u(t) b: how u affects xi  .. .. .. 
dt A = influence of  . . . 
c: how xi affect y
y(t) = c · x(t) + d · u(t) x on xn ... xn on xn
d: how u affects y 1

SISO: u, y ∈ R1 linear: u1 , x1 , y 1 time-invariant: A(t),b(t),c(t),d(t) dynamic: y = f (x, u) or y = f (x(u))

1
2 Analysis of Linear Systems
2.1 First-Order Systems
strictly-proper (d = 0) first-order system (x = scalar):
d 1 k τ : time constant
x(t) = − · x(t) + · u(t)
dt τ τ k : gain
y(t) = x(t)

2.1.1 Impulse Function u(t) = δ(t)


Definition (
∞ for t = 0
δ(t) =
0 for t > 0
∆(s) = 1 = U (s)
t
Impulse Response
yδ (t) = e −t/τ
· (x0 + k/τ ) for x(0) = x0 6= 0 k
x 0 = 0.4
τ
d
y(0) = −(τ · x0 + k)/τ 2 x0= 0
dt

tangent of y(t) passes through {τ, 0}(⇔ {1, 0}) for all x0

2.1.2 Step Function u(t) = h(t)


Definition (
0 for t < 0
h(t) =
1 for t > 0
H(s) = 1/s = U (s) x 0 = 0.6k
t x0= 0
Step Response
yh (t) = e−t/τ · x0 + k · (1 − e−t/τ )

tangent of y(t) passes through {τ, k}(⇔ {1, 1}) for all x0

2.1.3 Ramp Function u(t) = r(t)


Definition
p(t) = t · h(t)
P (s) = 1/s2 = U (s)

t
x 0 = 2.5k
Ramp Response
yp (t) = e−t/τ · x0 + k · (t + (e−t/τ − 1) · τ )
x0= 0
yp (t) approaches the delayed ramp signal p(t − τ ) for all x0

2.1.4 Harmonic Response u(t) = c(t)


Definition
c(t) = cos(ω · t) · h(t) m

y (t)
8

Harmonic Response
k
yc (t) = e−t/τ · x0 + (cos(ω + t) + ω · τ · sin(ω · t) − e−t/τ ) ·
1 + ω2 · τ 2

asymptotically approaches a steady-state signal y∞


y∞ (t) = m(ω) · cos(ω · t + ϕ(ω))
k
magnif ication m(ω) = determine magnitude in Bode plot at ω, dB → normal = m(ω)
1 + ω2 · τ 2
phase ϕ(ω) = − arctan(ω · τ )

steady-state signal y∞ of a linear system has the same frequency as the excitation signal c(t), only m(ω) and ϕ(ω) differ

2
2.2 Lyapunov Stability
to determine the Lyapunov stability, only the A matrix of the state-space form needs to be regarded

calculate all eigenvalues λi of A and determine the stability class with the following table

eig(A): λi = σi + j · ωi Linearzized System Nonlinear System


all σi < 0 asymptotically stable asymptotically stable
any σi > 0 unstable unstable
one or more σi = 0 stable no statement possible based on linearization
two or more σi = 0 A diagonizable → stable no statement possible based on linearization
(other σi < 0) A not diagonizable → no statement possible no statement possible based on linearization

Lyapunov’s Stability Principle


If the linearisation of a non-linear system around an isolated equilibrium point xe is asymptotically stable (unstable)
then this equilibrium is an asymptotically stable (unstable) equilibrium of the non-linear system as well.

⇒ for non-critical cases (all σi < 0 or at least one σi > 0), we can determine the stability class by analysing its linearisation
(asymptotically stable or unstable, not stable), but it is only a local concept for non-linear systems

oscillation of the system response is only possible when the system has complex conjugated eigenvalues

2.2.1 Minimal Realization


• n minimal → completely controllable/observable ⇔ no pole/zero-cancellations

• if n > nmin → uncontrollable/unobservable parts exist ⇔ pole/zero-cancellations


• unstable → completely uncontrollable and/or unobservable → no feedback control system can stabilise it

d
The matrices Amin , bmin , cmin and dmin are from the Controller canonical form. Get dt x(t) and y(t) as follows:
d
x(t) = Amin · x(t) + bmin · u(t) ; y(t) = cmin · x(t) + d · u(t)
dt

3
2.3 Reachability, Observability and Stabilisability
Reachability if ∃ u(xr ) that controls the system’s state vector starting at x(0) = 0 in finite time τ to this point x(τ ) = xr

Controllability if ∃ u(xc ) that forces the system’s state vector starting at x(0) = xc in finite time τ to the origin x(τ ) = 0

Observability if it is possible to reconstruct the initial conditions x(0) by analysing the output signal y(t) with u(t) = 0

Potentially Stabilizable an (unstable) system is potentially stabilizable if un-controllable state variables are asymp. stable

Detectability a system is detectable if all of its unobservable modes are asymptotically stable (if fully observable →
detectable)

Stabilisability an (unstable) system is stabilizable, if the system is potentially stabilizable and detectable

2.3.1 Reachability (controllability) Conditions


 
Rn = b A·b A2 · b ... An−1 · b ∈ Rn×n completely reachable if Rn has full rank

if its rank r < n, then only an r-dimensional (linear) sub-space is reachable (controllable)

if any vector component of b is equal to zero, then the corresponding state variable is not reachable/con-
trollable. For minimal realisation, get rid of the corresponding column in the Matrix A and the vector c

system completely reachable ⇔ system completely controllable

2.3.2 Observability Conditions


 T
On = c c·A c · A2 ... c · An−1 ∈ Rn×n completely observable if On has full rank

if its rank r < n, then only an r-dimensional (linear) sub-space is observable

if any vector component of c is equal to zero, then the corresponding state variable is not observ-
able. For minimal realisation, get rid of the corresponding row in the Matrix A and the vector b

2.3.3 Controllability/Observability Of The Underlying Nonlinear System

lin. sys. completely controllable/observable ⇒ nonlin. sys. (locally) completely controllable/observable


lin. sys. not completely controllable/observable ⇒ no conclusion about the nonlin. sys. can be drawn

A Matrix has full rank, if and only if det(M ) 6= 0

2.4 State Space Decomposition


• input u may only act on the reachable sub-
spaces d
• output y may only be influenced by the ob-
x̃ 2
servable subspaces R RO: ctrb. + obsv.
O
RO: ctrb. + obsv.
• unreachable subspaces may not be influ- u R
x̃ 1
R
x̃ 4 y RO: ctrb. + obsv.
enced by a subspace that is influenced by O O
RO: ctrb. + obsv.
the input u x̃ 3
R
O
• unobservable subspaces may not influence a
subspace that eventually influences y

4
2.5 I/O Description

1y (n) (t) + an−1 · y (n−1) (t) + . . . + a1 · y (1) (t) + a0 · y(t) = bm · u(m) (t) + . . . + b1 · u(1) (t) + b0 · u(t)

external or input-output formulation of a system (in practice m 6 n, total number of coefficients: m + n + 1, no information
about physically meaningful coordinates)

2.6 Controller-canonical form


we can transform the I/O description or a given transfer Function directly into a special version of the state-space form, the
controller-canonical form
Look up the coefficients ai and bi at Kap. 2.5 S. 5 for I/O or at Kap. 3.1.2 S. 6 for TF
 
0 1 0 ... 0 0
 .. .. .. .. .. 
 . . . 
   . 0 .  • same I/O behaviour as the state-space form
A b  .. .. . . . . .. 

= . . . . 0 . 
c d 
 0 0 ... 0 1 0  • physical information gets lost and can’t be retrieved
 
 −a0 −a1 . . . . . . −an−1 1 
b0 ... ... ... bm d

5
3 Transfer Functions
3.1 Derivation Of Transfer Functions
3.1.1 Transfer Functions From State-Space Form

Σ(s) = c · (s · I − A)−1 · b + d (Y (s) = Σ(s) · U (s))

calculate in general 2x2 Matrix


1 det(sI − A)
 
i+j (sI − A)22 −(sI − A)12
2 Adj(sI − A) [Adj(sI − A)]ij = (−1) · det((sI − A)ji )
−(sI − A)21 (sI − A)11
(j-th row + i-th column crossed out)
bi1 = 0 → cross out i-th column of Adj(sI − A)
c1j = 0 → cross out j-th row of Adj(sI − A)
Adj(sI − A)
3 (s · I − A)−1
det(sI − A)
4 Σ(s) c · (s · I − A)−1 · b + d

3.1.2 Transfer Functions From I/O Description

bm · sm + . . . + b1 · s + b0 b(s)
Σ(s) = +d=
sn + an−1 · sn−1 + . . . + a1 · s + a0 a(s)

coefficients ai and bi can be read directly from the I/O description (Kap. 2.5 S. 5)
to transform it into state-space form, we can use the controller-canonical form as well (same coefficients)

3.1.3 Transfer Functions From Poles and Zeros


if the poles and zeros of a system are known, we can use them to derive the transfer function of the system
Qm (
(s − ζj ) ζj zeros
Σ(s) = bm · Qj=1
n
i=1 (s − πi ) πi poles

all poles of Σ have to be eigenvalues of A, but not all eigenvalues of A have to be poles → cancellation (b(s) and a(s) have
common roots) → non-minimal realization of Σ

3.1.4 Transfer Functions With Different Coordinates


describes I/O behaviour not its internal behaviour → does not change when using different coordinates for the system
{A, b, c, d} {T −1 · A · T, T −1 · b, c · T, d}
−1
description Σ(s) = c · (s · I − A) · b + d Σ̃(s) = c · T · (s · I − T −1 · A · T )−1 · T −1 · b + d

3.2 Connection Of Transfer Functions

3.2.1 Transfer Functions in Series 3.2.2 Transfer Functions Parallel 3.2.3 Transfer Functions Feedback

+
_
+
_
Σ = Σ2 · Σ1

Σ = Σ1 +
− Σ2 Σ = Σ1 · (1 −
+ Σ2 · Σ1 )−1

6
3.3 Overview of System Representations and Transformations

TD FD
d
SP x(t) = A · x(t) + b · u(t) Y (s) = (c · (s · I − A)−1 · b + d) · U (s)
dt
y(t) = c · x(t) + d · u(t)
bm · sm + . . . + b0
I/O 1y (n) (t) + a0 · y(t) = bm · u(m) (t) + . . . + b0 · u(t) Y (s) = · U (s)
sn + . . . + a1 · s + a0

ODE (ordinary
Z t
differential Solution in TD
c · eA·t · x(0) + c · eA·(t−ρ) · b · u(ρ)dρ + d · u(t)
equation) in TD 0
(time domain)
(time domain)

I
1
c · (s · I − A)−1 · b + d · Y (s) · es·t ds
or directly from I/O 2 · πj
or with partial fractions

TF (transfer
Solution in FD
function) in FD Σ(s) · U (s)
(frequency domain)
(frequency domain)

3.4 Time Domain System Responses

1. The Laplace transform of the time-domain response is given by Y (s) = Σ(s) · U (s)
(U (s) is the input signal. impulse: U (s) = 1, step: U (s) = k/s, ramp: U (s) = 1/s2 )

2. performe a partial fraction expansion on Y (s)


Example:
s4 Ax + B C D E
= + + +
2
(s + 1) · (s − 1) · (s + 1) 2 s2 + 1 s−1 (s + 1) (s + 1)2

complexe zero simple zero multiple zero complexe zero simple zero multiple zero

3. use the Laplace table below to transform the fractions from the frequency domain to the time domain

4. multiply the whole thing by h(t) for impuls and step. and by r(t) for a ramp.

3.5 Differential Equations, Initial Value Problem

y 00 + a · y 0 + b · y = r(t) y(0) = K0 , y 0 (0) = K1


(1) setting up the subsidiary equation
(s2 + a · s + b) · Y (s) = (s + a) · y(0) + y 0 (0) + R(s)

(2) solve the subsidiary equation for Y (s)


(s + a) · y(0) + y 0 (0) + R(s)
Y (s) =
s2 + a · s + b

(3) invert Y (s) to obtain y = L −1 {Y (s)}

7
3.5.1 Laplace Table

Time-Domain Laplace-Domain Time-Domain Laplace-Domain


1 1
1, h(t) t
s s2
n! 1
tn , n∈B e±at
sn+1 s∓a
1 n!
teat tn eat
(s − a)2 (s − a)n+1
a s
sin(at) cos(at)
s2 + a2 s2 + a2
2as s2 − a2
t sin(at) t cos(at)
(s2 + a2 )2 (s2 + a2 )2
in!  1 1  n!  1 1 
tn sin(at), n∈N − tn cos(at), n∈N +
2 (s + ia)n+1 (s − ia) n+1 2 (s + ia)n+1 (s − ia) n+1

a s
sinh(at) cosh(at)
s2 − a2 s2 − a2
2as s2 + a2
t sinh(at) t cosh(at)
(s2 − a2 )2 (s2 − a2 )2
n!  1 1  n!  1 1 
tn sinh(at), n∈N − tn cosh(at), n∈N +
2 (s − a)n+1 (s + a) n+1 2 (s − a)n+1 (s + a)n+1

b s−a
eat sin(bt) eat cos(bt)
(s − a)2 + b2 (s − a)2 + b2
b s−a
eat sinh(bt) eat cosh(bt)
(s − a)2 − b2 (s − a)2 − b2
2a2 s2 + 2a2
sin2 (at) cos2 (at)
s(s2 + 4a2 ) s(s2 + 4a2 )
2a2 s2 − 2a2
sinh2 (at) cosh2 (at)
s(s2 − 4a2 ) s(s2 − 4a2 )
s sin(b) + a cos(b) s cos(b) − a sin(b)
sin(a + bt) cos(a + bt)
s2 + a2 s2 + a2
s sinh(b) + a cosh(b) s cosh(b) + a sinh(b)
sinh(a + bt) cosh(a + bt)
s2 − a2 s2 − a2
2abs s(s2 + a2 + b2 )
sin(at) sin(bt) cos(at) cos(bt)
(s2 + (a + b)2 )(s2 + (a − b)2 ) (s2 + (a + b)2 )(s2 + (a − b)2 )
a(s2 + a2 − b2 )
sin(at) cos(bt)
(s2 + (a + b)2 )(s2 + (a − b)2 )

3.5.2 Partial Fraction Expansion

ξ(s) ξ(s)
1 given Σ(s) = = poles πi with multiplicity Φi
γ(s) (s − π1 )Φ1 · (s − π2 )Φ2 · . . . · (s − πp )Φp
2 multiply with Laplace transform of the input signal i.e. impulse: 1, step: 1/s
1  d(Φi −k) 
Φi
3 calculate ρi,k = lim · (Σ(s) · (s − π i ) if Φi = 1 ρi = lim (Σ(s) · (s − πi )
s→πi (Φi − k)! ds(Φi −k) s→πi
residual ρi,k for pole πi with k = 1 . . . Φi
p X
X Φi p
X
ρi,k
4 TD-solution: σ(t) = · tk−1 · eπi ·t · h(t) if Φi = 1 σ(t) = ρi · eπi ·t · h(t)
i=1 k=1
(k − 1)! i=1

8
3.6 BIBO (Bounded Input Bounded Output) Stability
poles of Σ(s) → roots of the denominator

determine all poles πi = σi + j · ωi of the transfer function Σ(s)

σi BIBO stability comment


all σi < 0 BIBO stable care that all poles must have a negative real part
any σi > 0 not BIBO stable all other cases (note that it says not BIBO stable)

3.6.1 Lyapunov vs. BIBO stability

Lyapunov BIBO
stability of the autonomuos system ẋ(t) = Ax(t) of the I/O behaviour Y (s) = Σ(s) · U (s)
eig(A) → det(λ · I − A) = 0 poles of Σ(s) after all zero/pole cancellations
minimal realization Lyapunov asymptotically stable BIBO stable
Lyapunov stable
not BIBO stable
Lyapunov unstable
non-minimal realization Lyapunov asymptotically stable BIBO stable
Lyapunov stable BIBO stable (if all obsv./ctrb. modes are
Lyapunov unstable asymptotically stable, else: not BIBO stable)
(test with TF, cha. 3.1.1 p. 6)

3.7 Influence of Poles and Zeros on System Dynamics


3.7.1 Poles and Time Domain Behaviour
The poles of a transfer function define its impulse response in the time domain and thereby its inherent dynamics.

2. order system:
(
ω02 ω0 = 2 · π/T0 naturalf requency p
Σ(s) = 2 poles: π1,2 = (−δ ± δ 2 − 1) · ω0
s + 2 · δ · ω0 · s + ω02 δ natural damping ratio

ratio damping poles properties


δ<0 unstable Re(π1,2 ) > 0 system output increases to infinity
Im(π1,2 ) = 0
δ=0 undamped Re(π1,2 ) = 0 system output oscillates constantly
Im(π1,2 ) = ±ω0
0<δ<1 subcritical Re(π1,2 ) < 0 system output overshoots
Im(π1,2 ) = ±kω0
δ=1 critical Re(π1,2 ) = −1
Im(π1,2 ) = 0
δ>1 supercritical Re(π1,2 ) < 0 output increases monotonically
Im(π1,2 ) = 0 step response dominated by the pole
that is closer to the origin

zero gradient at t = 0 (→ output comes horizontically out of the origin)


output asymptotically reaches y(∞) = 1
output scales with the natural frequency ω0

9
System Responses and Pole Location (impulse, step)

unstable unstable undamped subcritical supercritical supercritical integrator integrator integrator


+ unstable + stable pole + unstable pole

y(t → ∞) = 0 BIBO stable y(t → ∞) → ∞ Lyapunov unstable


To get a general idea of the time response from the transfer function:
initial value theorem: lim y(t) = lim s · Σ(s)U (s)
t→0+ s→∞
maybe De l’Hospital
final value theorem: lim y(t) = lim s · Σ(s)U (s)
t→∞ s→0+

U (s) is the input signal. impulse: U (s) = 1, step: U (s) = k/s, ramp: U (s) = 1/s2

3.7.2 Zeros and Time-Domain Behaviour


The zeros of the transfer function of a system define the dynamics yielding an output of the system.
A zero can reduce the influence of a pole or lead to over- or undershoot.

zero phase properties


ζ<0 minimum-phase y(t) overshoots
ζ>0 non-minimum-phase y(t) undershoots (= inverse-response behaviour)
pose an important limitation on feedback control
can often be shifted by a different sensor Configuration

min.-phase zero non-min.-phase zero pole-zero can.


the closer to the origin → the larger the deviation
a zero close to a pole will reduce the influence of
this pole
ζi = πi → system order appears to be re-
duced by one

10
4 Frequency Responses
system excited by u(t) = cos(ω · t) → asymptotically approaches a steady-state behaviour

y∞ (t) = |Σ(j · ω)| · cos(ω · t + ∠Σ(j · ω)) = m(ω) cos(ωt + ϕ(ω))

B ω is a frequency → always positive! (use |...|)


Calculating the Magnitude m(ω) and phase ϕ(ω) of a transfer function


|Re| |Re|
Magnitude of a model: mΣ (ω ∗ ) = |Σ(jω ∗ )| Re
expl.: b (Re+jIm)a = b |Re+jIm|a = b

Re+jIma
  
Phase of a model: ϕΣ (ω ∗ ) = ∠Σ(jω ∗ ) expl.: ∠ bRe
(jIm)(Re+jIm)a = ∠(bRe)−∠(jIm)−a·∠(Re+jIm) = 0+ π2 +a·arctan Re
Im

4.1 Special Influences on Frequency Responses


Type Bode Magnitude Phase Nyquist
Stable Pole π<0 infl. at ω = |π| −20dB/dec −90◦ infl. angle at ω → ∞
Pole at zero π=0 infl. at start −20dB/dec −90◦ infl. angle at ω → 0

Unstable Pole π>0 infl. at ω = |π| −20dB/dec +90 infl. angle at ω → ∞

cmplex conjugate Re(π) < 0 infl. at ω = Im −40dB/dec −180 infl. angle at ω → ∞
stable pair of Poles
cmplex conjugate Re(π) > 0 infl. at ω = Im −40dB/dec +180◦ infl. angle at ω → ∞
unstable pair of Poles
Min.-Phase Zero ζ<0 infl. at ω = |ζ| +20dB/dec +90◦ infl. angle at ω → ∞

Zero at zero ζ=0 infl. at start +20dB/dec +90 infl. angle at ω → 0

Non-Min.-Phase Zero ζ>0 infl. at ω = |ζ| +20dB/dec −90 infl. angle at ω → ∞

cmplex conjugate Re(ζ) < 0 infl. at ω = Im +40dB/dec +180 infl. angle at ω → ∞
stable pair of Zeros
cmplex conjugate Re(ζ) < 0 infl. at ω = Im +40dB/dec −180◦ infl. angle at ω → ∞
unstable pair of Zeros
Integrator 1/s in Σ(s) −20dB/dec for ω → 0 −20dB/dec ±0◦ curve begins at −j∞
−sT
Time Delay e in Σ(s) phase w/o magn. change ±0dB/dec −ωT spiral to origin

11
4.2 Nyquist Diagram
4.2.1 Characteristics of Nyquist Diagrams

k
Σ(s) = → first-order system
τs + 1

Identification Properties φ8

static gain k = Σ(0) marks starting points on the real axis


cut-off frequency ω = |1/τ | largest phase of the Nyquist diagram
final angle φ∞ = n · π/2 always a multiple of 90◦

4.2.2 Drawing Nyquist Diagrams

1 Σ(s) → Σ(jω)
2 seperate Σ(jω) in its real- and imaginary parts (use conjugate-complex of the
ω0
denominator) → Σ(jω) = x(ω) + jy(ω)
φ = 90°
3 insert ω = 0

8 8
φ = 180°
calculate |x(0)| and |y(0)| → initial position of the Nyquist diagram ω8
ω0
4 insert ω = ∞
calculate |x(∞)| and |y(∞)| → final position of the Nyquist diagram
5 determine angle at Σ(j∞) via adding up the special influences ω0

6 if |∠Σ(j∞)| > 90, determine ω for Re(Σ(jω)) = 0 and Im(Σ(jω)) = 0


7 qualitatively connect all points

4.2.3 Identification of Nyquist Diagrams


if you are given several Nyquist diagrams and transfer functions
1 identify diagrams with integrators/time delays → assign them to their corresponding transfer functions
2 for all other diagrams identify their initial points and their angles at their final points
3 for all other transfer functions determine their initial values Σ(0) and their final angles at Σ(j∞) (via poles/zeros)
4 mach diagrams to transfer functions with the same Σ(0) and final angle
5 if there are multiple possibilities, also determine any special properties they might have (i.e. different direction)

12
4.3 Bode Diagram
Properties
√ √
m(ω)dB = 20 log10 |m(ω)| m(ω) 0.001 0.01 0.1 0.5 1/ 2 1 2 2 10 100
m(ω)dB m(ω)dB
m(ω) = 10 20
m(ω)dB -60 -40 -20 ≈ −6 ≈ −3 0 ≈3 ≈6 20 40
ω logarithmic scale only asymptotic, straight lines appear in Bode plots (grad = n · 20dB/dec)
• −→ + Σ(s) = Σ1 (s) · Σ2 (s) → m(ω) = m1 (ω) + m2 (ω)
ϕ in deg horizontal lines will always be at ϕ = n · 90◦

4.3.1 Characteristics of Bode Diagrams

Identification Properties k Δ |Σ|


general
m(0)
static gain k = |Σ(0)| = 10 20 height near origin
ωmax ω=τ
first-order
cut-off frequency ω=τ magnitude & phase change
second order p
overshoot ∆|Σ| = 1/(2δ 1 − δ2 ) does not conincide with ω0

4.3.2 Drawing Bode Diagrams

1 split Σ(s) into smaller terms (preferrably standard elements, first-order systems, . . . ) Σ(s) −→ Σ1 (s) · Σ2 (s) · . . .
P
2 ∀Σi (s) determine the static gains ki = Σi (0) → kdB = kdB,i (be careful, if there are any integrators)
draw a horizontal line at m(ω)dB = kΣ (grad 6= 0 if there are integrators)
3 make sure all Σi (s) are in the form (as + 1) → (s + b) −→ b((1/b)s + 1)
4 ∀Σi (s) determine the significant frequencies (poles, zeros, time delays, crossover, . . . )
mark all of these frequencies with a vertical line (be careful, if two or more conincide)
5 determine effect of all significant frequencies on the Bode diagram (magnitude/phase change)
magnitude plot: draw the gradient after each significant frequency (n · 20dB/dec), until they intersect
phase plot: draw the new phase relative to the old after each significant frequency (±n · 90◦ )
6 connect all lines, while adding curvature at points of discontinuity

4.3.3 Identification of Bode Diagrams


k 3dB
1 identify all significant frequencies (magnitude/phase changes,...)
k
2 determine their cause (un-/stable pole, non-/minimum-phase zero,...) �2
ω = 1/τ
3 ∀ωi write Σi (s) = ((1/ωi )s + 1)±1 (+1: zero, -1: pole)
4 determine the static gain k from the plot
5 Σ(s) = k · Σ1 · Σ2 · . . . multiply all Σi

4.4 Library of Standart Elements


Element Type Σ(s) Poles Zeros Int. Description
1
R
Integrator Element T ·s π1 = 0 ζ1 = ∞ y(t) = T1 · u(t)dt
d
Differentiator Element T ·s π1 = ∞ ζ1 = 0 y(t) = T · dt u(t)
k
First-Order Element τ ·s+1 π1 = − τ1 ζ1 = ∞
ω02 √
Second-Order Element k· s2 +2·δ·ω0 ·s+ω02
π1,2 = (−δ ± δ 2 − 1) · ω0 ζ1,2 = ∞
T ·s+1
Lag Element k· α·T ·s+1 α>1 π1 = − T1·α ζ = − T1
T ·s+1
Lead Element k· α·T ·s+1 0<α<1 π1 = − T1·α ζ = − T1
1

PID Element kp · 1 + s·Ti + s · Td π1 = 0, π2 = ∞ ζ1,2 =
−T ·s+1 2
First-Order All-Pass Element T ·s+1 = −1 + T ·s+1 π1 = − T1 ζ1 = 1
T

Delay Element e−sT none none y(t) = u(t − T )

13
Element Acronym: I Element Acronym: D Element Acronym: LP-1

4.4.1 Time- and Frequency-Domain Plots of Standard Elements


Transfer Function: Σ(s) = 1
T ·s
Transfer Function: Σ(s) = T · s Transfer Function: Σ(s) = k
τ ·s+1

Poles/Zeros: π1 = 0, ζ1 = ∞ Poles/Zeros: π1 = ∞, ζ1 = 0 Poles/Zeros: π1 = − τ1 , ζ1 = ∞

d d
Internal Description: = T1 · u(t)
dt x(t)
Internal Description: y(t) = T · dt u(t) Internal Description: d
= − τ1 · x(t) + 1
· u(t)
dt x(t) τ
y(t) = x(t) y(t) = k · x(t)

Integrator Element Differentiator Element First-Order Element


Nyquist Diagram Impulse/Step Response Nyquist Diagram Impulse/Step Response Nyquist Diagram Impulse/Step Response

y(t) y(t) y(t)


k/τ
Im
1/T Im Im
∞ not defined
−1 Re ↑
0 ω 0 ω=∞ 0
0 k/2 k Re
ω=∞ t t τ t
ω = 1/T
ω=0
y(t) −1 Re y(t) y(t)
ω = 1/T
ω=0
1/T T δ(t) k
ω
ω = 1/τ
↓ k 0.63
0 0
0
1 t t 0
τ t

Bode Diagram Analog/Digital Realization Bode Diagram Analog/Digital Realization Bode Diagram Analog/Digital Realization

dB m(ω) dB m(ω) dB m(ω)


20 dB/decade
k
−20 dB/decade
−20 dB/decade
0
ω = 1/T ω
0 A.6 Lag Element 269
270 0 A Library of Standard Elements
268 A Library of Standard Elements ω = 1/τ
ω= 1/T ω ω
...
...
A.5 deg
Second-Order
ϕ(ω) Element analog input(e k);
A.6degLagϕ(ω)
Element analog input(e k); A.7degLead
ϕ(ω)
Element ...
analog input(e k);
u k=u k 1+T s/(2*T)*(e k+e k 1); u k=2*T*(e k-e k 1)/T s - u k 1;
0 u k=u k 1*(2*tau-T s)/(2*tau+T s)+...
analog output(u k); analog output(u k); 0
ω (e k 1+e k)*(k*T s)/(2*tau+T s);
90
u k 1=u k; Element Acronym: LG-1 u k 1=u k; Element
−45 Acronym: LD-1
ω analog output(u k);
Element Acronym: LP-2 e k 1=e k; e k 1=e k;
u k 1=u k;
-90 ... 0 ...
−90 e k 1=e k;
ω T ·s+1 k 1−1/α T ·s+1
... k 1−1/α
ω02 Transfer Function: Σ(s) = k · α·T ·s+1 = α +k· α·T ·s+1 1<α Transfer Function: Σ(s) = k · α·T ·s+1 = α +k· α·T ·s+1 0<α<1
Transfer Function: Σ(s) = k · s2 +2·δ·ω0 ·s+ω02
1
√ Poles/Zeros: 1
π1 = − α·T , ζ1 = − T1 Poles/Zeros: π1 = − α·T , ζ1 = − T1
Poles/Zeros: π1,2 = −w0 · δ ± w0 δ 2 − 1, ζ1,2 = ∞
d 1 1 d 1 1
Internal Description: dt x(t) = − α·T · x(t) + α·T · u(t)
Internal Description: dt x(t) = − α·T · x(t) + α·T · u(t)
d
Internal Description: dt x1 (t) = x2 (t), k·(α−1) k k·(α−1) k
d y(t) = α · x(t) + α · u(t)
y(t) = α · x(t) + α · u(t)
= −ω02 · x1 (t) − 2 · δ · ω0 · x2 (t) + ω02 · u(t)
dt x2 (t)
√ √ √ √ √ √
y(t) = k · x1 (t) Phase minimum: ϕ̂ = arctan(1/ α) − arctan( α) at ω̂ = (T · α)−1 Phase maximum: ϕ̂ = arctan(1/ α) − arctan( α) at ω̂ = (T · α)−1
Second-Order Element Lag Element Lead Element
Nyquist Diagram Impulse/Step Response Nyquist Diagram Impulse/Step Response Nyquist Diagram Impulse/Step Response

y(t) y(t) y(t)


k/α δ(t) Im k/α δ(t)
Im
k(1 − 1/α)/(αT )
Im 0
ω = 1/(αT ) t
0 ω=0
ω=∞ ω=0 t −1 k/α k
−1 Re 0 k(1 − 1/α)/(αT )
y(t) ω=∞ Re −1 Re
k t
y(t) k k/α y(t)
k
ω=0 ω=∞
k k/α
ω = 1/(αT )
k/α
0 k
t 0 0
αT t t

Bode Diagram Analog/Digital Realization Bode Diagram Analog/Digital Realization Bode Diagram Analog/Digital Realization

dB m(ω) dB m(ω) dB m(ω)


k
k ω k/α
−40 dB/decade
k/α
0 k
... A.8 PID Element 272
271 A Library of Standard Elements ω A.10 Delay Element 273
ω analog input(e k); ... ...
...
analog input(e k); analog input(e k);
A.8 deg
PID Element
ϕ(ω) use Matlab’s c2dm
...
A.9 deg
First-Order
ϕ(ω)
All-Pass Element u k=u k 1*(2*T*T s*alpha)/ ... A.10 Delay Element
deg ϕ(ω) u k=u k 1*(2*T*T s*alpha)/ ...
(T s+2*T*alpha)+... (T s+2*T*alpha)+...
0 analog output(u k); ϕ̂
ω̂ e k*k(T s+2*T*alpha)+... e k*k(T s+2*T)/(T s+2*T*alpha)+...
ω u k 2=u k 1;
0 e k 1*k(T s-2*T)/(T s+2*T*alpha); e k 1*k*(T s-2*T)/(T s+2*T*alpha);
Element
−90 Acronym: PID e k 2=e k 1; Element Acronym: AP-1ω analog output(u k);
Element Acronym: - analog output(u k);
u k 1=u k; 0
u k 1=u k; u k 1=u k;
−180 e k 1=e k; ω̂ ω
e k 1=e k;
... 2 ϕ̂ −T ·s+1 2 −s·T.e. k. 1=e k;
Transfer Function: Σ(s) = kp · Td ·Ti ·s +Ti ·s+1
= kp · (1 + 1
+ Td · s) Transfer Function: Σ(s) = T ·s+1 = −1 +
...
T ·s+1
Transfer Function: Σ(s) = e
Ti ·s Ti ·s

 Poles/Zeros: not a real-rational element


Poles/Zeros: 1
π1 = 0, π2 = ∞, ζ1,2 = − 2·T ± 1
− 1 Poles/Zeros: π1 = − T1 , ζ1 = 1
T
d 4·Td2 Ti ·Td

Internal Description: d
− T1
· x(t) + 1
· u(t) Internal Description: y(t) = u(t − T )
d 1 dt x(t)
= T
Internal Description: dt x1 (t) = Ti · u(t) y(t) = 2 · x(t) − u(t)
 d

y(t) = kp · u(t) + x1 (t) + Td · dt u(t)

PID Element First-Order All-Pass Element Delay Element


Nyquist Diagram Impulse/Step Response Nyquist Diagram Impulse/Step Response Nyquist Diagram Impulse/Step Response
y(t) y(t)
y(t)
2/T

Im Im δ(t)
↑ Im
ω not defined

0 ω=∞ ω=0 0 0
−1 1 T t T
kp Re t t
−δ(t) 1 Re
√ Re y(t)
ω = 1/ Ti Td y(t) −1 ω = l 2π/T
l = 0, 1, . . .
y(t)
1
t kp /Ti
ω kp Td δ(t) 1
↓ kp ω = 1/T 0 0
0 0 T t
T t
t −1

Bode Diagram Analog/Digital Realization Bode Diagram Analog/Digital Realization Bode Diagram Analog/Digital Realization

dB m(ω) dB m(ω)
dB m(ω)
Analog: use Padé elements
−20 dB/decade 20 dB/decade (allpass elements)
ω = 1/T as approximation
0
kp ω 0
1/Ti 1/Td ω
0 KTZ=integer(T/T s);
ω ...
... analog input(e k);
deg ϕ(ω) analog input(e k); ... u k=e alt(KTZ);
u k=e k*kp*(1+T s/(2*T i)+2*T d/T s)+ ...
deg ϕ(ω) analog output(u k);
deg ϕ(ω) analog input(e k);
+90 e k 1*kp*(T s/T i-4*T d/T s)+... u k=(e k-u k 1)*(T s-2*T)/(T s+2*T)+e k 1;
1/T for i=1:KTZ-1
e k 2*kp*(-1+T s/(2*T i)+2*T d/T s)+...
0 e alt(i+1)=e alt(i);
ω analog output(u k);
u k 2; −90 u k 1=u k;
ω end;
0 analog output(u k); e alt(1)=e k;
ω −180 e k 1=e k; −57.3 ...
u k 1=u k; ...
−90 e k 1=e k;
...

14
4.5 Asymptotic System Properties
bm sm + . . . + b1 s + b0
Σ(s) = (a0 6= 0)
sk (sn−k + an−1−k sn−1−k + . . . + a1 s + a0 )

Order n highest power of the denominator system oscillates → n≥2


∂|Σ(jω)|dB
Relative Degree r r = n − m, difference of the highest powers ∂ log ω = −r · 20dB for ω → ∞
of the numerator and the denominator of
the transfer function
r<0 system neither realizable nor simulatable
jump in the time response at t = 0
r=0 feedthrough (d 6= 0)
positive slope in the time response at t = 0
r>0 realizable and simulatable system
slope of the time response at t = 0 is zero
  
−k · π if sign b0
>0
2  a0 
Type k # poles at zero (meaning # πi = 0) ∠Σ(0) =
−π − k · π if sign b
a0 < 0
0
(# integrators) 2

4.6 Bode’s Law


The gradient of the magnitude plot (κ · 20dB/dec) determines the phase shift ( 21 · κ · π).

4.7 Model Uncertainty


4.7.1 Uncertainty Representations

Σ(jω) · (1 + ∆ · W2 (jω))
(
Nominal Model Σ(s)
Model
Uncertainty Model ∆ · W2 (s)
uncertainty generator ∆ |∆| =≤ 1, ∠∆ ∈ [−π, π]
uncertainty bound W2 (s)
radius |L(jω) · W2 (jω)|

4.7.2 Uncertainty Estimation

1 measure the magnitude mi,k and the phase ϕi,k K times at each
frequency ωi
2 identify the nominal model Σ(jω) = m · ejϕ (i.e. average m and ϕ)

mi,k ·ejϕi,k
3 plot m i ·e
jϕi
− 1 (< |W2 (s)|, condition for measured system)
4 identify W2 (s) as an upper bound for the relative error
(in general this is the only step we need to do)

Calculating the relative error:


1. given: w∗ (frequency at which the error has to be calculated), mp (measured magnitude at ω ∗ ), ϕp (measured phase
at ω ∗ )

2. replace s: Σ(s) → Σ(jω ∗ )



|Re| |Re|
3. Magnitude of the nominal model: mΣ (ω ∗ ) = |Σ(jω ∗ )| Re
expl.: b (Re+jIm)a = b |Re+jIm|a = b

Re+jIma

4. Phase ofthe nominal model:


 ϕΣ (ω ∗ )
bRe π Re

expl.: ∠ (jIm)(Re+jIm)a = ∠(bRe) − ∠(jIm) − a · ∠(Re + jIm) = 0 + 2 + a · arctan Im

mp · ejϕp

5. relativ error: Erel (jω ) =
mΣ · ejϕΣ

15
5 Analysis of Feedback Systems
   
Y (s) = S(s) D(s) + P (s)W (s) + T (s) R(s) − N (s)

Transfer function Σ(s) loop nodes description


Loop Gain L(s) = P (s) · C(s) open e→y signal gain in one loop
1
Sensitivity S(s) = 1+L(s) closed d→y disturbance amplification
r→e
L(s)
Complementary Sensitivity T (s) = 1+L(s) closed r→y signal amplification
n→y noise amplification
U (s C(s)
N (s = − 1+C(s)P (s) n→u

5.1 General Properties

|L(s)| S(s) T (s)


S(s) + T (s) = 1 S(s) T(s)
1
1 ≈ ≈1 T (s)
L(s) L(s) =
S(s) S(s) T(s)
1 ≈1 ≈ L(s)
1 1

we can’t change S(s) or T (s) without changing the other → changing L(s) is more predictable

in order to be asymptotically stable, all poles of T (s) need to have negative real part!

5.2 Internal Stability of the Closed-Loop System


there are three possibilities how to confirm internal stability (in practice we only need number 3)
     
U (s) S(s) −S(s) · C(s) S(s) · C(s) W (s)
1 Y (s) =  S(s) · P (s) S(s) T (s)  ·  D(s)  check P (s), C(s), S(s) and T (s) for BIBO stability
E(s) −S(s) · P (s) −S(s) S(s) R(s)
2 require S(s) asymptotically stable and check: ζi+ , πi+ of L(s)
S(ζi+ ) = 1 S(πi+ ) = 0
3 1 + L(s) must not have zeros with positive real part no zero/pole cancellations occur

16
5.3 Nyquist Theorem
Let n+ be the number of poles with positive real part and n0 the number of poles with zero real part of the open loop
tranfer function L(s), and let nc be the number of encirclements of the point -1 by L(jω) counted positively in the
counter-clockwise direction when ω is changed from −∞ to ∞.
n0
Then the closed loop system T(s) is asymptotically stable if nc = + n+ .
2

Rules for counting nc


L(−j · ω) = L(j · ω) → mirrored over the real axis, both parts count for nc
jumps are not counted (i.e. when junmping from 0− to 0+ )
half encirclements are counted as well
when counting always start at −∞ and go to ∞
counter-clockwise is the positive direction (encirclements may cancel each other out)
time delays can be ignored (encirclements always cancel each other out)
for kp < 0: change the direction of the encirclement

n0 n+ number of poles with positive real part


nc = + n+ n0 number of poles with zero real part
2 nc number of encirclements of the point -1 (if < 1 → unstable)

n c = 0.5 n c = -2 nc = 0

17
5.4 Robustness of the Closed-Loop System
B -1 is the point we must avoid at all costs (crossing this point means: stable → unstable)
the closer the system is to -1, the less robust it is
uncertainty may lead to crossing this point, try to avoid that as well

-μ min [dB] 1
|S max|
1 γ [dB]

ωc ωμ ω γ

φ [°]
1

Bγ and µmin in [dB] directly from the Bode diagram or converted (Kap. 4.3 S. 13) and plugged into the formulas below
1
gain margin γ γ= |L(jω)| at ∠L(jω) = −180◦ inverse of the magnitude at −180◦
phase margin ϕ ϕ = 180◦ − |∠L(jωc )| the angular distance from -1 at magnitude 1
1
minimum return difference µmin µmin = min |1 + L(jω)| = |Smax | the minium distance from -1
ω

5.4.1 Robust Closed-Loop Stability

Robust Nyquist Theorem


The uncertain closed-loop system is asymptotically stable if the nominal closed-loop
system is asymptotically stable and the following inequality is satisfied
|L(jω) · W2 (jω)| < |1 + l(jω)|, ∀ω ∈ [0∞)

robust phase margin ϕr phase margin in which the robust stability is


violated
robust gain margin γr gain margin in which the robust stability is
violated
robust minimum return difference µmin,r = min{|1 + L(j · ω)| − |W2 (j · ω) · L(j · ω)|}
ω

18
5.5 Crossover Frequency
crossover frequency ωc frequency where the loop gain L(s) crossed the 0dB line → |L(jωc )| = 1

bandwidth ωb frequency where the complementary sensitivity T (s) falls below −3dB → |T (jωb )| = √1
2
determines the speed of the time-domain behaviour

The bandwidth always lies close to the crossover frequency. Therefore the crossover frequency (open loop) is a
measure for the speed of the closed-loop system.

5.5.1 Limitations of the Crossover Frequency


  + 
+ ζ ωT w2 ωn
wc ∈ max(10ωd , 2π ), min , , ,
2 2 5 10

ωd ωc > 10ωd maximum disturbance rejection frequency (given)


+ +
π ωc > 2π dominant (”fastest”, farthest from 0) unst. pole (from TF)
+ ζ
ζ ωc < 2 dominant (”slowest”, closest to 0) non-min-ph. zero (from TF)
ωT 1
ωT ωc < 2 ωT = T , time delay (e−sT ) of the loop gain (from TF)
ω2
ω2 ωc < 5 |W2 (jω2 )| = 1, model uncertainty > 100% (given)
ωn
ωn ωc < 10 minimum noise rejection frequency (given)
B not all values required (at least one for max. and one for min.)

5.5.2 Calculating the Phase

a(s) Example: (ω = 3)
L(s) = 1
b(s) L(s) =
s · (s + 3)2
∠L(s) = ∠a(s) − ∠b(s)
= L(jω)
= ∠a(jω) − ∠b(jω)
1
 =
∠(jω) = 90◦ and ∠(jω + a) = arctan ω jω · (jω + 3)2
a
= ∠(1) − ∠(jω) − 2 · ∠(jω + 3)
= 0◦ − 90◦ − 2 · 45◦
= −180◦

19
6 Specifications for Feedback Systems
6.1 Control Error

E(s) = S(s) · (R(s) − N (s) − D(s) − P (s) · W (s))

6.1.1 Static Error

1 1
e∞ = = lim e(t) = lim s · S(s) = = S(0) =
t→∞+ s→0+ s 1 + L(0)

1
C(s) = kp C(s) =
Ti · s

To have e∞ = 0, either P (s) or C(s) has to be of type k ≥ 1 (→ at least one integrator).


if w(t) 6= 0 (disturbance before plant), only C(s) with integrator lead to e∞ = 0

6.1.2 Specifications for Static Error

static error input signal r(t), d(t), n(t) w(t)



1 P (0)
|e∞ | ≤ emax > 0
tolerable 1 + L(0) ≤ emax 1 + P (0) · C(0) ≤ emax
not tolerable e∞ = 0 P (s) or C(s) of type k ≥ 1 C(s) of type k ≥ 1

6.2 Time-Domain Specifications


max. allow. overshoot ε̂ rise time t90 crossover frequency ωc phase margin ϕ
1.7
ratio |max.value − 1|/1 0.9 reached ωc ≈ ϕ ≈ 71◦ − 117◦ · ε̂
t90

̭
y(t) є
1.0
0.9

0
0 t90 t

rule of thumb: δ ∈ [0.45, 1] for simple loop gains based on second-order systems

20
6.3 Frequency-Domain Specifications
Around the crossover frequency, |S(jω)| and |T (jω)| are
likely to have a magnitude larger than 1 =⇒ peaking limitations on S(s) and T (s)
→ disturbance and noise amplification

||S||∞ < Smax ||T ||∞ < Tmax (= k)

6.4 General Design Procedure


1 choose desired rise time t90 and maximum overshoot ˆ of the closed loop system
1.7
2 compute crossover frequency ωc = and phase margin ϕ = 71◦ − 117◦ · ˆ of the loop gain
t90
3 check if these specifications are realizable
4 find a controller C(s) that, for a given plant P (s), realizes these specs
5 check the nominal and robust stability of the closed-loop system

21
7 Controller Synthesis
7.1 PID Controller

1  1
C(s) = kp · 1 + + s · Td ·
s · Ti (s · τ + 1)2

kp + kp · Ti · s + kp · Ti · Td · s2
=
(Ti · s) · (s · τ + 1)2

kp : higher kp → higher overshoot


Ti : lower Ti → faster approach of the target value
Ti : higher Td → slower response (higher damping)
lower Td → lower overshoot

Control Action proportional to + -


P previous control error fast reduction of control error static error may result
increases phase margin
I integral of previous control error no static error slow rduction of control error
leads to large overshoot
introduces phase lag
D change of control error damping of the output signal amplifies noise
increases phase margin
roll-off pushes output down at high frequencies

I-Element is only needed if plant has no integrator


D-Element can often be omitted (for non-demanding specs)

7.1.1 PID Controller in the Time- and Frequency-Domain

 
 Z  1
1 d U (s) = kp · 1 + + Td · s ·E(s)
u(t) = kp · 1 · e(t) + · e(t)dt + Td · e(t) Ti · s
Ti dt | {z }
C(s)

22
7.1.2 Ziegler and Nichols Design Rules
find the critical gain kp∗ and the critical frequency ω ∗ (system oscillates):
from Bode-plot: ω ∗ = ωγ is, where the phase crosses −180◦ → kp∗ = γ (not dB!) (γ, ωγ look cha. 5.4 p. 18)

2π 2π
T∗ = ∗
=
ω ωγ

kp Ti Td
k P 0.5 · kp∗ ∞·T ∗
0 · T∗
P (s) ≈ · e−T ·s (approximation)
τ ·s+1
  PI 0.45 · kp∗ 0.85 · T ∗ 0 · T∗
1
C(s) = kp · 1 + + Td · s PD 0.55 · kp∗ ∞ · T∗ 0.15 · T ∗
Ti · s
PID 0.6 · kp∗ 0.5 · T ∗ 0.125 · T ∗

can only be applied if kp∗ < ∞ → L(s) has to cross the negative real axis
ratio T /(T + τ ) has to be well below 0.3

Expl.: Expl.
wanted: Ti and Td given: P (s) wanted kp given: P (s) & ω ∗
1. ∠(kp∗ · P (s = jω ∗ )) = −π (kp∗ will disapear) 1. |kp∗ · P (s ∗
= jω )| = 1
 

kp Re ∗ Re ∗ |Re| ∗ √ |Re|
expl.: ∠ (jIm)(Re+jIm) a expl.: kp (Re+jIm)a = kp |Re+jIm|a = kp
Re+jIma
= ∠(kp∗ Re) − ∠(jIm) − a · ∠(Re + jIm)
 2. solve for kp∗ ⇒ kp from tab. above.
= 0 + π2 + a · arctan Re
Im

2. solve for ω ∗

3. T ∗ = ω∗ ⇒ Ti and Td from tab. above.

7.2 Iterative Loop Shaping


7.2.1 First-Order Lead/Lag Elements

T ·s+1
C(s) = α, T ∈ R+
α·T ·s+1
lead elements α<1 act as derivative elements increase phase margin close to the critical point
lag elements α>1 act as integrators decrease the amplitude → improve the roll-off at higher fre-
quencies
Lead Lag

parameters {T, α} are linked to the desired center frequency ω̂ and the desired maximum phase shift ϕ̂
q 2 1
α= tan2 (ϕ̂) + 1 − tan(ϕ̂) T = √
ω̂ · α

Loop-Shaping Procedure
1. design of a PI(D) controller
2. open-loop gain L(j · ω) often does not satisfy all requirements → add appropriate lead or lag elements (price to pay:
lead elements increase the loop gain at higher frequencies, lag elements introduce an additional phase lag at frequencies
close to ω̂)

23
7.2.2 Second-Order Lead/Lag Elements

s2 + 2 · κ ·  · (1 − ) · ω0 · s + (1 − )2 · ω02
C(s) = k ·
s2 + 2 · κ ·  · (1 + ) · ω0 · s + (1 + )2 · ω02

(1 + )2
k =
(1 − )2

cot(ϕ̂/2)
κ = √
1 − 2

ω̂
ω0 = √
1 − 2

ϕ̂ desired maximum positive phase shift


ω̂ chosen center frequency, where the maximum phase shift takes place
ε frequency band around the center frequency, where the phase shift takes place

7.3 Plant Inversion Methods

1 dp (s) 1
C(s) = · · Ti = ωc−1 , ωc < ω2 , τ < Ti
T ·s np (s) (τ · s + 1)r−1
| i{z } | {z } | {z }
desired L(s) P −1 (s) roll-off

roll-off: only needed when there are more zeros than poles in the resulting C(s)

24
8 MATLAB Commands

General:
plot() 2-D line Plot plot(Y)
subplot() Divides the current figure into an m-by-n grid and creates an axes for subplot(m,n,p)
a subplot in the position specified by p. The Position p is countet like
a matrix where p=1 ⇒ a11 , p=2 ⇒ a12 . . .
semilogx() Create semilogarithmic plot with logarithmic x-axis semilogx(Y)
help provides help to a matlab command. help functionname
hold plot multiple graphes in one plot hold on
legend show plot legend legend( ’sys1’, ’sys2’)
System Definition:
ss() Specifies state-space models or converts LTI model to state space. sys ss = ss(A,b,c,d)
sys ss = ss(sys tf)
sys ss = ss(sys zpk)
tf() Creates or converts to transfer function model. sys tf = tf(num,denum)
sys tf = tf(sys ss)
sys tf = tf(sys zpk)
s = tf(’s’)
zpk() Creates or converts to zero-pole-gain model. sys zpk = tf(z,p,k)
sys zpk = zpk(sys ss)
sys zpk = zpk(sys tf)
s = zpk(’s’)
series() Connection of two transfer tunctions / models sys = series(sys1,sys2)
feedback() Applies a feedback interconnection on two LTI models. sys = feedback(sys1,sys2)
Controllability and Observability:
obsv() Computes the observability matrix. ob = obsv(A,c)
ob = obsv(sys)
ctrb() Computes the controllability matrix. co = ctrb(A,b)
co = ctrb(sys)
rank() Computes the rank of the matrix. k = rank(A)
System Properties:
eig() Returns eigenvalues (D) and eigenvectors (V) of a square matrix A. [V,D] = eig(A)
pole() Computes the poles p of a system model. p = pole(sys)
zero() Computes zeros z of LTI system. z = zero(sys)
zpkdata() Returns the zeros z, poles p, and gain(s) k of the zero-pole-gain model [z,p,k] = zpkdata(sys)
sys
pzmap() plots the poles and zeros into the complex plane pzmap(sys)
System Response:
step() Plots the step response of LTI systems. step(sys)
impulse() Plots the impulse response of LTI systems. impulse(sys)
bode() Plots Bode diagram of frequency response. bode(sys)
returns magnitude and phase of a system at w [mag, phase] = bode(sys,w)
nyquist() Produces Nyquist plot of LTI models. nyquist(sys)
margin() Computes gain and phase margins (Gm, Pm) and associated crossover [Gm,Pm,Wc,Wp] = margin(sys)
frequencies (Wc, Wp).
Generates bode-plot with margins margin(sys)

25
9 Definitions
Systems signals as in- and outputs, defines a causality between its inputs (causes) and ōutputs (effects)
Signals generated or absorbed by systems, described as functions of time
manipulated variable (Stellgrsse) the variable that can be adjusted to in order to achieve a certain systemoutput
command variable (Fhrungsgrsse) the output thad has to be achieved
control variable (Regelgrsse) the actual output of a system
SISO Systems single input single output systems
MIMO Systems multiple input multiple output systems
Linear System linear if following condition is fulfilled: Σ(α · u1 + β · u2 ) = α · Σ(u1 ) + β · Σ(u2 )
Nonlinear Systems nonlinear if the equation above is not fulfilled
Dynamic Systems value of the ouput signal y depends on all previous values u(τ ) ⇒ memory
Static Systems systems without memory
Models mathematically tractable representations M of real systems Σ, depends on the objectives, tradeoff between accu-
racy and complexity, no exact prediction possible −→ estimation U of uncertainty, only the pair M,U is a complete
system description, expressed by ordinary differential equations (ODE) or transfer functions (obtained by Laplace
transformation of ODEs)
Controllers and Plants controllers C are devices that automatically influencea given plant P, both are systems
Feedforward Control Systems interact in an open-loop fashion, no signal is fed back
Feedback Control Systems plant output y is fed back, required for:
– stabilization of unstable systems
– reduction of the detrimental effects of model uncertainty
– attentuation of unmeasurable external disturbances
possible dangers:
– alteration of the dynamic properties (may lead to complete failure)
– adding the measurement noise to the input
advantages:
– ability to cope with unknown external disturbances
– tolerate large uncertainties
– allow the use of less precise but cheaper actuators
⇒ use as much feedforward action as possible and as little feedback
action as necessary
System Analysis before synthesizing, several fundamental questions:
– type of dynamic behaviour?
– uncertainty in the model description? its influence?
– what external disturbances d and noise signals n are to be expected?
Reference Tracking requires that y(t) ≈ r(t) for all times t, can essentially be chosen arbitrarily by using appropriately
designed feedforward controllers F
Disturbance Rejection disturbance acting anywhere can be represented by an equivalent disturbance acting at the plant
output, uncertainty is unavoidable → the larger the uncertainty, the smaller the feedback action must be to avoid
stability problems → feedback action is limited → ability to reject unmeasurable disturbances is limited
Stabilization unstable systems require a certain minimum amount of feedback control action to be stabilizied (if it conflicts
with other limitations, the stabilization problem might be unsolvable
Disturbance external influence → cause cause deviation of y(t) from r(t)
typically slow → mainly present low frequencies
Noise electrical ”interference” → cause deviation of the measured y(t) from its actual value
typically fast → mainly present high frequencies
Noise Attenuation output measurement y(t) is usually corrupted by a noise signal n → only y(t) + n(t) is available for
feedback, noise might be amplified
Auto-Correlation the likeliness of two signal values at different times to be similar

26

You might also like