You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By plotting the gang of four under unit feedback for the process
53
53
```julia
54
54
P =tf(1,[1,1])^4
55
55
gangoffourplot(P,tf(1))
56
56
```
57
-

57
+

58
58
59
59
we notice that the sensitivity function is a bit too high at around frequencies ω = 0.8 rad/s. Since we want to control the process using a simple PI-controller, we utilize the
60
60
function `loopshapingPI` and tell it that we want 60 degrees phase margin at this frequency. The resulting gang of four is plotted for both the constructed controller and for unit feedback.
@@ -63,8 +63,8 @@ function `loopshapingPI` and tell it that we want 60 degrees phase margin at thi
We could also cosider a situation where we want to create a closed-loop system with the bandwidth ω = 2 rad/s, in which case we would write something like
Here we specify that we want the Nyquist curve `L(iω) = P(iω)C(iω)` to pass the point `|L(iω)| = rl = 1, arg(L(iω)) = -180 + phasemargin = -180 + 60`
76
76
The gang of four tells us that we can indeed get a very robust and fast controller with this design method, but it will cost us significant control action to double the bandwidth of all four poles.
77
-

78
-

77
+

78
+

79
79
80
80
# Advanced pole-zero placement
81
81
This example illustrates how we can perform advanced pole-zero placement. The task is to make the process a bit faster and damp the poorly damped poles.
@@ -121,24 +121,24 @@ stepplot([P,Gcl]) # Visualize the open and closed loop responses.
121
121
gangoffourplot(P, tf(-S,R)) # Plot the gang of four to check that all tranfer functions are OK
122
122
```
123
123
124
-

125
-

124
+

125
+

126
126
127
127
128
128
# Stability boundary for PID controllers
129
129
The stability boundary, where the transfer function `P(s)C(s) = -1`, can be plotted with the command `stabregionPID`. The process can be given in string form or as a regular LTIsystem.
130
130
131
131
```julia
132
-
P1 ="exp(-sqrt(s))"
132
+
P1 =s ->exp(-sqrt(s))
133
133
f1 =stabregionPID(P1,exp10.(range(-5, stop=1, length=1000)))
0 commit comments