CATEGORII DOCUMENTE |
Utilizarea MATLAB pentru analiza sistemelor dinamice in domeniul timp si frecventa
Scopul lucrarii
Lucrarea prezinta principalele facilitati ale pachetului Control System Toolbox din Matlab pentru analiza raspunsurilor in timp si frecventa ale sistemelor dinamice liniare.
Obtinerea raspunsului in timp al sistemelor liniare permite analiza comportarii tranzitorii a acestora pentru diverse tipuri de intrari exogene (referinte si perturbatii), sau daca este cazul, a unor sisteme de reglare automata. Pot fi analizate astfel: timpul tranzitoriu, timpul de crestere, suprareglajul, eroarea stationara la referinta treapta, etc. Raspunsul in timp al sistemelor se determina prin intermediul functiei de transfer a sistemului (procesului) considerat.
Raspunsul in frecventa este reprezentarea raspunsului sistemului la intrari sinusoidale de frecvente diferite. Iesirea unui sistem liniar pentru o intrare sinusoidala este o sinusoida de aceeasi frecventa, dar de amplitudine si faza diferita. Raspunsul in frecventa este definit pe baza diferentei de amplitudine si de faza intre cele doua sinusoide, de intrare si de iesire. Raspunsul in frecventa al sistemului in circuit deschis poate fi folosit pentru aprecierea comportarii sistemului in circuit inchis.
2. Consideratii teoretice
Se considera un sistem dinamic pentru care se definesc intrarea u(t) si iesirea y(t) (figura 1).
|
Fig. 1
Transformata Laplace a functiei (raspunsului) pondere a unui sistem liniar
(1)
se numeste functia
de transfer a sistemului respectiv. Functia de transfer e
definita ca raportul transformatelor
(2)
in conditii initiale nule. Aceasta definitie pune in evidenta faptul ca functia de transfer este independenta de marimea de intrare si depinde numai de "proprietatile interne" ale sistemului.
Utilizarea
transformatei
(3)
unde coeficientii ai, bj, i= 0, ,,,n, j = 1, ., m sunt parametri constanti reali.
Relatia
(2) permite gasirea functiei de transfer direct din ecuatia
diferentiala. Utilizand teorema derivarii originalului si
aplicand transformata
(4)
Un proces descris de o ecuatie diferentiala liniara cu coeficienti constanti are deci o functie de transfer rationala.
Functiile de transfer ale unor elemente tip sunt urmatoarele:
Elementul de intarziere de ordinul I
unde
k = b0 / ao este factorul de proportionalitate, T =
a1 / a0 este
Elementul integrator
Elementul de ordinul II
unde z este factorul de amortizare, wn este pulsatia naturala.
Modelele unor procese (de exemplu, cele cu "timp mort") pot fi reprezentate si prin alte tipuri de functii de transfer, cum ar fi:
Elementul cu timp mort
Elementul de intarziere de ordinul I cu timp mort
Daca
transformata Laplace U(s) a functiei de intrare este o functie
rationala, atunci si Y(s) este o functie rationala. In
acest caz, functia de iesire y(t) (raspunsul in timp al
sistemului) se gaseste prin aplicarea transformarii inverse
(5)
utilizand metoda reziduurilor sau descompunerea in fractii simple.
Control System Toolbox ofera functii pentru obtinerea raspunsului la intrare de tip treapta, impuls, in continuu sau discret utilizand functia de transfer a unui proces (sistem dinamic).
Step |
Raspunsul la intrare de tip treapta al unui sistem continuu |
Dstep |
Raspunsul la intrare de tip treapta al unui sistem discret |
Impulse |
Raspunsul la intrare de tip impuls al unui sistem continuu |
Dimpulse |
Raspunsul la intrare de tip impuls al unui sistem discret |
Lsim |
Simularea comportarii sistemului continuu pentru intrari arbitrare |
Dlsim |
Simularea comportarii sistemului discret pentru intrari arbitrare |
Raspunsul in frecventa al unui sistem liniar cu functia de transfer in circuit deschis Hd(s) este definit ca fiind:
(6)
Raspunsul in frecventa poate fi reprezentat in doua moduri: sub forma de diagrama Bode (caracteristici logaritmice de frecventa figura 2a)) sau diagrama Nyquist (locul de transfer sau hodograful, figura 2b)). Ambele metode permit obtinerea aceleiasi informatii, diferenta consta in modul in care este prezentata aceasta informatie. Pentru a trasa caracteristicile de frecventa in reprezentare logaritmica (Bode) se creeaza un vector de frecvente cu ajutorul functiei Matlab logspace si se calculeaza valorile functiei de transfer |Hd(jw)| la aceste frecvente prin apelul functiei Bode (conform ecuatiei (6)). Se reprezinta |Hd(jw)|dB in functie de frecventa.
Similar se pot reprezenta si caracteristicile de tip loc de transfer Nyquist prin apelul functiei Matlab cu acelasi nume - nyquist(num, den, w).
In analiza de frecventa se mai definesc:
marginea de amplitudine sau de "amplificare" a sistemului in circuit deschis
(7)
unde wp este pulsatia pentru care arg(Hd(jw p (adica Im(Hd(jw
marginea de faza a sistemului in circuit deschis
(8)
unde wc este pulsatia pentru care |Hd(jw
Analiza stabilitatii sistemului in circuit inchis se poate face pe baza caracteristicilor de frecventa ale sistemului in circuit deschis, A(w) = |Hd(jw)| si j w) = arg(Hd(jw)). Putem defini doua caracteristici logaritmice de frecventa (Bode):
caracteristica amplitudine (atenuare) / pulsatie
(9)
(10)
caracteristica faza / pulsatie
(11)
b) |
Fig. 2 a) Caracteristicile de frecventa amplitudine/pulsatie si faza/pulsatie,
b) Locul de transfer
Control System Toolbox ofera functii pentru trasarea caracteristicilor logaritmice de frecventa. Aceste functii disponibile in Matlab sunt urmatoarele:
Bode |
Obtinerea raspunsului in frecventa pentru un sistem liniar continuu |
Dbode |
Obtinerea raspunsului in frecventa pentru un sistem liniar discret |
Nichols |
Obtinerea diagramei Nichols pentru un sistem continuu |
Dnichols |
Obtinerea diagramei Nichols pentru un sistem discret |
Nyquist |
Obtinerea locului de transfer Nyquist pentru un sistem liniar continuu |
Dnyquist |
Obtinerea locului de transfer Nyquist pentru un sistem liniar discret |
3. Desfasurarea lucrarii
In lucrare se vor analiza raspunsurile in timp si frecventa ale sistemelor liniare.
3.1 Obtinerea raspunsului in timp al sistemelor liniare
Se considera sistemul liniar reprezentat prin functia de transfer:
(12)
se defineste functia de transfer prin vectorii coeficientilor numaratorului si numitorului (num si den) pentru diferite valori ale parametrilor z si wn
omega = 1;
zeta1 = 0; zeta2 = 0.5;
zeta3 = 1; zeta4 = 3;
num = [omega^2];
den1 = [1 2*zeta1*omega omega^2];
den2 = [1 2*zeta2*omega omega^2];
den3 = [1 2*zeta3*omega omega^2];
den4 = [1 2*zeta4*omega omega^2];
se obtine raspunsul indicial (raspunsul la intrare treapta), figura 3
t = 0:0.1:35;
y1 = step(num, den1, t);
y2 = step(num, den2, t);
y3 = step(num, den3, t);
y4 = step(num, den4, t);
se obtine raspunsul la impuls (figura 4)
y_imp = impulse(num, den2, t);
figure(1)
pos = get(1, 'Position');
set(1,
'Position', [pos(1) pos(2) 600 400],
'NumberTitle', 'off',
'Name', 'Raspuns indicial')
plot(t,y1,t,y2,t,y3, t, y4)
grid
title('Raspuns indicial sistem ordin II')
xlabel('Timp')
figure(2)
pos = get(2, 'Position');
set(2,
'Position', [pos(1) pos(2) 600 400],
'NumberTitle', 'off',
'Name', 'Raspuns la impuls')
plot(t, y_imp), grid
title('Raspunsul la impuls al sistemului de ordinul II')
xlabel('Timp')
se determina raspunsul in timp pentru intrari oarecare (de exemplu, sinusoidale)
omega = 0.3;
num = 1;
den = [1 0.5 1];
t = 0:0.1:100;
u = sin(omega*t); % intrare sinusoidala
y = lsim(num, den, u, t);
plot(t,y,'b',t, u, 'r')
axis([50, 100, -2, 2])
se determina raspunsul echivalentului discret al sistemului reprezentat de ecuatia (12) la intrare de tip treapta unitara
[numd, den2d] = c2dm(num, den2, 0.1, 'zoh');
N = 351;
y2_d = dstep(numd, den2d, N);
Fig. 3 Raspunsul indicial al sistemului de ordinul II
1) raspuns neamortizat oscilant (x
2) raspuns oscilant amortizat (x
3) raspuns amortizat critic (x
4) raspuns aperiodic (x
Fig. 4 Raspunsul la impuls al sistemului
de ordinul II
3.2 Obtinerea raspunsului in frecventa al sistemelor liniare
Se considera sistemul liniar continuu invariant in timp reprezentat prin urmatoarea functie de transfer:
(13)
Se traseaza caracteristicile logaritmice de frecventa si se calculeaza marginea de faza Pm (Phase margin) si marginea de amplificare Gm (Gain margin):
num = 50; % coeficientii polinomului de la numaratorul functiei de
% transfer
den = [1 9 30 40]; % coeficientii polinomului de la numitorul
% functiei de transfer
w = logspace(-1, 2); % intervalul de frecvente intre care se face
% trasarea caracteristicii
[ampl, faza] = bode(num, den,w); % calculul caracteristicilor
% logaritmice de frecventa
subplot(211), loglog(w, ampl), grid
title('Caracteristica amplitudine - pulsatie')
subplot(212), semilogx(w, faza), grid
title('Caracteristica faza - pulsatie')
xlabel('Pulsatia (scara logaritmica)')
val = [w; ampl'; faza'];% pentru determinarea marginii de amplitudine
% si marginii de faza trebuie a fi
% determinate frecventele wc si wp si
% valorile lui A(w) si j w
margin(50, [1 9 30 40]) % calculeaza direct marginile de amplitudine
% si de faza precum si pulsatiile wp
% respectiv wc (figura 5)
Fig. 5
Determinarea largimii de banda a sistemului in circuit inchis
In regim stationar cu semnale de referinta sinusoidale de frecventa variabila se impune performanta largimii de banda wB, care exprima caracteristica de filtru trece jos a sistemului in circuit inchis, valoarea wB corespunzand relatiei (14):
(14)
respectiv relatiei
(15)
unde H0(s) este functia de transfer a sistemului in circuit inchis.
Se considera urmatoarea functie de transfer:
se reprezinta sistemul in MATLAB
> num = [1];
> den = [1 0.5 1];
se determina largimea de banda din diagrama Bode (figura 6)
> bode(num, den)
|
Fig. 6
Pentru sistemul in circuit inchis considerat se obtine largimea de banda egala cu aproximativ 1.4 rad/s (frecventa corespunzatoare unei amplificari de -3 db).
Se simuleaza raspunsul sistemului pentru frecvente mai mici, respectiv mai mari decat largimea de banda:
a. pentru o frecventa de intrare de aproximativ 0.3 rad/s
w = 0.3;
num = 1;
den = [1 0.5 1];
t = 0:0.1:100;
u = sin(w*t);
y = lsim(num, den, u, t);
plot(t,y,'w-',t,u,'y--')
axis([50, 100, -2, 2])
Fig. 7a)
b. pentru o frecventa de intrare de aproximativ 3 rad/s
w = 3;
num = 1;
den = [1 0.5 1];
t = 0:0.1:100;
u = sin(w*t);
y = lsim(num, den, u, t);
plot(t,y,'w-',t,u,'y--')
axis([90, 100, -1, 1])
Fig. 7b)
3.3 Trasarea caracteristicilor de frecventa pentru procese cu timp mort
Se considera un proces de ordinul intai cu timp mort reprezentat prin urmatoarea functie de transfer:
(16)
Pentru simularea acestui sistem se vor executa urmatorii pasi:
a. reprezentarea procesului si a domeniului de frecvente:
kf = 1.5;
tf = 10;
tau = 20;
num1 = [0 kf];
den1 = [tf 1];
w = logspace(-5, 0.5, 70);
b. calculul raspunsului in frecventa pe intervalul de frecvente considerat
g1 = freqresp(num1, den1, sqrt(-1)*w);
c. calculul realului si imaginarului pentru procesul fara timp mort, H'd(s)
x1 = real(g1);
y1 = imag(g1);
d. calculul caracteristicilor logaritmice de frecventa pentru procesul fara timp mort, H'd(s)
[a, fi] = bode(num1, den1, w);
e. calculul caracteristicilor de frecventa si al hodografului pentru procesul cu timp mort, Hd(s)
for i=1:length(w)
%calculeaza Re1 si Im1 pentru H'd fara timp mort
Re1(i) = x1(i);
Im1(i) = y1(i);
% calculeaza Re2 si Im2 pentru Hd cu timp mort
Re2(i) = Re1(i)*cos(w(i)*tau) + Im1(i)*sin(w(i)*tau);
Im2(i) = -Re1(i)*sin(w(i)*tau) + Im1(i)*cos(w(i)*tau);
% cercul de raza unitate
x3(i) = sin(w(i));
y3(i) = cos(w(i));
% caracteristica amplitudine (atenuare) / pulsatie
marg_amplit(i) = a(i);
% caracteristica faza / pulsatie
marg_faza(i) = fi(i) - w(i)*tau*360/3.14;
modul_Hd(i) = sqrt(Re2(i)^2 + Im2(i)^2);
arg_Hd(i) = (180/3.14)*atan(Im2(i)/Re2(i));
end;
f. afisarea rezultatelor (figura 8)
subplot(311), loglog(w, marg_amplit), title('Caracteristica amplitudine / pulsatie'), grid
subplot(312), semilogx(w, marg_faza), title('Caracteristica faza / pulsatie'), grid
subplot(313), plot(Re2(1:1:60), Im2(1:1:60),'g'), title('Locul de transfer (hodograful)'), grid
Fig. 8 Caracteristicile logaritmice de frecventa si hodograful
unui proces de ordinul I cu timp mort
Se considera un proces cu timp mort pur reprezentat prin urmatoarea functie de transfer:
(17)
Se foloseste urmatoarea secventa de instructiuni Matlab pentru obtinerea caracteristicilor logaritmice de frecventa si a hogografului (figura 9):
Fig. 9
4. Continutul referatului
Referatul va contine
Sa se realizeze simularile corespunzatoare punctelor 3.1, 3.2 si 3.3 pentru analiza in timp si frecventa. Sa se analizeze rezultatele obtinute. Apreciati |H| si j la frecventele respective (figurile 7a si 7b), comparati-le cu valorile rezultate din figura 6.
Cum influenteaza modificarea factorului de proportionalitate in regim stationar forma caracteristicilor de frecventa (figura 5)? Considerati factor de proportionalitate mai mare de 100 ori.
Sa se analizeze comportarea in timp si in frecventa a sistemului de ordinul I, avand functia de transfer pentru diferite valori ale parametrilor (k =1, k = 10; T = 1 secunda, T = 10 secunde).
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 14394
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved