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
Copy file name to clipboardExpand all lines: lib/ControlSystemsBase/src/sensitivity_functions.jl
+6-4Lines changed: 6 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -81,7 +81,7 @@ end
81
81
G_PS(P, C)
82
82
83
83
The closed-loop transfer function from load disturbance to plant output.
84
-
Technically, the transfer function is given by `(1 + PC)⁻¹P` so `SP` would be a better, but nonstandard name.
84
+
Technically, the transfer function is given by `(1 + PC)⁻¹P = P(1 + CP)⁻¹`.
85
85
$sensdoc
86
86
"""
87
87
G_PS(P, C) =feedback(P,C)#output_sensitivity(P, C)*P
@@ -90,7 +90,7 @@ G_PS(P, C) = feedback(P,C)#output_sensitivity(P, C)*P
90
90
G_CS(P, C)
91
91
92
92
The closed-loop transfer function from (-) measurement noise or (+) reference to control signal.
93
-
Technically, the transfer function is given by `(1 + CP)⁻¹C` so `SC` would be a better, but nonstandard name.
93
+
Technically, the transfer function is given by `(1 + CP)⁻¹C = C(1 + PC)⁻¹`.
94
94
$sensdoc
95
95
"""
96
96
G_CS(P, C) =feedback(C,P)#input_sensitivity(P, C)*C
@@ -192,14 +192,16 @@ The gang of four can be plotted like so
192
192
Gcl = extended_gangoffour(G, C) # Form closed-loop system
193
193
bodeplot(Gcl, lab=["S" "PS" "CS" "T"], plotphase=false) |> display # Plot gang of four
194
194
```
195
-
Note, the last input of Gcl is the negative of the `PS` and `T` transfer functions from `gangoffour2`. To get a transfer matrix with the same sign as [`G_PS`](@ref) and [`input_comp_sensitivity`](@ref), call `extended_gangoffour(P, C, pos=false)`.
195
+
Note, the last input of Gcl is the negative of the `PS` and `T` transfer functions from `gangoffour`. To get a transfer matrix with the same sign as [`G_PS`](@ref) and [`input_comp_sensitivity`](@ref), call `extended_gangoffour(P, C, pos=false)`.
196
196
See `glover_mcfarlane` from RobustAndOptimalControl.jl for an extended example. See also `ncfmargin` and `feedback_control` from RobustAndOptimalControl.jl.
197
197
"""
198
198
functionextended_gangoffour(P, C, pos=true)
199
199
ny,nu =size(P)
200
200
te =timeevol(P)
201
201
if pos
202
-
S =feedback(ss(I(ny+nu), te), [ss(0*I(ny), te) -P; C ss(0*I(nu), te)], pos_feedback=true)
202
+
Oy =ss(0*I(ny), te)
203
+
Ou =ss(0*I(nu), te)
204
+
S =feedback(ss(I(ny+nu), te), [Oy -P; C Ou], pos_feedback=true)
0 commit comments