summaryrefslogtreecommitdiff
path: root/2048/DEPENDENCIES/pp_pid.sci
diff options
context:
space:
mode:
Diffstat (limited to '2048/DEPENDENCIES/pp_pid.sci')
-rw-r--r--2048/DEPENDENCIES/pp_pid.sci15
1 files changed, 15 insertions, 0 deletions
diff --git a/2048/DEPENDENCIES/pp_pid.sci b/2048/DEPENDENCIES/pp_pid.sci
new file mode 100644
index 000000000..7071ab671
--- /dev/null
+++ b/2048/DEPENDENCIES/pp_pid.sci
@@ -0,0 +1,15 @@
+// Solution to Aryabhatta's identity arising in PID controller design, namely Eq. 9.37 on page 363.
+// 9.20
+
+function [Rc,Sc] = pp_pid(B,A,k,phi,Delta)
+
+// Setting up and solving Aryabhatta identity
+dB = length(B) - 1; dA = length(A) - 1;
+[zk,dzk] = zpowk(k);
+[N,dN] = polmul(B,dB,zk,dzk);
+dDelta = length(Delta)-1;
+[D,dD] = polmul(A,dA,Delta,dDelta);
+dphi = length(phi)-1;
+[Sc,dSc,R,dR] = xdync(N,dN,D,dD,phi,dphi);
+Rc = convol(R,Delta);
+endfunction;