Path: Common/Control
% Design a leaky PI controller. Design a PI controller of the form y = cx + du x = ax + bu The transfer function is K ( 1 + 1 ) -------- tau(s+a) The inputs are gain at zero, gain at infinity and 0 dB crossover frequency. If the gain at zero frequency is not infinity you get a "leaky" integrator. Leaky integrators can give you sufficient gain a DC for your application with giving you the stability problems of regular integrators. With one output, the routine will give you the conventional statespace form [a, b, c, d]. With one output you will get an object of the statespace class. If the gain at infinity is greater than 1, w0Db is the corner frequency. Type PILeaky for a demo. -------------------------------------------------------------------------- Form: [g, b, c, d] = PILeaky( k0, kInf, w0Db, tSamp, sType ) -------------------------------------------------------------------------- ------ Inputs ------ k0 Gain at zero (may be inf) (dB) k Gain at infinity (forward gain) (dB) w0Db 0 db crossover (rad/sec) tSamp Sampling period (sec) sType State equation type ('Delta' or 'Z') ------- Outputs ------- g Statespace data structure or [g, b, c, d] Statespace --------------------------------------------------------------------------
Common: Classes/@statespace/and.m Common: Classes/@statespace/close.m Common: Classes/@statespace/connect.m Common: Classes/@statespace/eig.m Common: Classes/@statespace/get.m Common: Classes/@statespace/getabcd.m Common: Classes/@statespace/getsub.m Common: Classes/@statespace/isempty.m Common: Classes/@statespace/mtimes.m Common: Classes/@statespace/plus.m Common: Classes/@statespace/series.m Common: Classes/@statespace/set.m Common: Classes/@statespace/statespace.m Common: Control/C2DZOH Common: Control/C2DelZOH Common: Control/FResp Common0: Classes/@statespace/and.m Common0: Classes/@statespace/close.m Common0: Classes/@statespace/connect.m Common0: Classes/@statespace/eig.m Common0: Classes/@statespace/get.m Common0: Classes/@statespace/getabcd.m Common0: Classes/@statespace/getsub.m Common0: Classes/@statespace/isempty.m Common0: Classes/@statespace/mtimes.m Common0: Classes/@statespace/plus.m Common0: Classes/@statespace/series.m Common0: Classes/@statespace/set.m Common0: Classes/@statespace/statespace.m Common1: Classes/@statespace/and.m Common1: Classes/@statespace/close.m Common1: Classes/@statespace/connect.m Common1: Classes/@statespace/eig.m Common1: Classes/@statespace/get.m Common1: Classes/@statespace/getabcd.m Common1: Classes/@statespace/getsub.m Common1: Classes/@statespace/isempty.m Common1: Classes/@statespace/mtimes.m Common1: Classes/@statespace/plus.m Common1: Classes/@statespace/series.m Common1: Classes/@statespace/set.m Common1: Classes/@statespace/statespace.m Common2: Classes/@statespace/and.m Common2: Classes/@statespace/close.m Common2: Classes/@statespace/connect.m Common2: Classes/@statespace/eig.m Common2: Classes/@statespace/get.m Common2: Classes/@statespace/getabcd.m Common2: Classes/@statespace/getsub.m Common2: Classes/@statespace/isempty.m Common2: Classes/@statespace/mtimes.m Common2: Classes/@statespace/plus.m Common2: Classes/@statespace/series.m Common2: Classes/@statespace/set.m Common2: Classes/@statespace/statespace.m
Back to the Common Module page