Sunteți pe pagina 1din 6

Introducere in Automatica – Laboratorul Nr 2

Observatie: Se va folosi ca mediu de programare interpretorul MATLAB lansat prin comanda:

. . . . . . . . .REPREZENTAREA PRIN FUNCTII DE TRANSFER.


Analiza în domeniul timpului

1. Raspunsul in domeniul timp


Un sistem dinamic liniar continuu invariant in timp, cu marimea de intrare u(t) si marimea de iesire y(t), are ca
model matematic corespondent o ecuatia diferentiala liniara de ordinul n cu coeficienti constanti si reali, de
tipul:
(1) an*y^(n) +.......+a0*y(t) = bm*u^(m) +........+ b0*u(t), cu n³m (sistem realist);
O descriere echivalenta a sistemului, pentru CONDITII INITIALE NULE, este prin functia de transfer:
Y(s) bm *s^m+............+b0 Q(s)
(2) G(s)=----- = ----------------------------- -= ------,
U(s) an*s^n+............+a0 P(s)
unde Y(s) si U(s) sunt transformatele Laplace ale lui y(t) ºi u(t), iar P(s) si Q(s) sunt polinoame cu coeficienti
reali, de variabila complexa.
Se spune ca functia de transfer este de ordinul n ( gradul lui P(s)).

Pentru sisteme strict realiste (care exista in realitate) grP(s) > grQ(s). Daca aceasta conditie nu este indeplinita
nu se poate gasi un sistem real corespunzator acestui model.
Radacinile lui P(s) se numesc polii sistemului. Radacinile lui Q(s) se numesc zerourile sistemului.

Raspunsul in domeniul timpului al sistemului descris de (1), (2) reprezinta iesirea y(t), t>=0, calculata pentru
u(t) cunoscut in domeniul t>=0.
In studiul sistemelor intervin raspunsuri tipice, definite pentru forme particulare ale semnalului de intrare:
a)Rãspunsul indicial - raspunsul sistemului(1), (2) in domeniul timpului, pentru conditii initiale nule si semnal
de intrare de tip treapta unitara.
b)Raspunsul la impuls - raspunsul sistemului(1), (2) in domeniul timpului, pentru conditii initiale nule si semnal
de intrare de tip impuls Dirac.
c)Raspunsul la semnal sinusoidal - raspunsul sistemului(1), (2) in domeniul timpului pentru conditii initiale nule
si un semnal de intrare sinusoidal de tipul u(t)=A * sin(wt+f), A>0,w>0.
Evident raspunsul in domeniul timpului poate fi determinat analitic, deci ca o functie explicita de timp pentru
t>=0, posibil de reprezentat grafic pe un interval de timp [t1,tn].

1.1 Metoda analitica de calcul al raspunsului


1.1.1 Pe baza modelului tip (1)
Se rezolva ecuatia diferentialã de tip 1

1.1.2 Pe baza funcþiei de transfer


Se foloseste transformata Laplace - mai simplu, asa cum este prezentat in continuare:
Pasul 1. Se detemină transformata Laplace a răspunsului sistemului Y ( s )  G ( s )  U ( s )
Pentru calculul lui U(s) prezentăm mai jos un tabel de transformate Laplace , precizăm că funcţiile de intrare
care se aplică în general sistemelor nu pun probleme în determinarea lui U(s) (tab. 1)
u(t ) U ( s)
k
k  (t )
s 1
(t ) 1 , a  e at
 s  a
sin( t )
s  2
2 1 t n 1
s n , a ; n  N  e at
cos( t ) 2 ( s  a ) ( n  1)!
s  2 Tabel 1 b  at
e sin( bt )
(s  a ) 2  b 2
sa
e at cos( bt )
(s  a ) 2  b 2

Tabel 2
Pasul 2. Se descompune Y(s) în fracţii simple şi se calculează constantele ce intervin la numărătorul fracţiilor
simple.
Notez:
M ( s)
Y ( s) 
N ( s)
unde M(s) şi N(s) sunt polinoame de variabilă complexă, cu coeficienţi reali.
Fracţiile simple se aleg după rădăcinile lui N(s), astfel:
a) pentru o rădăcină (notată p) de multiplicitate 1 , fracţia simplă corespunzătoare este:
A
; A  lim [Y ( s)  ( s  p )]
s p s p
b) pentru o rădăcină (notată p) de multiplicitate q  1, q  N , fracţiile simple corespunzătoare sunt:
A1 A2 Aq
; ;............;
s  p ( s  p )2 ( s  p )q
unde:
1 d q i
Ai  [ Y( s )  ( s  p )q ] s p , i  1,2 ,.. , q
q  i ds
Dacă N(s) are o două rădăcini complexe, conjugate, de multiplicitate 1, acestea se pot grupa şi fracţia simplă
corespunzătoare lor este:
Bs  C Bs  C
 ; a , b 
( s  p )( s  p ) ( s  a )2  b2
unde B şi C se obţin prin metoda identificării coeficienţilor.
Pasul 3. Se calculează y(t) folosind inversa transformatei Laplace pentru Y(s) obţinut ca sumă de fracţii simple.
Este util în acest scop tabelul 2.
Dacă N(s) admite o rădăcină complexă , atunci sigur admite şi rădăcina complexă conjugată, deoarece N(s) are
coeficienţi reali. Atunci se pot grupa in perechi termenii corespunzători acestor rădăcini şi prelucra pe baza
formulelor:
e  jat  e jat e  jat  e jat
 cos( at ); a ;  sin( at ); a 
2 2j
aşa cum se va arăta în exemplele următoare.
Observaţie: Se obţine astfel răspunsul y(t) pentru t > 0; pentru t < 0 , y(t) = 0 pe baza principiului cauzalităţii
( u(t) = 0 pentru t < 0).

1.2 Exerciþii rezolvate (metoda analiticã):


1
1)Sistemul 1: G1 ( s ) 
s 1
a) Răspunsul la intrarea u1 ( t )   ( t ) (numit răspuns indiceal)
Pasul 1:
1
H ( s) 
s ( s  1)
Pasul 2:
A B
H ( s)  
s s 1
unde:
A  lim[ sH ( s)]  1; B  lim [( s  1)  H ( s)]  1
s 0 s 1
Se obţine:
1 1
H ( s)  
s s 1
Pasul 3:
h ( t )  L1 ( H ( s ))
Folosind tabelul 2, se obţine:

L1 1   at
  e , a 

sa
Deci :
 t
h ( t )  1  e ,t  0
0, t  0

b) Răspunsul la intrarea u2 ( t )   ( t ) (răspuns la impuls).


1  t
G ( s)   g ( t )  e , t  0
s1 0, t  0
c) Răspunsul la intrarea u3 ( t )  sin t
1 1 A B C
Y ( s)     
s  1 s2  1 s  1 s  j s  j
unde:
1 1 0.5
A  lim  0.5; B  lim   0.25  ( 1  j );
s1 s 21 s j ( s  j )( s  1) j 1
1 0.5
C  lim   0.25  (  j  1)
s j ( s  j )( s  1) j 1
Deci:
y (t )  0.5e  t  0.25 j (e  jt  e jt )  0.25( e jt  e  jt )
y (t )  0.5e  t  0.5 sin t  0.5 cos t ; t  0
1
2) Sistemul G3 ( s ) 
( s  1)( s  2 )2
Răspunsul la intrarea u2 ( t )   ( t ) (răspuns la impuls).
A B C
G ( s)   
s  1 s  2 ( s  2 )2
A  lim [G ( s)  ( s  1)]  1; C  lim [G ( s)  ( s  2) 2 ]  1
s1 s2
d 1
B  lim [G ( s)  ( s  2) 2 ]   s 2  1
s2 ds ( s  1) 2
Deci:
1 1 1
G ( s)   
s  1 s  2 ( s  2 )2
g ( t )  e t  e 2t  te 2t ; t  0
1
3) Sistemul G5 ( s ) 
2
s  s 1
Răspunsul la intrarea u1 ( t )   ( t ) (numit răspuns indiceal)
1 As  B
H( s )  
2
s s  s1
Prin metoda identificării coeficienţilor se obţine
1  A  0  A  1
1  B  0   B  1 .
 

Deci:
0. 75
( 0. 5  1)
1  ( s  0.5) 0. 75
H ( s)   
s ( s  0.5) 2  0. 75 ( s  0.5)2  0. 75
3 1 3
h ( t )  e  t  e 0.5t (  cos t sin t ); t  0
2 3 2
1
4)Sistemul VIII: G ( s ) 
( s2  1) 2
Răspunsul la intrarea u2 ( t )   ( t ) (răspuns la impuls).
1 A C B D
G ( s)     
( s  j )2 ( s  j )2 s  j ( s  j )2 s  j ( s  j )2
unde:
d  1  1 d  1  1
A   ;B     
ds  ( s  j ) 
2 4j ds  ( s  j ) 
2 4j
s  j s j
1 1
C  0.25; D   0.25
( s  j)2 s  j (s  j)2 s j
Se obţine:
1 jt
g(t )  ( e  e  jt )  0. 25t ( e jt  e jt ); t  0  g ( t )  0.5 sin t  0.5t cos t ; t  0
4j
Observaþii:
- daca sistemul admite doar poli cu parte realã strict negativa, raspunsul sistemului va avea, dupã un anumit timp
(interval numit regim tranzitoriu) o forma asemãnãtoare cu intrarea (intra în regim permanent); deci pentru astfel
de sisteme rãspunsul indicial tinde la o constantã, rãspunsul la impuls tinde la zero.
- daca sistemul admite poli complecsi raspunul indicial si la impuls sunt oscilante; daca sistemul admite doar
poli reali cu parte reala strict negativa si poli complecºi, rãspunsul indicial si la impuls sunt oscilant amortizate.
- daca sistemul admite doar poli reali, raspunsul indicial si la impuls sunt aperiodice.

2. Simularea sistemelor dinamice liniare continue cu ajutorul MATLAB


Domeniul de definitie al lui y(t) este intervalul (0, ¥).In matlab, din intervalul continuu de valori ale timpului,
pot fi retinute un numar finit de valori: t=[t 1 t2 t3 ......tn]. Atunci functiile de intrare si de iesire vor fi
reprezentate prin vectori de forma:
u=[u(t1) u(t2) u(t3)........u(tn)]= [u1 u2 u3 ........un]
y=[y(t1) y(t2) y(t3)........y(tn)]= [y1 y2 y3 ........yn]
Functiile matlab care calculeaza si returneaza iesirea sistemului pentru anumite intrari solicita construirea
urmatorilor vectori:
-doi vectori necesari pentru descrierea in mod unic a sistemului modelat de (2):
- un vector corespunzator polinomului Q(s) de la numaratorul functiei de transfer: num = [bm bm-1 ....... b0]
- un vector corespunzator polinomului P(s) de la numitorul functiei de transfer: den = [an an-1.........a0]
- vectorul de timp t care sa precizeze momentele de timp la care este calculata iesirea sistemului: t=[t1 t2 t3 ......tn]
- vectorul de intrare u : la momentele de timp indicate prin vecorul t este necesara precizarea intrarii.
u=[u(t1) u(t2) u(t3)........u(tn)]= [u1 u2 u3 ........un] ;daca intrarea este de tip treapta sau impuls Dirac se
recomanda folosirea functiilor matlab step, impulse care isi construiesc automat vectorii de intrare necesari.
In general punctele din vectorul timp se plaseaza echidistant in intervalul [t l tn].
t=[t1 t2 t3 ......tn] = [t1 + 0*p t1 +p.....t1+(n-1)*p], unde
p=pas de simulare
t1+(n-1)*p=tn.
Acesti vectori vor fi argumente pentru functiile matlab cu ajutorul carora vom determina raspunsul in domeniul
timpului pentru sistemele de tipul (2). Aceste functii matlab vor returna vectorul de iesire y=[y(t1)
y(t2) .....y(tn)]
2.1 Indicatii asupra modului de alegere a vectorului de timp:
t=[t1 t2 t3 ......tn] = [t1 + 0*p t1 +p.....t1+(n-1)*p], unde
p=pas de simulare
t1+(n-1)*p=tn.
Vectorul de iesire va fi [y(t1) y(t2)....y(tn)]
Simularea sistemelor dinamice cu ajutorul MATLAB-ului solicita alegerea unui interval de timp marginit de
simulare [t1,tn], cu t1 si tn finiti, interval pe care se urmareste comportarea sistemului. In acest interval se
alege un numar finit de puncte de simulare (puncte in care va avea loc esantionarea semnalelor), in general
echidistante. In acest caz,
distanta dintre doua puncte de simulare succesive se va numi pas de simulare.
Trebuie stabilite lungimea intervalului de simulare si pasul de simulare in asa fel incit simularea sa ne furnizeze
toate informatiile importante despre iesirea sistemului si sa nu fie greoaie.
- cu cit nr. punctelor de simulare este mai mare cu atit simularea va fi mai fidela sistemului real, fiind surprinse
(sesizate) toate variatiile lui y(t); dar simularea va implica in aceste situatii un consum mare de memorie si o
viteza mica de lucru ca urmare a unui numar mult mai mare de calcule ce trebuie efectuate.
- daca numarul de puncte de simulare este prea mic, se pot obtine infomatii eronate (incomplete) despre evolutia
sistemului.
Se pune problema cum putem gasi un optim intre aceste doua tendinte divergente. Pentru a nu denatura printr-un
calcul numeric prost conditionat raspunsul simulat fata de forma analitica va vom oferi citeva sugestii de alegere
a pasului de esantionare si a marimii intervalului de esantionare.
- pasul de esantionare: pasul p se alege in functie de polul de modul maxim, dupa formula:
1
p < (-----------------) (3)
3*abs(pol)
Pentru a explica aceasta formula amintim la raspunsul in domeniul timpului sistemul este de fapt o superpozitie
de exponentiale de tipul:
e^(pol)*t, (4)
Raspunsul este corect obtinut daca variatia tuturor aceste exponentiale este surprinsa in suficiente puncte.
Daca polul are parte reala strict negativa, exponentiala (4) tinde la zero. Alegind pasul de simulare dupa formula
(3), chiar si exponentiala cea mai rapida (corespunzatoare polului de modul maxim) este surprinsa in trei puncte
de simulare pina se anuleaza.
De exemplu dac polul de modul maxim este real, strict negativ , scaderea exponentialei (4) corepunzatoare
acestui pol este surprinsa in trei pct pe intervalul de valori (0.2;1)
t1=0: e^(pol*t1) = e^0 = 1
t2=p: e^(pol*t2) > e^(-0.33) = 0.7165
t3=2p: e^(pol*t3) > e^(-0.66) = 0.5134
t4=3p: e^(pol*t4) > e^(-1) = 0.367
Pentru polii complecsi, exponentialele (4) se rescriu:
e^(pol*t)= e^(Repol*t) * e^(j*Imagpol*t)
unde partea reala va influenta amplitudinea oscilatiilor, iar partea imaginara va influenta perioada oscilatiilor.
Cu cit abs(Repol) este mai mare, cu atit amplitudinea oscilatiilor variaza mai rapid la inceputul simularii si deci
avem nevoie de un pas mai fin pentru a urmari corect raspunsul, cu cit abs(Imagpol) este mai mare, cu atit
perioada oscilatiilor este mai mica si avem nevoie de un pas mai fin pentru a urmari corect raspunsul sistemului.
De aceea am descris alegerea pasului de simulare folosindu-ne de modulul polilor, care inglobeaza atit variatia
lui abs(Realpol) cit si variatia lui abs(Imag(pol)).
- lungimea intervalul de simulare [ t1 tn]
Se alege de lungime suficient de mare astfel incit sistemul sa fie atins regimul permanent de functionare (cind
acesta exista). De regula se prefera ca regimul permanent sa fie reprezentat pentr aproximativ o treime din
intervalul se
simulare (in regimul tranzitoriu pe doua treimi : lungimea intervalului de simulare = 1.5* timpul de raspuns al
sistemului
Daca lungimea intervalului de simulare este prea mare, regimul tranzitoriu ajunge sa fie descris pentru o
portiune a intervalului de simulare care sa reprezinte procentual prea putin din lungimea totala a intervalului de
simulare.
In acest caz in reprezentarea grafica a marimii de iesire, regimul tranzitoriu va fi inghesuit pe o portiune prea
mica si performantele de regim tranzitoriu vor fi greu de urmarit.
Cu titlu orientativ va puteti folosi de formula:
1
tn > 4* ------------ (5)
abs(Repol)
in care se considera polul de parte reala minima in modul.
Aceasta lungime a intervalului de simulare asigura, intuitiv, suficient timp pentru a se stinge si cea mai lenta
exponentiala din raspunsul sistemului (corespunzatoare polilor cu parte reala strict negativa).
In final, vectorul de timp de simulare se retuseaza prin incercari repetate, plecind de la cele enuntate anterior.
Se mareste numarul punctelor de simulare pina cind in reprezentarea grafica a lui y(t) veti obtine un aspect de
functie neteda (fara puncte de fringere). Se ajusteaza lungimea intervalului de simulare pina cand regimul
tranzitoriu si permanent sunt reprezentate in proportii convenabile.
Lansati programul demonstrativ esant.m pentru a urmari pe un exemplu ce se obtine printr-o alegere gresita a
vectoului de timp t.

2.2 Functii pentru calcularea in Matlab a raspunsului sistemului in domeniul timp:


a)step
efect: calculeaza raspunsul indicial al sistemului
argumente: num, den,T
returneaza: vectorul de iesire
y=[y(0) y(p) ....y(qp)]'
Sintaxa: y=step(num,den,T);
b)impulse
efect: calculeaza raspunsul sistemului la o intrare de tipimpuls Dirac
argumente: num, den,T
returneaza: vectorul de iesire
y=[y(0) y(p) ....y(qp)]'
Sintaxa:y=impulse(num,den,T);
c)lsim
efect: calculeaza raspunsul sistemului la o un semnal de intrare oarecare u
argumente: num, den,T, u
returneaza: vectorul de iesire
y=[y(0) y(p) ....y(qp)]'
Sintaxa:y=lsim(num,den,u,T);
Reamintim ca u=[u(0) u(p)......u(qp)]'
Obs: cu ajutorul functiei plot (t, y, 'w') puteti reprezenta grafic iesirea sistemului.

2.3Exerciþii rezolvate în Matlab


Exercitiul 1
Pentru sistemul dinamic liniar:
1
G ( s) 
5s  1
reprezentati grafic raspunsul sistemului la semnalul de intrare de tip treapta, impuls Dirac si la un semnal de
intrare sinusoidal de forma u(t)=sin(0.8 t)
Rezolvare:
num =[1];den=[5 1]; %Descriere sistem:
T= 0:0.1:25; %Alegerea vectorului de timp T (polul este 0.2 ºi din formulele 5 si 3 aleg pas=0.1 si tn=25)
g = impulse(num,den,T); %Determinarea raspunsului la impuls
h = step(num,den,T); %Determinarea raspunsului indicial
clg,subplot(211),plot(T,h,'w'),grid,plot(T,g,'w'),grid; % graficele pentru raspunsul la impuls si raspunsul indicial:
%Determinarea raspunsului la semnalul u precizat:
u = sin(0.8*T);y = lsim(num,den,u,T);clg, plot(T,y,'w');
Se remarca faptul ca in regimul permanent acest sistem copie forma semnalului de intrare (raspunsul la impuls
tinde la zero, raspunsul indicial tinde catre o constanta, raspunsul la o intrare sinusoidala tinde catre o
sinusoida). Acest lucru se intampla deoarece polii sistemului (p=-0.2) sunt cu parte reala strict negativa (p=-0.2
< 0) Raspunsurile indicial si la impuls sunt aperiodice deoarece polul sistemului este real.
Exercitiul 2
Determinati familia raspunsurilor indiciale pentru sistemul.
wn2
G ( s)  2 cu : wn = 2.5 ºi parametrul a= 0; 0.2; 0.4, 0.6, 0.8,1 ,
s  2 awn s  wn2
Reprezentati grafic aceasta familie de raspunsuri:
Rezolvare
Metoda i)
clear;t = 0:0.05:10;a = 0:0.2:1;
for i=1:6, den(i,:)=[1 2*a(i)*2.5 2.5^2]; end;
(fiecare linie din matricea den va contine coeficientii din polinomul polilor pentru o valoare a )
for i=1:6, H(:,i)=step([2.5^2],den(i,:),t);end;
(fiecare coloana din matricea H va contine raspunsul indicial al sistemului pentru o valoare a )
clg, plot(t,H,'w'), grid;
(graficele sunt trasate pentru toate valorile lui a in acelasi sistem de axe)
Metoda ii)
t=0:0.05:10;
for i=1:11, H(:,i)=step([2.5^2],[1 (i-1) 2.5^2],t);end;
clg, plot(t,H,'w'), grid;
Atentie ca in acest caz se va reprezenta grafic h si pentru valori mai mari decit 1 ale lui a.
Pentru a=0 raspunsul indicial este o sinusoida neamortizata (nu copie intrarea in regim permanent deaorece
sistemul admite poli cu parte reala nula si exponentialele acestora nu tind la zero). Pentru 0<a<1, raspunsul
indicial este oscilant amortizat (poli complecsi, conjugati).Pentru a>=1, raspunsul indicial este aperiodic - fara
componente oscilatorii (polii sunt reali).

3. Probleme propuse
Problema 1
Calculati analitic si in Matlab raspunsul indicial, raspunsul la impuls si rãspunsul la intrarea u(t)=sin2t,t>0
pentru urmatoarele sisteme:
s 1 1 1
G ( s)  2
; G ( s)  2 ; G ( s) 
( s  2) s s3 ( s  1)( s  10)
Atentie la modalitatea de determinare a intervalului de simulare si a pasului de distribuire a punctelor de
simulare.
Notati vectorii de timp pe care v-ati decis sã le folositi.
Problema 2
Fie sistemul electric din fig. 1. Se considera ca
mãrime de intrare (cauza) tensiunea electricã notatã
U ºi ca mãrime de ieºire tensiunea electricã notatã Y.
Cum se va comporta sistemul sub acþiunea unei R2
intrãri constante u(t)=s(t), pentru cazul: C=1mF; C C
R1=R2=1MW, ºtiind cã modelul sistemului de tip U Y
funcþie de transfer este: R
1

Figura 1

1  2 R1Cs  R1R2 C 2 s2
G ( s) 
1  ( 2 R1  R2 )Cs  R1R2 C 2 s2
Cum se va modifica rãspunsul sistemului atunci când se dubleazã valoarea lui R1? Se modificã valorile lui y(t) în
regim permanent? Dar pe durata regimului tranzitoriu? Folosiþi simularea numericã.
Problema 3
1
Se considera sistemul avind urmãtoarea functie de transfer: G ( s) 
s  10
a)Determinati raspunsul indicial (analitic si in Matlab); reprezentare grafica.
b) Determinati si reprezentati grafic raspunsul sistemului la o intrare de forma:
u(t) = 1 , pentru 0<t<4;u(t) = 0 in rest;
Observati efectul discontinuitatii lui u(t) asupra lui y(t).
c) Determinati si reprezentati grafic raspunsul sistemului la o intrare de forma:
u(t) = 3 , pentru 0<t<4;u(t) = 0 in rest;
Observati efectul discontinuitatii lui u(t) asupra lui y(t).

S-ar putea să vă placă și