You are on page 1of 43

Lecture 6 Describing function analysis

Todays Goal: To be able to

Derive describing functions for static nonlinearities
Predict stability and existence of periodic solutions through
describing function analysis
Material:
Slotine and Li: Chapter 5
Chapter 14 in Glad & Ljung
Chapter 7.2 (pp.280290) in Khalil
(Chapter 8 in Adaptive Control by strm & Wittenmark)
Lecture notes
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Course Outline
Lecture 1-3 Modelling and basic phenomena
(linearization, phase plane, limit cycles)
Lecture 2-6 Analysis methods
(Lyapunov, circle criterion, describing functions)
Lecture 7-8 Common nonlinearities
(Saturation, friction, backlash, quantization)
Lecture 9-13 Design methods
(Lyapunov methods, Backstepping, Optimal control)
Lecture 14 Summary
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Example: saturated sinusoidals
0 1 2 3 4 5 6 7 8 9 10
4
3
2
1
0
1
2
3
4
time [s]
in
p
u
t

s
ig
n
a
l
0 1 2 3 4 5 6 7 8 9 10
2
1.5
1
0.5
0
0.5
1
1.5
2
time [s]
o
u
t
p
u
t

s
ig
n
a
l
Sine Wave
Scope
Saturation
The effective gain ( the ratio
sat(Asint)
Asint
) varies with the
input signal amplitude A.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Motivating Example
r e u y

G(s)
0 5 10 15 20
2
1
0
1
2
y
u
G(s) =
4
s(s 1)
2
and u = sat (e) gives stable oscillation for r = 0.
How can the oscillation be predicted?
Q: What is the amplitude/topvalue of u and y? What is the frequency?
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Motivating Example
r e u y

G(s)
0 5 10 15 20
2
1
0
1
2
y
u
G(s) =
4
s(s 1)
2
and u = sat (e) gives stable oscillation for r = 0.
How can the oscillation be predicted?
Q: What is the amplitude/topvalue of u and y? What is the frequency?
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Recall the Nyquist Theorem
Assume G(s) stable, and k is positive gain.
The closed-loop system is unstable if the point 1]k is
encircled by G(i)
The closed-loop system is stable if the point 1]k is not
encircled by G(i)
0
e u y

k
G(s)
1]k
G(i)
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Motivating Example (contd)
Heuristic reasoning:
For what frequency and what amplitude is
"the loop gain" f G = 1?
Introduce N(A) as an amplitude dependent approximation of
the nonlinearity f ().
0
e u y

f () G(s)
1]N(A)
A
G(i)
y = G(i)u ~ G(i)N(A)y = G(i) =
1
N(A)
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Motivating Example (contd)
8 6 4 2 0
10
8
6
4
2
0
G(i)
1]N(A)
Introduce N(A) as an amplitude dependent gain-approximation
of the nonlinearity f ().
Heuristic reasoning: For what frequency and what amplitude is
"the loop gain" N(A) G(iw) = 1?
The intersection of the 1]N(A) and the Nyquist curve G(i)
predicts amplitude and frequency.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Motivating Example (contd)
8 6 4 2 0
10
8
6
4
2
0
G(i)
1]N(A)
Introduce N(A) as an amplitude dependent gain-approximation
of the nonlinearity f ().
Heuristic reasoning: For what frequency and what amplitude is
"the loop gain" N(A) G(iw) = 1?
The intersection of the 1]N(A) and the Nyquist curve G(i)
predicts amplitude and frequency.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Motivating Example (contd)
8 6 4 2 0
10
8
6
4
2
0
G(i)
1]N(A)
Introduce N(A) as an amplitude dependent gain-approximation
of the nonlinearity f ().
Heuristic reasoning: For what frequency and what amplitude is
"the loop gain" N(A) G(iw) = 1?
The intersection of the 1]N(A) and the Nyquist curve G(i)
predicts amplitude and frequency.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
How do we derive the describing function N(A)?
Does the intersection predict a stable oscillation?
Are the estimated amplitude and frequency accurate?
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Fourier Series
Every periodic function u(t) = u(t T) has a Fourier series
expansion
u(t) =
a
0
2

n=1
(a
n
cos nt b
n
sin nt)
=
a
0
2

n=1
_
a
2
n
b
2
n
sin|nt arctan(a
n
]b
n
)|
where = 2]T and
a
n
=
2
T
_
T
0
u(t) cos nt dt b
n
=
2
T
_
T
0
u(t) sin nt dt
.
Note: Sometimes we make the change of variable t ]
FRTN05 Lecture 6 Automatic Control LTH, Lund University
The Fourier Coefcients are Optimal
The nite expansion
u
k
(t) =
a
0
2

k

n=1
(a
n
cos nt b
n
sin nt)
solves
min
u
2
T
_
T
0
_
u(t) u
k
(t)

2
dt
if |a
n
, b
n
are the Fourier coefcients.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
The Key Idea
0
e u y

N.L.
G(s)
Assume e(t) = Asint and u(t) periodic. Then
u(t) =
a
0
2

n=1
_
a
2
n
b
2
n
sin|nt arctan(a
n
]b
n
)|
If [G(in)[ [G(i)[ for n = 2, 3, . . . and a
0
= 0, then
y(t) ~ [G(i)[
_
a
2
1
b
2
1
sin|t arctan(a
1
]b
1
) arg G(i)|
Find periodic solution by matching coefcients in y = e.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Denition of Describing Function
The describing function is
N(A, ) =
b
1
() ia
1
()
A
e(t)
u(t)
N.L.
e(t) u
1
(t)
N(A, )
If G is low pass and a
0
= 0, then
u
1
(t) = [N(A, )[Asin|t arg N(A, )|
can be used instead of u(t) to analyze the system.
Amplitude dependent gain and phase shift!
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Idea: Use the describing function to approximate the part of
the signal coming out from the nonlinearity which will survive
through the low-pass ltering linear system.
e(t) = Asint = Im (Ae
it
)
e(t)
u(t)
N.L.
u(t) =
a
0
2

n=1
(a
n
cos nt b
n
sin nt)
e(t)
u
1
(t)
N(A, )
u
1
(t) = a
1
cos(t) b
1
sin(t)
= Im (N(A, )Ae
it
)
where the describing function is dened as
N(A, ) =
b
1
() ia
1
()
A
== U(i) ~ N(A, )E(i)
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Existence of Limit Cycles
0
e u y

f () G(s)
1]N(A)
A
G(i)
y = G(i)u ~ G(i)N(A)y = G(i) =
1
N(A)
The intersections of G(i) and 1]N(A) give and A for
possible limit cycles.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Describing Function for a Relay
H
H
u
e
0 1 2 3 4 5 6
1
0.5
0
0.5
1
e
u

a
1
=
1

_
2
0
u() cos d = 0
b
1
=
1

_
2
0
u() sin d =
2

_

0
H sin d =
4H

The describing function for a relay is thus N(A) =

4H
A
.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Describing Function for Odd Static Nonlinearities
Assume f () and p() are odd static nonlinearities (i.e.,
f (e) = f (e)) with describing functions N
f
and N
p
. Then,

Im N
f
(A, ) = 0, coeff. (a
1
0)

N
f
(A, ) = N
f
(A)

N
f
(A) = N
f
(A)

N
f p
(A) = N
f
(A) N
p
(A)
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Limit Cycle in Relay Feedback System
r e u y

G(s)
1 0.8 0.6 0.4 0.2 0
0.5
0.4
0.3
0.2
0.1
0
0.1
G(i)
1]N(A)
G(s) =
3
(s 1)
3
with feedback u = sgn y
3]8 = 1]N(A) = A]4 = A = 12]8 ~ 0.48
G(i) = 3]8 = ~ 1.7, T = 2] = 3.7
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Limit Cycle in Relay Feedback System (contd)
The prediction via the describing function agrees very well with
the true oscillations:
0 2 4 6 8 10
1
0.5
0
0.5
1
u
y
G lters out almost all higher-order harmonics.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Describing Function for a Saturation
H
H
D D
u
e
0 1 2 3 4 5 6 7
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
u
e

Let e(t) = Asint = Asin. First set H = D. If A D then

N(A) = 1, if A D then for (0, )
u() =
_
Asin, (0,
0
) (
0
, )
D, (
0
,
0
)
where
0
= arcsin D]A.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Describing Function for a Saturation (contd)
a
1
=
1

_
2
0
u() cos d = 0
b
1
=
1

_
2
0
u() sin d =
4

_
]2
0
u() sin d
=
4A

_

0
0
sin
2
d
4D

_
]2

0
sin d
=
A

_
2
0
sin2
0
_
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Describing Function for a Saturation (contd)
If H = D
N(A) =
1

_
2
0
sin2
0
_
, A D
For H ,= D the rule N
f
(A) = N
f
(A) gives
N(A) =
H
D
_
2
0
sin2
0
_
, A D
0 2 4 6 8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
N(A) for H = D = 1
NOTE: dependance of A shows
up in
0
= arcsin D]A
FRTN05 Lecture 6 Automatic Control LTH, Lund University
3 minute exercise:
What oscillation amplitude and frequency do the describing
function analysis predict for the Motivating Example?
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Solution: Find and A such that G(i) N(A) = 1;
As N(A) is positive and real valued, nd s.t.
arg G(i) = ==

2
2 arctan

1
= == = 1.0
which gives a period time of 6.28 seconds.
[G(1.0i)[ N(A) = 2 N(A) = 1 == N(A) = 0.5.
To nd the amnplitude A, either
Alt. 1 Solve (numerically) N(A) =
1
1
_
2
0
sin2
0
_
= 0.5,
where
0
= arcsin(1]A)
Alt. 2 From the diagram of N(A) one can nd A ~ 2.47
0 2 4 6 8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
N(A) for H = D = 1
FRTN05 Lecture 6 Automatic Control LTH, Lund University
The Nyquist Theorem
Assume G(s) stable, and k is positive gain.
The closed-loop system is unstable if the point 1]k is
encircled by G(i)
The closed-loop system is stable if the point 1]k is not
encircled by G(i)
0
e u y

k
G(s)
1]k
G(i)
FRTN05 Lecture 6 Automatic Control LTH, Lund University
How to Predict Stability of Limit Cycles
Assume G(s) stable. For a given A = A
0
:
A increases if the point 1]N
f
(A
0
) is encircled by G(i)
A decreases otherwise
0
e u y

f G(s)
1]N(A)
G(i)
A stable limit cycle is predicted
FRTN05 Lecture 6 Automatic Control LTH, Lund University
How to Predict Stability of Limit Cycles
1]N(A)
G()
An unstable limit cycle is predicted
An intersection with amplitude A
0
is unstable if A < A
0
gives
decreasing amplitude and A A
0
gives increasing.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Stable Periodic Solution in Relay System
r e u y

G(s)
5 4 3 2 1 0
0.2
0.15
0.1
0.05
0
0.05
0.1
0.15
0.2
G(i)
1]N(A)
G(s) =
(s 10)
2
(s 1)
3
with feedback u = sgn y
gives one stable and one unstable limit cycle. The left most
intersection corresponds to the stable one.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Periodic Solution in Relay System
The relay gain N(A) is higher for small A:
orbit
Growing amplitudes
Shrinking relay gain
Stable
periodic
orbit
Unstable
periodic
Growing relay gain
One encirclement
Shrinking amplitudes
Growing relay gain
Small amplitudes
High relay gain
No encirclement
Shrinking amplitudes
Big amplitudes
Small relay gain
No encirclement
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Automatic Tuning of PID Controller
Period and amplitude of relay feedback limit cycle can be used
for autotuning.
Process
PID
Relay
A
T
u y

1
Time
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Describing Function for a dead-zone relay
D
D
u
e
0 1 2 3 4 5 6
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
e
u
Let e(t) = Asint = Asin. Then for (0, )
u() =
_
0, (0,
0
)
D, (
0
,
0
)
where
0
= arcsin D]A (if A D)
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Describing Function for a dead-zone relaycontd.
a
1
=
1

_
2
0
u() cos d = 0
b
1
=
1

_
2
0
u() sind =
4

_
]2

0
Dsind
=
4D

cos
0
=
4D

_
1 D
2
]A
2
N(A) =
_
0, A < D
4
A
_
1 D
2
]A
2
, A D
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Plot of Describing Function for dead-zone relay
0 2 4 6 8 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
N(A) for D = 1
Notice that N(A) ~ 1.3]A for large amplitudes
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Pitfalls
Describing function analysis can give erroneous results.
DF analysis may predict a limit cycle, even if it does not
exist.
A limit cycle may exist, even if DF analysis does not predict
it.
The predicted amplitude and frequency are only
approximations and can be far from the true values.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Example
The control of output power x(t) from a mobile telephone is critical for
good performance. One does not want to use too large power since
other channels are affected and the battery length is decreased.
Information about received power is sent back to the transmitter and
is used for power control. A very simple scheme is given by
x(t) =u(t)
u(t) = sign y(t L), , 0
y(t) = x(t).
Use describing function analysis to predict possible limit cycle
amplitude and period of y. (The signals have been transformed so
x = 0 corresponds to nominal output power)
y(t) = x(t)
x(t)
y(t L)

s

e
sL
u(t)
x(t) y(t) y(t L)
FRTN05 Lecture 6 Automatic Control LTH, Lund University
The system can be written as a negative feedback loop with
G(s) =
e
sL

s
and a relay with amplitude 1. The describing function of a relay
satises 1]N(A) = A]4 hence we are interesting in G(i)
on the negative real axis. A stable intersection is given by
= arg G(i) = ]2 L
which gives =](2L).This gives
A
4
= [G(i)[ =

=
2L

and hence A = 8L]

2
. The period is given by
T = 2] = 4L. (More exact analysis gives the true values
A = L and T = 4L, so the prediction is quite good.)
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Accuracy of Describing Function Analysis
Control loop with friction F = sgn y:
_
_
G C
Friction
y
ref u
F
y
Corresponds to
G
1 GC
=
s(s b)
s
3
2s
2
2s 1
with feedback u = sgn y
The oscillation depends on the zero at s = b.
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Accuracy of Describing Function Analysis
1 0.5 0 0.5
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1.2
b = 4]3
b = 1]3
DF predicts period times and
ampl. (T, A)
b=4]3
= (11.4, 1.00)
and (T, A)
b=1]3
=(17.3,0.23)
0 5 10 15 20 25 30
1
0
1
0 5 10 15 20 25 30
0.4
0.2
0
0.2
0.4
y
y
b = 4]3
b = 1]3
Simulation:
(T, A)
b=4]3
= (12, 1.1)
(T, A)
b=1]3
= (22, 0.28)
Accurate results only if y is sinusoidal!
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Analysis of OscillationsA summary
There exist both time-domain and frequency-domain methods
to analyze oscillations.
Time-domain:
Poincar maps and Lyapunov functions
Rigorous results but hard to use for large problems
Frequency-domain:
Describing function analysis
Approximate results
Powerful graphical methods
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Todays Goal
To be able to
Derive describing functions for static nonlinearities
Predict stability and existence of periodic solutions through
describing function analysis
FRTN05 Lecture 6 Automatic Control LTH, Lund University
Next Lecture
Saturation and antiwindup compensation
Lyapunov analysis of phase locked loops
Friction compensation
FRTN05 Lecture 6 Automatic Control LTH, Lund University