diff -r 000000000000 -r 0efde00f9229 place/sigurd.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/place/sigurd.py Fri May 27 14:24:59 2011 +0530 @@ -0,0 +1,57 @@ +# Updated(2-8-07) +# 9.13 + +import os, sys +sys.path += [os.getcwdu() + os.sep + ".." + os.sep + "python"] + +import scipy as sp +from scipy import signal +from myc2d import myc2d +from dscr import dscr +from zpowk import zpowk +from desired import desired +from pp_im2 import pp_im2 + +num = 200 +den = sp.convolve([0.05, 1], [0.05, 1]) +den = sp.convolve([10, 1], den) +G = signal.lti(num,den) +Ts = 0.025 +num = G.num +den = G.den +B, A, k = myc2d(G, Ts) +zk, dzk = zpowk(k) + +# Transient specifications +a = 0.9 +rise = 0.24 +epsilon = 0.05 +phi = desired(Ts, rise, epsilon) + +# Controller design +Delta = sp.array([1, -1]) # internal model of step is present +Rc, Sc, Tc, gamm = pp_im2(B, A, k, phi, Delta, a) + +# margin calculation +Lnum = sp.convolve(Sc, sp.convolve(B,zk)) +Lden = sp.convolve(Rc, A) +L = signal.lti(Lnum, Lden) +L = dscr(L, Ts) +Gm = g_margin(L) +Pm = p_margin(L) + +num1 = 100 +den1 = [10, 1] +Gd = signal.lti(num1, den1) +C, D, k1 = myc2d(Gd, Ts) +zk, dzk = zpowk(k) +C = sp.convolve(C, zk) + +# simulation parameters g_s_cl2 +N = 1 +st = 1 # desired change in setpoint +st1 = 0 # magnitude of disturbance +t_init = 0 # simulation start time +t_final = 1.5 # simulation end time + +