place/sigurd.py
changeset 0 0efde00f9229
equal deleted inserted replaced
-1:000000000000 0:0efde00f9229
       
     1 # Updated(2-8-07)
       
     2 # 9.13 
       
     3 
       
     4 import os, sys
       
     5 sys.path += [os.getcwdu() + os.sep + ".." + os.sep + "python"]
       
     6 
       
     7 import scipy as sp
       
     8 from scipy import signal
       
     9 from myc2d import myc2d
       
    10 from dscr import dscr
       
    11 from zpowk import zpowk
       
    12 from desired import desired
       
    13 from pp_im2 import pp_im2
       
    14 
       
    15 num = 200
       
    16 den = sp.convolve([0.05, 1], [0.05, 1])
       
    17 den = sp.convolve([10, 1], den)
       
    18 G = signal.lti(num,den)
       
    19 Ts = 0.025
       
    20 num = G.num 
       
    21 den = G.den
       
    22 B, A, k = myc2d(G, Ts)
       
    23 zk, dzk = zpowk(k)
       
    24 
       
    25 # Transient specifications
       
    26 a = 0.9
       
    27 rise = 0.24
       
    28 epsilon = 0.05
       
    29 phi = desired(Ts, rise, epsilon)
       
    30 
       
    31 # Controller design
       
    32 Delta = sp.array([1, -1]) # internal model of step is present
       
    33 Rc, Sc, Tc, gamm = pp_im2(B, A, k, phi, Delta, a)
       
    34 
       
    35 # margin calculation
       
    36 Lnum = sp.convolve(Sc, sp.convolve(B,zk))
       
    37 Lden = sp.convolve(Rc, A)
       
    38 L = signal.lti(Lnum, Lden)
       
    39 L = dscr(L, Ts)
       
    40 Gm = g_margin(L)
       
    41 Pm = p_margin(L)
       
    42 
       
    43 num1 = 100
       
    44 den1 = [10, 1]
       
    45 Gd = signal.lti(num1, den1)
       
    46 C, D, k1 = myc2d(Gd, Ts)
       
    47 zk, dzk = zpowk(k)
       
    48 C = sp.convolve(C, zk)
       
    49 
       
    50 # simulation parameters g_s_cl2
       
    51 N = 1
       
    52 st = 1 # desired change in setpoint
       
    53 st1 = 0 # magnitude of disturbance
       
    54 t_init = 0 # simulation start time
       
    55 t_final = 1.5 # simulation end time
       
    56 
       
    57