]> Creatis software - CreaPhase.git/blobdiff - octave_packages/control-2.3.52/optiPIDctrl.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / control-2.3.52 / optiPIDctrl.m
diff --git a/octave_packages/control-2.3.52/optiPIDctrl.m b/octave_packages/control-2.3.52/optiPIDctrl.m
new file mode 100644 (file)
index 0000000..65f2d4c
--- /dev/null
@@ -0,0 +1,18 @@
+% ===============================================================================
+% optiPIDctrl                      Lukas Reichlin                   February 2012
+% ===============================================================================
+% Return PID controller with roll-off for given parameters Kp, Ti and Td.
+% ===============================================================================
+
+function C = optiPIDctrl (Kp, Ti, Td)
+
+  tau = Td / 10;    % roll-off
+
+  num = Kp * [Ti*Td, Ti, 1];
+  den = conv ([Ti, 0], [tau^2, 2*tau, 1]);
+  
+  C = tf (num, den);
+
+end
+
+% ===============================================================================