Frequency Response
Frequency Response
Week 10-11
Sayantan Dutta
x(t)
x G(s) y
t
Our analysis so far were mostly limited to step inputs
In output we have seen different types of y(t)
response including oscillating ones x(t)
x(t)
x y
y(t)
G(s) x(t)
t
y(t)
x(t)
t
Our analysis so far were mostly limited to step inputs
In output we have seen different types of y(t)
response including oscillating ones x(t)
x(t)
x y
y(t)
G(s) x(t)
t
1. Step response was easy to deal with polynomial algebra y(t)
x(t)
2. Realistically represent servo control (shift of operating point)
t
Our analysis so far were mostly limited to step inputs
In output we have seen different types of y(t)
response including oscillating ones x(t)
x(t)
x y
y(t)
G(s) x(t)
t
However,
y(t)
1. Disturbances are often oscillatory in nature. x(t)
2. We had to approximate time delay transfer function by Pade
approximation.
t
The only example we looked so far
kp
x(t) = sin(ωt) x τps + 1
y
ω kpωτp
x̄(s) = 2 A=
s + ω2 ω 2τp2 + 1
kpω kpω/τp A Bs + c
ȳ(s) = = = + 2 kpωτp
(τps + 1)(s 2 + ω 2) (s + 1
)(s 2 + ω 2) s+ 1 s + ω2 B=−
τp τp ω 2τp2 + 1
kp
y(t) = A exp(−t/τp) + B cos(ωt) + C sin(ωt) C=
ω 2τp2 + 1
B = R sin(ϕ) C = R cos(ϕ)
y(t) = A exp(−t/τp) + R sin(ωt + ϕ)
kp B
2 2 ϕ = = − tan−1(ωτp)
R= B +C = C
ω 2τp2 + 1
ω = 5; kp = 5; τp = 0.1
kp
y(t)
ω 2τp2 + 1
x(t)
2 2
B
R= B +C = ϕ= = − tan−1(ωτp)
C
ω 2τp2 + 1
kpω/τp
A= 1
ω2 +
τp2
kpω/τp
B=− 1
ω2 +
τp2
kpω
C= 1
ω2 +
τp2
Delay
In long term, it’s also oscillatory with same frequency with a time delay.
What is a general way to analyse the oscillatory inputs
and find the long-term output ?
A warm up about the complex algebra
|C| = R = a2 + b2
−1
arg(C) = θ = tan (b/a)
Im C = a + ib = R exp(iθ) C1 = R1 exp(iθ1)
C2 = R2 exp(iθ2)
C1C2 = R1R2 exp[i(θ1 + θ2)]
C1 R1
Re = exp[i(θ1 − θ2)]
C2 R2
x G(s) y
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
Long term output of a sinusoidal input
x G(s) y
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
A1 A2 An B1 B2 Bv
= + + ... + + + + ...
s − p1 s − p2 s − pn s − q1 s − q2 s − qv
Long term output of a sinusoidal input
x G(s) y
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
N(s) ω N(s)ω
ȳ(s) = G(s)x̄(s) = =
D(s) s + ω
2 2 (s − p1)(s − p2) . . . (s − pn)(s − iω)(s + iω)
A1 A2 An B1 B2
= + + ... + + +
s − p1 s − p2 s − pn s − iω s + iω
Long term output of a sinusoidal input
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
N(s) ω N(s)ω
ȳ(s) = G(s)x̄(s) = =
D(s) s + ω
2 2 (s − p1)(s − p2) . . . (s − pn)(s − iω)(s + iω)
A1 A2 An B1 B2
= + + ... + + +
s − p1 s − p2 s − pn s − iω s + iω
−1
ℒ [G(s)x̄(s)] = A1 exp(p1t) + A2 exp(p2t) + . . . . . . + B1 exp(iωt) + B2 exp(−iωt) + . .
Long term output of a sinusoidal input
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
N(s) ω N(s)ω
ȳ(s) = G(s)x̄(s) = =
D(s) s + ω
2 2 (s − p1)(s − p2) . . . (s − pn)(s − iω)(s + iω)
A1 A2 An B1 B2
= + + ... + + +
s − p1 s − p2 s − pn s − iω s + iω
−1
ℒ [G(s)x̄(s)] = A1 exp(p1t) + A2 exp(p2t) + . . . . . . + B1 exp(q1t) + B2 exp(q2t) + . .
Let’s consider real parts of {p1, p2, . . . pn} < 0
Realistic assumption for process, instrumentation or controller transfer functions.
Long term output of a sinusoidal input
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
N(s) ω N(s)ω
ȳ(s) = G(s)x̄(s) = =
D(s) s + ω
2 2 (s − p1)(s − p2) . . . (s − pn)(s − iω)(s + iω)
A1 A2 An B1 B2
= + + ... + + +
s − p1 s − p2 s − pn s − iω s + iω
−1
ℒ [G(s)x̄(s)] = A1 exp(p1t) + A2 exp(p2t) + . . . . . . + B1 exp(iωt) + B2 exp(−iωt) + . .
Let’s consider real parts of {p1, p2, . . . pn} < 0
Only terms with B1, B2 survive in long term.
How do we find B1, B2 ignoring other terms
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
N(s) ω A B1 B2
ȳ(s) = G(s)x̄(s) = = + +
D(s) s + ω
2 2 D(s) s − iω s + iω
2 2
A(s + ω ) + B1D(s)(s + iω) + B2D(s)(s − iω)
=
D(s)(s + ω )
2 2
N(s) i
lim N(s)ω = 2B1D(s)iω ⟹ B1 = lim =− G(iω)
s→iω s→iω 2iD(s) 2
N(s) i
lim N(s)ω = − 2B2D(s)iω ⟹ B2 = lim = G(−iω)
s→(−iω) s→−iω −2iD(s) 2
How do we find B1, B2 ignoring other terms
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
N(s) ω A B1 B2
ȳ(s) = G(s)x̄(s) = = + +
D(s) s + ω
2 2 D(s) s − iω s + iω
N(s) i
lim N(s)ω = 2B1D(s)iω ⟹ B1 = lim =− G(iω)
s→iω s→iω 2iD(s) 2
N(s) i
lim N(s)ω = − 2B2D(s)iω ⟹ B2 = lim = G(−iω)
s→(−iω) s→−iω −2iD(s) 2
If ± iω are roots of D(s) (i.e. poles of G(s))
B1, B2 goes to infinity. The system will blow up. The case of resonance.
Input frequency=Natural frequency of the system
Long term output of a sinusoidal input
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
−1
ℒ [G(s)x̄(s)] = A1 exp(p1t) + A2 exp(p2t) + . . . . . . + B1 exp(iωt) + B2 exp(−iωt) + . .
2 3
N(iω) (a0 − a2ω + . . ) + i(a1ω − a3ω + . . )
G(iω) = =
D(iω) (b0 − b2ω 2 + . . ) + i(b1ω − b3ω 3 + . . )
2 3
N(−iω) (a0 − a2ω + . . ) − i(a1ω − a3ω + . . )
G(−iω) = =
D(−iω) (b0 − b2ω + . . ) − i(b1ω − b3ω + . . )
2 3
The amplitude of the oscillation increases by a factor of | G(iω) | and the oscillation gets a
shift of arg[G(iω)].
Lecture 2
Learning Objectives
x(t)
x y
y(t)
G(s) x(t)
t
1. Step response was easy to deal with polynomial algebra y(t)
x(t)
2. Realistically represent servo control (shift of operating point)
t
Recap: Our analysis so far were mostly limited to
step inputs
x G(s) y
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
If G(s) has no poles with positive real parts
lim y(t) = | G(iω) | sin(ωt + ϕ) ϕ = arg[G(iω)]
t→∞
Amplitude ratio (AR)= | G(iω) | Phase shift=arg[G(iω)]
Applicable for any sinusoidal waves.
First order process
kp
G(s) =
τps + 1
kp
| G(iω) | = −1
ϕ = − tan (ωτp)
1+ τp ω
2 2
kp 2ζωτ
| G(iω) | = ϕ = − tan−1
(1 − τ 2ω 2)2 + 4ζ 2τ 2ω 2 1 − τ 2ω 2
| G(iω) | = 1 ϕ = − (ωtd)
| G(iω) | = 1 ϕ = − (ωtd)
1
Gc = Kc(1 + )
τls
1
Gc = Kc(1 + + tds)
τls
Controller transfer functions
Gc = Kc | G(iω) | = Kc ϕ=0
1 1 −1 π
Gc = Kc(1 + ) | G(iω) | = Kc 1+ 2 2 ϕ = tan (ωτl) −
τls τl ω 2
1 1 2
Gc = Kc(1 + + tds) | G(iω) | = Kc 1 + (ωτd − )
τls τlω
−1 1
ϕ = tan (ωτd − )
ωτl
Visualizing the frequency response: Bode Diagram
−1
ϕ = − tan (ωτp)
−1
ϕ = − tan (ωτp)
Second order process
kp
G(s) =
τ 2s 2 + 2ζτs + 1
kp
G(iω) =
1− τω
2 2 + 2iτζω
kp
| G(iω) | =
(1 − τ 2ω 2)2 + 4ζ 2τ 2ω 2
−1 2ζωτ
ϕ = − tan
1 − τ 2ω 2
kp
G(iω) =
1− τω
2 2 + 2iτζω
kp
| G(iω) | =
(1 − τ 2ω 2)2 + 4ζ 2τ 2ω 2
−1 2ζωτ kp = 10.
ϕ = − tan
1 − τ 2ω 2 τ=1
Logistics of the course.
x G(s) y
ω
x(t) = sin(ωt) x̄(s) = 2
s +ω 2
If G(s) has no poles with positive real parts
lim y(t) = | G(iω) | sin(ωt + ϕ) ϕ = arg[G(iω)]
t→∞
Amplitude ratio (AR)= | G(iω) | Phase shift=arg[G(iω)]
Applicable for any sinusoidal waves.
Second order process
ζ=0
kp ζ = 0.5
ζ=1
G(s) = ζ = 1.5
τ 2s 2 + 2ζτs + 1 ζ=2
kp
G(iω) =
1− τω
2 2 + 2iτζω
kp
| G(iω) | =
(1 − τ 2ω 2)2 + 4ζ 2τ 2ω 2
−1 2ζωτ kp = 10.
ϕ = − tan
1 − τ 2ω 2 τ=1
Controller Stability criterion
What should not be the control parameters ?
Crossover frequency is the frequency where phase shift of the open loop
transfer function is −π.
Gain and Phase margins
1
Gain margin=
M
Phase margin=ϕ(1) − π
gain
crossover
frequency
(phase)
crossover
frequency
Gain and Phase margins
1
Gain margin=
M
Phase margin=ϕ(1) − π
gain For a stable system, Gain margin >1.
crossover
frequency
For a stable system, Phase margin >0.
Gain and Phase margin quantifies
relative stability.
(phase)
Estimates of how much modeling
crossover error the design can handle.
frequency
Limitations of Bode criterion
If the AR and phase margins are not strictly decreasing with ω, Bode
stability criterion is not applicable.
In those cases, we can’t ensure that for ϕ = 3π,5π.. the AR is <1.
Also we can’t ensure that ϕ ≠ π for a higher ω.
Let’s look at an example
First find the amplitude ratio and phase margin as a function of ω for the
open loop transfer function
Let’s look at an example
kc exp(−0.1s)
GOL(s) =
0.5s + 1
kc
| GOL(iω) | =
0.25ω 2 + 1
−1
arg[GOL(iω)] = − 0.1ω − tan (0.5ω)
First find the amplitude ratio and phase margin as a function of ω for the
open loop transfer function
kc exp(−0.1s) | GOL(iω) | =
kc
GOL(s) = arg[GOL(iω)] = − 0.1ω − tan−1(0.5ω)
0.5s + 1 0.25ω 2 + 1
Bode Stability criterion
Crossover frequency is the frequency where phase shift of the open loop
transfer function is −π.
But why ?
A thought experiment
ym = − k sin(ωt) ϵ = k sin(ωt)
n
After n such cycles ϵ = k sin(ωt)
Oscillation grows for k > 1, sustains for k = 1, decays for k < 1.
Another attempt of proof
If GOL(iω) = − k; k = 1 + ϵ,
Let’s assume a ± iω are roots of the charaterstic equation.
1 + GOL(a + iω) = 0;
Poles of closed loop transfer function
d[Re(GOL)] ϵ
1 − (1 + ϵ) + a = 0; a = dGOL
d(Re[s])
ds
GOL(s) = GcGf GpGm is generally a positive function.
If k > 1 ⟹ ϵ > 0 ⟹ a > 0. Poles have +ve real part.
If k < 1 ⟹ ϵ < 0 ⟹ a < 0. Poles have -ve real part.
dGOL
This needs to be +ve at s = ± iω. Can we prove that ?
ds
Nyquist Stability Criterion
no encirclement
What does encirclement have to do with stability ?
1 2 1 2
arg(1 + Gol(iω)) = [arg(iω − pCL) + arg(iω − pCL) + . . ] − [arg(iω − pOL) + arg(iω − pOL) + ..
1 ω + b
pcl = a + ib 1
arg(iω − pCL) =
−a
What does encirclement have to do with stability ?
1 2 1 2
arg(1 + Gol(iω)) = [arg(iω − pCL) + arg(iω − pCL) + . . ] − [arg(iω − pOL) + arg(iω − pOL) +.
1 ω + b
pcl = a + ib 1
arg(iω − pCL) =
−a
As ω varies from −∞ → + ∞
1 −π −3π unstable
arg(iω − pCL) varies from →−π→ for a > 0 clockwise halfcircle
2 2
1 −π π stable
arg(iω − pCL) varies from → 0 → for a < 0
2 2 anticlockwise halfcircle
What does encirclement have to do with stability ?
1 2 M
N(s) + D(s) (s − pCL)(s − pCL) . . . . (s − pCL)
1 + GOL(s) = = k
D(s) (s − pOL
1 )(s − p 2 ) . . . . (s − p M )
OL OL
1 2 1 2
arg(1 + Gol(iω)) = [arg(iω − pCL) + arg(iω − pCL) + . . ] − [arg(iω − pOL) + arg(iω − pOL) +.
If there are mCLclosed loop unstable (a > 0) poles, M − mCLclosed loop stable poles.
Net clockwise rotation from the numerator=0.5mCL − 0.5(M − mCL) = mCL − 0.5M
Similarly, net clockwise rotation from the denominator=mOL − 0.5M
Net rotation=mCL − mOL
What does encirclement have to do with stability ?
1 2 M
N(s) + D(s) (s − pCL)(s − pCL) . . . . (s − pCL)
1 + GOL(s) = = k
D(s) (s − pOL
1 )(s − p 2 ) . . . . (s − p M )
OL OL
1 2 1 2
arg(1 + Gol(iω)) = [arg(iω − pCL) + arg(iω − pCL) + . . ] − [arg(iω − pOL) + arg(iω − pOL) +.
If the closed loop transfer function is unstable 1 + GOL(s) will encircle the origin in the
complex plane at least once as ω varies from −∞ → + ∞
If the closed loop transfer function is unstable GOL(s) will encircle (−1,0) in the complex
plane at least once as ω varies from −∞ → + ∞
QED!!!!!
https://kindai.repo.nii.ac.jp/record/11170/ les/AN10074306-20140228-0025.pdf
fi
Ziegler-Nichols Closed loop tuning.