3. Diskreetimissamm, diskreetimismudel, arvutused Diskreetimissammu (td) valisin empiiriliselt pidades meeles seda, et ta järgiks piisava täpsusega pidevaja süsteemi. Q = diag([1/(0.2*0.2) 0 1/(0.7*0.7) 0])- Kaalumaatriks R = 5/(100*M*M) - Kaalumaatriks [Ad,Bd] = c2d(A,B,td) diskreetaja mudeli arvutus [Ad,Gd] = c2d(A,G,td), Adekvaatsus on näha ka 8. punkti graafikutelt, kus on näha, et pidevaja ja diskreetaja mudelid on üsnagi kokkulangevad. 4. Regulaatori süntees pidevajas K = lqr(A, B, Q, R) % arvutame välja pidevaja regulaatori K maatriksi C=[1 0 0 0; 0 0 1 0] % määrame parameetri C väärtuse Pss = eig(A-B*K) % arvutame välja omaväärtused Pot = Pss 5 % nihutame omaväärtusi, et muuta süsteem kiiremaks L = place(A', C', Pot)' % arvutame välja pidevaja olekutaastaja L maatriksi 5. Regulaatori süntees diskreetajas td=0.1 % määrame diskreetimissammu (põhjendus punkt 3) Kd=dlqr(Ad, Bd, Q, R) % arvutame diskreetaja regulaatori Kd maatriksi
% % ! ~ ~ ~ % U = +K*X +Ki*Z = -K*X , K = [-K -Ki] % % P - soovutud suletud süsteemi pooluste paigutus n + dim(Y) tükki. nnn=size(A,1); rrr=size(B,2); % olekumuutujate arv ja sisendite arv if exist('C'), y_r=size(C,1); A2=[A zeros(nnn,y_r); -C zeros(y_r,y_r)]; B2=[B;zeros(y_r,rrr)]; r2=rank(ctrb(A2,B2)) %juhitavuse maatriksi astak else disp('C maatriks puudub!') end 5. Regulaatorite süntees diskreetajas. Q2=diag([1/(0.2*0.2) 0 1/(0.7*0.7) 0 10]) R2=5/(100*M*M) K2=lqr(A2, B2, Q2, R2) % Q2 ja K2 on laiendatud olekuvektoriga mudeli kaalumaatriksid, R2 on laiendatud olekuvektoriga mudeli juhitavuse maatriksi astak. pi_yregd %käsufail diskreetaja regulaatori sünteesiks PI_yreg.m käsufaili sisu: % PI järgivsüsteemi süntees DISKREETNE % Integraalne TS väljundi järgi (järgimiseks) + TS oleku järgi % {m} = väljundite arv % % U(k)=-K*X(k)+Ki*Z(k), Z(k)=Z(k-1)+Ys(k)-Y(k) % % ~ % X(k)=[Xe(k); Ze(k)] laiendatud süsteemi olekuvektor % % ~ ~ ~ ~ ~
-)l(J^v Gt.-d a,!-Y ! 3 *a PE!P ') '+i 8.fi.s_ € v ) d Y'A 'riOfJ a .ic., ts lqr(!-:v nr =z ca-o .d a U -}l.viwCl v4'=u '.)- v !