You are on page 1of 16

Control Systems 2

Lecture 6 – Quantitative Feedback Theory (QFT)


Disturbance Rejection
1
Design a controller for the system 𝑃𝑃 𝑠𝑠 = 𝑒𝑒 −0.1𝑠𝑠
to achieve the
𝑠𝑠+1
following specifications.
a) The disturbance gain should be less than 0.01 for steady-state
condition.
b) The disturbance gain should not be beyond 3 dB.

20log0.01 = −40 dB 𝜔𝜔 ≪ 1
Inverse Nichols Chart

50

40 -40

30

20
40 dB = 100

10

0 3
Open-Loop Gain (dB)

-10
P(s)

-20

-30

-40

-50

-270 -225 -180 -135 -90 -45 0 45 90

Open-Loop Phase (deg)


Inverse Nichols Chart

50

1
40 -40

30

Unstable system !!!

L(s) = 100 P(s)


20

10

0 3
Open-Loop Gain (dB)

-10

-20

-30

Nyquist Point
-40

-50

-270 -225 -180 -135 -90 -45 0 45 90

Open-Loop Phase (deg)


What is the solution?

A block is needed to only


increase the gain of the
lower frequencies.
1
How about 𝐺𝐺 𝑠𝑠 = ?
𝑠𝑠
1
𝐺𝐺 𝑠𝑠 =
𝑠𝑠
Bode Diagram

100

50
Magnitude (dB)

-50

-89

-89.5

-90
Phase (deg)

-90.5

-91

-3 -2 -1 0 1 2 3
10 10 10 10 10 10 10

Frequency (rad/s)
Inverse Nichols Chart

50 Inverse Nichols Chart

50

40 -40

40 -40

30

30
1
𝐿𝐿 𝑠𝑠 = 𝑃𝑃(𝑠𝑠)
𝑠𝑠
20

20

10

10

0 3
Open-Loop Gain (dB)

0 3
Open-Loop Gain (dB)

-10

-10

-20

-20

-30

-30

-40

-40

-50

-270
-50 -225 -180 -135 -90 -45 0 45 90

-270 -225 -180 -135 Open-Loop Phase (deg) -90 -45 0 45 90

Open-Loop Phase (deg)


1
Design a controller for the system 𝑃𝑃 𝑠𝑠 = 𝑒𝑒 −0.1𝑠𝑠
to achieve the
𝑠𝑠+1
following specifications.
a) The disturbance gain should be less than 0.01 for steady-state
condition.
b) The disturbance gain should not be beyond 3 dB.
Inverse Nichols Chart

50

40 -40

30

20

10 System: untitled1

Gain (dB): -5.1

Phase (deg): -146


0 3
Frequency (rad/s): 1.17
Open-Loop Gain (dB)

-10

𝜙𝜙 = −135 − −146 = 11
-20

-30

-40

-50

-270 -225 -180 -135 -90 -45 0 45 90

Open-Loop Phase (deg)


Lead Compensator 𝑠𝑠
+1
• 𝐺𝐺 𝑠𝑠 = 𝛼𝛼
𝑠𝑠 𝛽𝛽 > 𝛼𝛼
Bode Diagram
𝛽𝛽
+1
20

15
System: sys • 𝜔𝜔𝑚𝑚 = 𝛼𝛼𝛼𝛼
Frequency (rad/s): 3.16

−1 𝛽𝛽−𝛼𝛼
• 𝜙𝜙𝑚𝑚 = sin
Magnitude (dB): 10

10
𝛽𝛽+𝛼𝛼
Magnitude (dB)

5
𝛽𝛽+1
• 𝐺𝐺(𝑗𝑗𝜔𝜔𝑚𝑚 ) =
0
𝛼𝛼+1
60

System: sys

Frequency (rad/s): 3.16

Phase (deg): 54.9


If 𝜙𝜙𝑚𝑚 > 60, then you need more
than one lead compensator.
30
Phase (deg)

0
For this design we can select
𝑠𝑠
10
-2
10
-1
10
0
10
1
10
2
10
3
+1
Frequency (rad/s)
0.6
𝐺𝐺 𝑠𝑠 = 𝑠𝑠
3+1
Inverse Nichols Chart

50

40 -40

30

𝑠𝑠
+1 1
20
0.6
𝐿𝐿 𝑠𝑠 = 𝑠𝑠 𝑃𝑃(𝑠𝑠)
𝑠𝑠
10 System: untitled1 3+1
Gain (dB): -5.1

Phase (deg): -146


0 3
Frequency (rad/s): 1.17
Open-Loop Gain (dB)

System: untitled2

Gain (dB): 0.609


-10
Phase (deg): -107

Frequency (rad/s): 1.24

-20

-30

-40

-50

-270 -225 -180 -135 -90 -45 0 45 90

Open-Loop Phase (deg)


Step1

>5
Clock
Switch

0 To Workspace

Constant

Step Transfer Fcn1 Transfer Fcn2 Transport


Delay

Scope
Time Series Plot:
10

5
Y(t)

0 5 10 15

Time (seconds)
1
Design a controller for the system 𝑃𝑃 𝑠𝑠 = 𝑒𝑒 −0.1𝑠𝑠
with 50% delay
𝑠𝑠+1
variation to achieve the following specifications.
a) The disturbance gain should be less than 0.01 for steady-state
condition.
b) The disturbance gain should not be beyond 3 dB.

1 −0.05𝑠𝑠
1
𝑃𝑃 𝑠𝑠 ∈ 𝑒𝑒 , 𝑒𝑒 −0.15𝑠𝑠
𝑠𝑠 + 1 𝑠𝑠 + 1

1
𝑃𝑃𝑛𝑛 𝑠𝑠 = 𝑒𝑒 −0.1𝑠𝑠
𝑠𝑠 + 1
Inverse Nichols Chart

50 Inverse Nichols Chart


Inverse Nichols Chart
50
50

40 -40

40 -40
40 -40
𝑠𝑠
+1 1
30

30
0.6
𝐿𝐿 𝑠𝑠 = 𝑠𝑠 𝑃𝑃𝑛𝑛 (𝑠𝑠)
𝑠𝑠 𝑠𝑠
30

+ 1 +1 1
20
3 0.6
20
20 𝐿𝐿 𝑠𝑠 = 𝑠𝑠 𝑃𝑃𝑛𝑛 𝑠𝑠
𝑠𝑠
3+1
10

10
10

0 3
(dB) (dB)

0 3
0 3
Gain

𝑠𝑠
Gain(dB)

+1 1
Open-Loop

-10
Gain

System: untitled1

0.6
Open-Loop

-10

𝐿𝐿 𝑠𝑠 = 0.8 𝑠𝑠 𝑃𝑃𝑛𝑛 (𝑠𝑠)


Open-Loop

-10 Gain (dB): -7.07

𝑠𝑠
3+1
Phase (deg): -139
-20
Frequency (rad/s): 2.69
-20
-20

-30

-30
-30

-40

-40
-40

-50

-50 -270 -225 -180 -135 -90 -45 0 45 90


-50
-270 -225 -180 -135 -90
Open-Loop Phase (deg) -45 0 45 90
-270 -225 -180 -135 -90 -45 0 45 90
Open-Loop Phase (deg)
Open-Loop Phase (deg)
P = [tf(1,[1 1],'IODelay',0.05),tf(1,[1 1],'IODelay',0.15)];
Pn = tf(1,[1 1],'IODelay',0.1);
nichols(tf([1/0.6 1],[1/3 1])*tf(1,[1 0])*Pn);
Bnd_dist([3 -40],-50,50,-270,90);
hold on
Bnd_dist_template(P,Pn,2.69,3,-50,50,-270,90);
hold on
nichols(0.8*tf([1/0.6 1],[1/3 1])*tf(1,[1 0])*Pn);

You might also like