<<

Control Systems I Lecture 6: Poles and Zeros

Readings:

Emilio Frazzoli

Institute for Dynamic Systems and Control D-MAVT ETH Z¨urich

October 27, 2017

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 1 / 33 Tentative schedule

# Date Topic 1 Sept. 22 Introduction, Signals and Systems 2 Sept. 29 Modeling, Linearization 3 Oct. 6 Analysis 1: Time response, Stability 4 Oct. 13 Analysis 2: Diagonalization, Modal coordi- nates. 5 Oct. 20 Transfer functions 1: Definition and properties 6 Oct. 27 Transfer functions 2: Poles and Zeros 7 Nov. 3 Analysis of feedback systems: internal stability, root locus 8 Nov. 10 9 Nov. 17 Analysis of feedback systems 2: the Nyquist condition 10 Nov. 24 Specifications for feedback systems 11 Dec. 1 Loop Shaping 12 Dec. 8 PID control 13 Dec. 15 Implementation issues 14 Dec. 22 Robustness

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 2 / 33 Today’s learning objectives

Recognize different ways of writing transfer functions, and why.

Graphical computation of g(s).

Poles and their effects on the response.

Zeros and their effects on the response.

Zeros and derivative action

Effects of non-minimum-phase zeros

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 3 / 33 Recap

We know that the time response of a causal LTI system with state-space model (A, B, C, D) is

Z t y(t) = CeAt x(0) + CeA(t−τ)Bu(τ) dτ + Du(t). 0

Assuming all the eigenvalues of A have negative real part (i.e., the system is stable), the steady-state response to an input of the form u(t) = est is st yss(t) = G(s)e where

G(s) = C(sI − A)−1B + D.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 4 / 33 Different ways to write transfer functions

For causal, finite-dimensional SISO LTI systems, transfer functions take the form of proper rational functions, e.g.,

n n−1 n−2 N(s) bns + bn−1s + bn−2s + ... + b0 g(s) = = n n−1 , D(s) s + an−1s + ... + a0

There are other forms that are convenient. The first one, called the partial fraction expansion, is useful to compute transient responses, and to assess how much different modes contribute to the response. It has the form:

r1 r2 rn g(s) = + + ... + + r0, s − p1 s − p2 s − pn

where p1,..., pn are the ”poles”, i.e., the roots of the characteristic polynomial det(sI − A), i.e., the eigenvalues of A. The numbers r0,..., rn are called the “residues.” There are many ways to compute the residues, we will look at one later today.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 5 / 33 Different ways to write transfer functions

There are also slightly different ways to factorize the polynomials at the numerator and denominator: Root-locus form: This is useful to compute the value of g(s) “by hand”, and to use control design techniques like the root locus (next week)

(s − z1)(s − z2) ... (s − zm) g(s) = krl (s − p1)(s − p2) ... (s − pn)

Bode form: This is useful to use control design techniques like the Bode plot (in 2-3 weeks)

( s + 1)( s + 1) ... ( s + 1) g(s) = k −z1 −z2 −zm Bode ( s + 1)( s + 1) ... ( s + 1) −p1 −p2 −pn

In the above formulas, z1,..., zn are called the “zeros” of g(s), and are the roots of the numerator.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 6 / 33 Example – Computing g(s) via factorization

Consider an LTI system with s + 1 g(s) = 2 s3 + 4s2 + 6s + 4

What is the steady-state response to an input u(t) = sin(t) (i.e., s = j)? We know that yss(t) = |g(j)| sin(t + ∠g(j))

We could substitute s ← j in the transfer function and compute g(j), but that is not a nice/insightful calculation. Let’s use graphical methods instead. Factorize the transfer function, and write in the root-locus form: with some creative eyeballing (or using matlab) we can find that the 3 poles of g(s) are at {−2, −1 ± j}.

s + 1 g(s) = 2 . (s + 2)(s + 1 + j)(s + 1 − j)

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 7 / 33 Computing the magnitude of g(s)

Since |a · b| = |a| · |b|, we can write

|s + 1| |g(s)| = 2 |s + 2| · |s + 1 + j| · |s + 1 − j|

Graphically, |s − p| is the length of the vector from p to s.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 8 / 33 Computing the magnitude of g(s)

Im

j

Re

From the graph, we find: √ √ 2 2 2 |g(j)| = 2√ √ = ≈ 0.5657. 5 · 5 · 1 5

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 9 / 33 Computing the phase (argument) of g(s)

Since ∠(a · b) = (∠a) + (∠b), we can write

∠g(s) = ∠(2) + ∠(s + 1) − ∠(s + 2) − ∠(s + 1 + j) − ∠(s + 1 − j)

Graphically, ∠(s − p) is angle formed by the vector from p to s with the real axis.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 10 / 33 Computing the phase of g(s)

Im

j

Re

From the graph, we find:

◦ ◦ ◦ ∠g(j) = 0 + 45 − arctan(1/2) − arctan(2) + 0 = −45 .

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 11 / 33 Putting the results together

The steady-state response of an LTI system with transfer function s + 1 g(s) = 2 s3 + 4s2 + 6s + 4 to an input of the form u(t) = sin(t) is given by ◦ yss(t) ≈ 0.5657 sin(t − 45 ).

Linear Simulation Results 1 y 0.8

0.6

0.4

0.2

0 Amplitude -0.2

-0.4

-0.6

-0.8

-1 0 5 10 15 20 25 30 35 Time (seconds)

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 12 / 33 What is the effect of poles and zeros?

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 13 / 33 Transient response to special inputs

In order to understand the effect of poles and zeros, it is useful to apply some other standard “test inputs” to a system to evaluate its transient behavior (vs. the steady-state one).

Typical “test inputs’ include:

Unit impulse u(t) = δ(t). This is not really a function, but a mathematical construct such that R ε 0 δ(t) dt = 1 for any ε > 0. R t In particular, 0 f (τ)δ(τ) dτ = f (0), for any t > 0. Unit step input u(t) = 1, for t ≥ 0. (Note this is the same as u(t) = e0t .)

Other less used test inputs include the “unit ramp” u(t) = t and higher order ramps.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 14 / 33 Impulse response

Assume D = 0, x(0) = 0, and u(t) = δ(t). Then:

Z t A(t−τ) At yimp(t) = Ce Bδ(τ) dτ = Ce B 0 .

The impulse response is the same as the response to an initial condition x(0) = B.

Remember: the initial-condition response is given by simple exponentials for real eigenvalues, and sinusoids with exponentially-changing magnitude for complex-conjugate eigenvalues.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 15 / 33 Unit

Assume D = 0, x(0) = 0, u(t) = 1 = e0t , for t ≥ 0, and that A is invertible. Then: Z t A(t−τ) −1 −1 At ystep(t) = Ce B dτ = −CA B + CA e B 0

−1 The steady-state response is given by yss (t) = G(0) = −CA B. For a scalar system, the step response then is simply computed as

at ystep(t) = yss(t)(1 − e ),

i.e., the step response is the steady-state response minus the scaled impulse response.

The impulse response totally defines the response of a system (it is in fact the inverse of the transfer function)!

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 16 / 33 First-order system

A system with state-space model (A = a, B = b, C = c, D = 0)

The transfer function is r g(s) = s + a with r = bc.

The response to an unit impulse (or to an initial condition x(0) = b) has the form y(t) = reat .

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 17 / 33 Higher-order system

If we write the partial fraction expansion of g(s), assuming no repeated poles, we get r r r g(s) = 1 + 2 + ... + n . s − p1 s − p2 s − pn

The response to an impulse will then be

p1t p2t pnt y(t) = r1e + r2e + ... rne .

The effect of the poles is then clear: each pole pi generates a term of the form epi t in the impulse response (and step response, etc.)

As we know, these are simple exponentials if the pole pi is real, and are sinusoids with exponentially-changing amplitude for complex-conjugate pole pairs.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 18 / 33 Response shapes as function of pole location

Im

Re

Each pole pi = σi + jωi with residue ri determines a term of the impulse response. σi t Each term’s magnitude is bounded by ri e and oscillates at frequency ωi .

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 19 / 33 Effects of zeros on the response

How can we compute the residues ri ? A convenient approach is the “cover-up” method.

For a non-repeated pole pi this takes the form

ri = lim (s − pi )g(s) s→pi

which in practice means “remove the factor (s − pi ) from the denominator and compute g(pi ) only considering the other terms.

While the exponents in the terms of the response only depend on the poles pi , the residues are affected by the zeros zi .

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 20 / 33 Example

Consider 1 g(s) = . (s + 1)(s + 1 + j)(s + 1 − j) Im

Re

Using the cover-up method we get

1 −1/2 −1/2 g(s) = + + . s + 1 s + 1 + j s + 1 − j

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 21 / 33 Example - impulse response

Impulse Response 1 p1 p2,p3 combined 0.8

0.6

0.4 Amplitude

0.2

0

-0.2 0 1 2 3 4 5 6 7 Time (seconds)

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 22 / 33 Example — adding a zero near a pole

Consider s + 1 + ε g(s) = . (s + 1)(s + 1 + j)(s + 1 − j) Im

Re

Using the cover-up method we get

ε 1/2j −1/2j g(s) ≈ + + . s + 1 s + 1 + j s + 1 − j

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 23 / 33 Example - impulse response

Impulse Response 0.35

0.3

0.25

0.2

0.15 Amplitude

0.1

0.05

0

-0.05 0 1 2 3 4 5 6 7 Time (seconds)

A zero can reduce the residue (i.e., the effect) of a nearby pole.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 24 / 33 Pole-zero cancellation

What if a zero matches a pole exactly? s + 1 1 g(s) = = . (s + 1)(s + 1 + j)(s + 1 − j) (s + 1 + j)(s + 1 − j)

One of the poles has been cancelled by the zero. Effectively its residue is zero, i.e., 0 1/2j −1/2j g(s) = + + . s + 1 s + 1 + j s + 1 − j

Recall from the modal (diagonal) form that the residue is also given by ri = bi ci ; if the residue is zero, the i-th mode is either uncontrollable, unobservable, or both.

This is ok if the i-th mode (i.e., pi ) is stable, but a big problem if it is unstable. Avoid unstable pole-zero cancellation!

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 25 / 33 More effects of zeros...

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 26 / 33 Integrator

R R t u(t) y(t) = −∞ u(τ) dτ

st 1 st If the input is u(t) = e , then the output will be y(t) = s e . Hence, the transfer function of an integrator is 1 G(s) = . s

You can verify from the state-space model:

x˙(t) = u(t), y(t) = x(t) ⇒ A = 0, B = 1, C = 1, D = 0,

and G(s) = C(sI − A)−1B + D = s−1.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 27 / 33 Differentiator

u(t) d du(t) dt y(t) = dt

If the input is u(t) = est , then the output will be y(t) = sest .

Hence, the transfer function of an integrator is

G(s) = s.

Note that you cannot obtain this from a state-space model, because a differentiator is not a causal operator!

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 28 / 33 Zeros as derivative action

If we have a transfer function g(s) = (s + z)˜g(s), we can decompose it into

g(s) = zg˜(s) + sg˜(s)

.

If the impulse response ofg ˜(s) is given byy ˜(t), and the impulse response of g(s) is y(t), then remembering that s is the transfer function of a differentiator, we can write

y(t) = zy˜(t) + y˜˙ (t).

In other words, the zero is effectively adding a derivative term to the output. This typically has an “anticipatory effect”.

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 29 / 33 With and without a zero / derivative

Impulse Response Impulse Response 1 0.35 p1 p2,p3 combined 0.3 0.8

0.25

0.6 0.2

0.4 0.15 Amplitude Amplitude

0.1 0.2

0.05 0

0

-0.2 0 1 2 3 4 5 6 7 -0.05 Time (seconds) 0 1 2 3 4 5 6 7 Time (seconds)

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 30 / 33 Non-minimum-phase zeros

We know that poles with positive real part result in an unstable system. (The output diverges over time.) What happens when zeros have positive real part? The stability of the system is preserved (since the growth/decay of the terms in the response is not affected by the zeros — only the respective residues) However, a zero in the right half plane effectively means a “negative” derivative action. This is the opposite of anticipatory — indeed the output will tend to move in the “wrong” direction initially. These are called non- zeros and are typically very bad news for control engineers, they make our work much harder. (Typically the presence of non-minimum-phase zeros depends on the choice of the output — to make your life easier, choose another output and/or move the sensors!)

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 31 / 33 Minimum-phase vs. non-minimum-phase zeros

Impulse Response 0.4 no zero z = -1 z=+1 0.3

0.2

0.1 Amplitude

0

-0.1

-0.2 0 1 2 3 4 5 6 7 Time (seconds)

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 32 / 33 Today’s learning objectives

Recognize different ways of writing transfer functions, and why.

Graphical computation of g(s).

Poles and their effects on the response.

Zeros and their effects on the response.

Zeros and derivative action

Effects of non-minimum-phase zeros

E. Frazzoli (ETH) Lecture 6: Control Systems I 27/10/2017 33 / 33