„Szabályozástechnika - Diszkrétidejű állapotteres szabályozók tervezése” változatai közötti eltérés

David14 (vitalap | szerkesztései)
David14 (vitalap | szerkesztései)
294. sor: 294. sor:


<syntaxhighlight lang="matlab" style="font-size: 140%;">
<syntaxhighlight lang="matlab" style="font-size: 140%;">
% Az integráló szabályzó célja a zavarelnyomás és a paraméterbizonytalanságok kiküszöbölése. Ezt úgy érjük el,
% hogy új állapotként felvesszük a kimenet integrálját: xI = integrál (0->t) y(tau) dtau
% Ebből a baloldali téglalap szabályt (LSR) alkalmazva: xI[k+1] = xI[k] + T*y[k] = xI[k] + T*C*x[k]
% Ezzel már felírhatók a kibővített rendszer állapotegyenletei:
%
% ( x[k+1]  )  ( Phi  0 )  ( x[k]  )  ( Gamma )
% ( xIfk+1] ) = ( T*C  1 ) * ( xI[k] ) + (  0  ) * u[k]
%
%                            ( x[k]  )
%    y[k]    = ( C  0 )  * ( xI[k] )
%
% Új jelöléseket bevezetve a kibővített rendszerünk állapotegyenletei:
%
% xi[k+1] = Phii * xi[k] + Gammai * u[k]
%  y[k]  = Ci  * xi[k]
%
% Most ehhez a kibővített rendszerhez kell egy új Ktilde = [Kt Ki] állapot-visszacsatolást megterveznünk.
% Az integráló hatást is tartalmazó szabályzó hatásvázlata:
% Az integráló hatást is tartalmazó szabályzó hatásvázlata:
</syntaxhighlight>
</syntaxhighlight>
302. sor: 320. sor:


% A kibővített rendszer mátrixai
% A kibővített rendszer mátrixai
% n*1-es nullmátrix, a végén fixen 1 darab egyes (SISO)
Phii=[Phi zeros(2,1);C*Ts 1]; % Az első sorban n*1-es nullmátrix
Phii=[Phi zeros(2,1);C*Ts 1];
                              % A második sorban fixen 1 darab nulla (SISO)
Gammai=[Gamma;0];
Gammai=[Gamma;0];             % Fixen 1 darab nulla a végére


% Az integrátor állapotának s=-3-nak megfelelő sajátértéket írunk elő
% Az integrátor állapotának s = -3 folytonosidejű pólusnak megfelelő sajátértéket írunk elő
phictilde=[zdom1 zdom2 exp(-3*Ts)];
phictilde=[zdom1 zdom2 exp(-3*Ts)];


313. sor: 331. sor:


% Az állapotvisszacsatolás vektorának felbontása
% Az állapotvisszacsatolás vektorának felbontása
Kt=Ktilde(1:2); % Annyi eleme van, ahány valódi állapotunk
Kt=Ktilde(1:2); % Annyi eleme van, ahány valódi állapotunk (n)
Ki=Ktilde(3);  % Skalár  
Ki=Ktilde(3);  % Skalár  


% A megfelelő Simulink-modell megnyitása
% A megfelelő Simulink-modell megnyitása
open('discrete_5');
open('discrete_5');
% Ebben nincs terhelésbecslő, hiszen mind a terhelésbecslő, mind
% Vigyázat ez itt a terhelésbecslő nélküli modell továbbfejlesztése.
% az integrátor zavarelnyomási célokat szolgál, így a kettő együtt felesleges
% Az integráló szabályozás is a bemenetre szuperponálódott zavarjelek kiküszöbölésére való.
% Itt Nu helyett egy Ki erősítés van és egy integrátor, valamint K helyett Kt !!!


% Várakozás billentyűlenyomásra
% Várakozás billentyűlenyomásra