PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp Lucrarea 3 (partea a II-a) Sisteme discrete liniare şi invariante în timp. Caracterizarea sistemelor discrete liniare, invariante în timp Caracterizarea sistemelor discrete liniare, invariante în timp se poate face: a) În domeniul timp prin: Ecuaţia cu diferenţe [ ] [ ] + [ ] M y n a y n b x n (3.) 0 Dacă a 0,,,,, sistemul este nerecursiv, în caz contrar este de tip recursiv. Suma de convoluţie, cunoscut fiind răspunsul la impuls al sistemului [ ] [ ]* [ ] [ ] [ ] yn xn hn hxn (3.) b) În domeniul Z prin funcţia de sistem, care este transformata Z a răspunsului la impuls. Y( z) Zhn {[]} Hz (), unde Y( z ) şi X( z ) sunt transformatele Z ale lui X( z) yn, [ ] respectiv x[ n ]. Aplicând transformata Z relaţiei (3.), rezultă funcţia de sistem: unde M bz 0 B( z) A( z) + az M B( z) b z şi 0 A( z) + a z. (3.3) Observaţie:. Condiţia de stabilitate a unui SDLIT cauzal implică condiţia ca polii funcţiei de sistem (adică rădăcinile polinomului în variabila z de la numitorul acesteia) să se afle în interiorul cercului unitate din planul complex Z.. Condiţia de stabilitate a unui SDLIT (cauzal sau necauzal) implică condiţia ca regiunea de convergenţă corespunzătoare funcţiei de sistem să includă cercul unitate din planul complex Z. c) În domeniul frecvenţă prin funcţia de transfer, care este transformata Fourier a răspunsului la impuls, expresie ce se poate obţine prin evaluarea lui H( z ) pe cercul unitate, dacă acesta este inclus în regiunea de convergenţă a lui H( z ): H( ) hn (3.4) jω { [ ]} ω z e 33
PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp. Răspunsul sistemelor discrete, liniare, invariante în timp (SDLIT) la diferite semnale de intrare.. Răspunsul SDLIT la excitaţii elementare Răspunsul la impuls sau funcţia pondere a sistemului este definită de relaţia: hn [ ] H δ [ n] (3.5) Observaţie: Condiţia de stabilitate a unui SDLIT implică condiţia hn [ ] <, adică răspunsul la impuls al sistemului, hn [ ], este absolut n sumabil. Răspunsul indicial, definit de relaţia: (3.6) g [ n] H u[ n] h[ n ] 0 Răspunsul sistemului la semnal exponenţial complex j 0 n Dacă x[ n] A e ω, atunci răspunsul sistemului la acest semnal este: j 0 n j( 0n arg ( H( 0) )) yn [ ] A H( 0) e ω A H( 0) e ω + ω ω ω (3.7) π Pe cercul unitate, pentru ω 0, 0,, rezultă: π π j n yn [ ] A H e (3.8) Răspunsul sistemului la secvenţe periodice Dacă semnalele de intrare periodice se descompun în secvenţe Fourier de forma 0 π j n xn [ ] xn [ + ] ce [ ], atunci răspunsul sistemului va fi π π j n yn [ ] yn [ + ] c [ ] H e, n 0, 0 (3.9) c [ ] X[ ]/, unde X[ ] este Transformata Fourier Discretă a lui x[ n ]... Răspunsul SDLIT la o secvenţă oarecare [ ] [ ] şi satisface relaţia [ ] [ ] [ ], sau yn H xn y n a y n + bx n 0 relaţia de convoluţie yn [ ] xn [ ]* hn [ ]. Răspunsul sistemului poate fi calculat şi din relaţiile: yn [ ] Z { X( z)} yn [ ] { H( ω) X( ω)} (3.0) 3. Aplicaţii rezolvate 3.. Determinarea ieşirii unui SDLIT Pentru calculul ieşirii unui SDLIT se vor utiliza următoarele noi funcţii Matlab: 34 M
PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp yfilter(b,a,x,ic); Calculează ieşirea unui filtru cu funcţia de transfer himpz(b,a,l); Bz ( ) Az ( ) + M bz 0 az la vectorul/secvenţa de intrare x.vectorii b şi a conţin coeficienţii b şi a în ordinea crescătoare a puterilor lui z : b [ b0 b... b M ], a [ a0 a... a ]. ic este un vector în care se specifică condiţiile iniţiale ale sistemului: ic [[ y ] y[-]... y[- ]]. Atunci când condiţiile iniţiale sunt nule, ic nu se specifică în funcţia filter. Calculează răspunsul la impuls al unui filtru cu parametrii specificaţi în vectorii a şi b (vezi filter), răspunsul la impuls fiind calculat pentru L eşantioane h [ h0 h... h L -]. Exemplu. Pentru sistemul iniţial relaxat, cu funcţia de sistem:.403+.4908 z +.403 z (3.) 0.4 z 0.75 z ieşirea sistemului la semnalul de intrare x[ n] cos( π 0. n) 3 cos( π 0.4 n) se determină prin secvenţa de comenzi Matlab: n 0:40; x *cos(*pi*0.*n) - 3*cos(*pi*0.4*n); b [.403.4908.403]; a [ -0.4 0.75]; ic [0 0]; % conditii initiale nule y filter(b,a,x,ic); Arătaţi prin programe similare programelor P3_I_ şi P3_I_ din lucrarea Proprietăţile sistemelor discrete că sistemul cu funcţia de sistem (3.) verifică condiţia din definiția liniarității pentru semnalele x [ n] cos( π 0. n) şi x [ n] cos( π 0.4 n) și constantele a și b 3, respectiv condiţia din definiţia invarianţei în timp pentru semnalul de intrare x n cos π 0. n 3 cos π 0.4 n şi. [ ] ( ) ( ) Stabilitatea SDLIT Exemplul Programul Matlab P3_II_ testează stabilitatea unui sistem discret în funcţie de răspunsul la impuls al acestuia. Variabila parsum din scriptul de mai jos se calculează astfel: P parsum h[ n], (3.) n 0 6 unde P este ales astfel încât hp [ ] < 0. Testul este ilustrativ din punct de vedere didactic, dar din punct de vedere teoretic nu este tocmai corect. De exemplu, pentru 35
PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp hn [ ] / n, sistemul nu este stabil, însă există un număr întreg P, pentru care 6 hp [ ] < 0. % Program P3_II_ % Stabilitatea sistemului bazata pe sumarea absoluta a % raspunsului la impuls clear; clc; b [ -0.8]; a [.5 0.9]; 300; %se calculeaza raspunsul la impuls vezi help impz h impz(b,a,+); parsum 0; for :+; %help for parsum parsum + abs(h()); if abs(h()) < 0^(-6), brea, end end % se reprezinta grafic raspunsul la impuls n 0:; figure() stem(n,h); grid on; title('raspunsul la impuls') ylabel('amplitudine'); % se afiseaza la consola abs(h()) disp('value ');disp(abs(h())); % se afiseaza la consola Suma valorilor absolute ale lui h[n] disp('suma ');disp(parsum); Arătaţi printr-un program similar programului P3_I_3 din lucrarea Proprietăţile sistemelor discrete că sistemul considerat în programul de mai sus (P3_II_) verifică condiţia din definiția stabilității pentru semnalul x n cos π 0. n 3 cos π 0.4 n. [ ] ( ) ( ) 3.. Caracterizarea SDLIT Se vor utiliza următoarele noi funcţii Matlab: zplane(b,a) Reprezintă într-o fereastră grafică localizarea zplane(z,p) zerourilor şi polilor în planul Z pentru un sistem care are coeficienţii b şi a în vectorii linie b şi a, sau zerourile şi polii sistemului în vectorii coloană T T z [ z z... z M ] şi p [ p p... p ]. freqz(b,a,); Reprezintă într-o fereastră grafică răspunsul în [H,w]freqz(b,a,); frecvenţă (de modul şi fază) al sistemului descris de coeficienţii din vectorii b şi a. umărul de puncte în care se calculează H ( ω ) este. A doua comandă returnează în vectorul H răspunsul sistemului la pulsaţiile discrete specificate în vectorul w fără a mai face reprezentarea grafică. 36
PS Lucrarea 3 (partea a II-a) bpoly(z); zroots(b); Sisteme discrete şi invariante în timp Returnează în vectorul b coeficienţii unui polinom ce are ca radăcini elementele din vectorul z. Returnează în vectorul z rădăcinile unui polinom ce are coeficienţii precizaţi în vectorul b. [r,p,]residuez(b,a); Realizează descompunerea lui H( z ) în forma de mai jos: Bz ( ) r() r ( ) +... + + Az ( ) p() z p ( ) z ( M ) + () + () z +... + ( M + ) z Vectorii r, p, sunt: r [ r(), r(),..., r( )], p [ p(), p(),..., p( )], [ (), (),..., ( M + )] Exemplul Fie un sistem discret caracterizat în domeniul timp de ecuaţia cu diferenţe: yn [ ] + 0.9 yn [ ] 0.3 xn [ ] + 0.6 xn [ ] + 0.3 xn [ ]. (3.3) În Matlab ecuaţia cu diferenţe este reprezentată de doi vectori: unul conţine coeficienţii intrării b ai termenilor x[ n ] şi celălalt conţine coeficienţii de reacţie ai ieşirii a ai termenilor yn [ ], scriși în membrul stâng al ecuației cu diferențe. De obicei a 0. În caz contrar, programul normează coeficienţii, astfel încât coeficientul lui yn [ ] să fie egal cu. Sistemul de mai sus este caracterizat de funcţia de transfer: Y( z) 0.3+ 0.6z + 0.3z (3.4) X( z) + 0.9z Funcţia MATLAB filter determină secvenţa de ieşire yn [ ] a unui SDLIT caracterizat de o ecuaţie cu diferenţe sau de funcţia de sistem H( z ), la o secvenţă x[ n ] aplicată la intrarea sistemului. Datorită modului de indexare a vectorilor în MATLAB, coeficienţii funcţiei de transfer sunt notaţi astfel: M b() + b() z +... + b( M + ) z (3.5) a() + a() z +... + a( + ) z Următorul program MATLAB (P3_II_) realizează afişarea poziţiei polilor şi zerourilor lui H( z ) şi a caracteristicii de frecvenţă a SDLIT. Folosiţi comanda help pentru a vă familiariza cu funcţiile zplane.m şi freqz.m. %Program P3_II_ clear; clc; %descrierea sistemului prin coeficientii b si a b[0.3, 0.6, 0.3]; a[, 0, 0.9]; figure() zplane(b,a);%reprezentarea polilor si zerourilor in planul Z grid on; title('distributia poli-zerouri'); [H,W]freqz(b,a,5); 37
PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp figure() subplot(,,); %reprezentarea modulului raspunsului in frecventa plot(w,abs(h)); grid on; ylabel('magnitudune'); title('raspunsul filtrului in modul'); subplot(,,); plot(w,angle(h)); %reprezentarea raspunsului de faza grid on; title('raspunsul de faza al filtrului '); ylabel('faza');xlabel('w'); Exemplul 3. Se calculează şi se afişează răspunsul în frecvenţă a unui sistem pentru care se specifică zerourile şi polii. %Program P3_II_3 clear; clc; z[exp(j*pi/5);exp(-j*pi/5)]; % zerourile functiei de transfer p0.9*z; % polii functiei de transfer %atunci coeficientii functiei de transfer sunt bpoly(z) apoly(p) %iar caracteristica de frecventa a acestui sistem se obtine % astfel: [H,W]freqz(b,a,5); figure() plot(w/pi,abs(h)); grid on; title('modulul raspunsului in frecventa al filtrului'); Ce tip de sistem reprezintă această caracteristică? Să se studieze funcţia zptf.m, care realizează trecerea din zerourile şi polii funcţiei de transfer în coeficienţii acesteia cu ajutorul comenzii help zptf. Exemplul 4. Cu ajutorul funcţiei residuez.m se pot calcula reziduurile şi polii funcţiei de transfer, conform relaţiei: Bz ( ) r() r ( ) ( M ) +... + + () + () z +... + ( M + ) z Az ( ) p() z p ( ) z (3.6) Se analizează pentru sistemul considerat la Exemplul 3 efectul comenzii: [r,p,]residuez(b,a). Cu ajutorul descompunerii în fracţii simple se poate calcula răspunsul la impuls: n n hn [ ] rp + rp + δ[ n] (3.7) Analiza comparativă a răspunsurilor la impuls obţinute prin cele două funcţii (residuez şi impz) se realizează cu programul P3_II_4. 38
PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp %Program P3_II_4 clear; clc; z[exp(j*pi/5) exp(-j*pi/5)]; p0.9*z; bpoly(z); apoly(p); [r,p,]residuez(b,a); n(0:9)'; hr()*p().^n+r()*p().^n; h()h()+; himpz(b,a,30); figure() subplot() stem(n,h); grid on; title('raspunsul la impuls obtinut utilizand functia residuez'); subplot(); stem(n,h); grid on; title('raspunsul la impuls obtinut cu ajutorul functiei impz'); Exemplul 5. Se analizează răspunsul unui sistem liniar invariant în timp la un semnal de tip sinusoidă, x[ n] A sin( π f n+ ϕ), n 0,, în două moduri: - cu ajutorul funcţiei filter.m; - cu ajutorul relaţiei: yn [ ] A H( π f) sin(π f n+ ϕ + arg( H( π f))) (3.8) Se va utiliza funcţia Matlab: spolyval(b,x); Returnează valoarea unui polinom cu coeficienţii specificaţi în vectorul b, calculat în valoarea x: sx ( ) b() x +... + bx ( ) + b ( + ) %Program P3_II_5 clear; clc; b[0., 0., 0.]; a[, 0, 0.9]; 99; n0:; f/8;a; xa*sin(*pi*f*n+pi/7); yfilter(b,a,x); Hwpolyval(b,exp(*j*pi*f))/polyval(a,exp(*j*pi*f)); ysa*abs(hw)*sin((*pi*f*n)+pi/7+angle(hw)); figure() 39
PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp subplot(4); stem(n,x); grid on; ylabel('intrarea x[n]'); subplot(4); stem(n,y); grid on; axis([0 -A A]); ylabel('y[n] calculat cu filter '); subplot(43); stem(n,ys); grid on; ylabel('ys[n] calculat cu relatia (3.0)') axis([0 -A A]); subplot(44); stem(n,y-ys); grid on; ylabel('diferenta y[n]-ys[n]') axis([0 -A A]); Ce observaţi? Secvenţa yn [ ] este un semnal de tip sinusoidă sau nu? De ce? 4. Aplicaţii propuse. Un SDLIT este caracterizat de ecuaţia cu diferenţe yn [ ].8cos( π /6) yn [ ] + 0.8 yn [ ] xn [ ] + 0.5 xn [ ] a) Să se determine polii funcţiei de transfer corespunzători sistemului, care sunt rădăcinile p ale polinomului A( z) + az, folosind comanda MATLAB roots.m. Dacă aceste rădăcini sunt complex conjugate, răspunsul sistemului va fi armonic. Să se reprezinte partea reală şi imaginară a secvenţelor complexe n de forma ( p ) un [ ], n 0,30, iar p sunt polii sistemului. b) Din ecuaţia cu diferenţe rezultă că răspunsul la impuls al sistemului va fi de forma: n n hn [ ] a p + a p un [ ] (3.0) ( ( ) ( ) ) Să se determine constantele a şi a din expresia lui hn [ ]. Calculaţi răspunsul la impuls cu ajutorul funcţiei MATLAB impz.m şi cu ajutorul relaţiei (3.6) (a se vedea Exemplul 4). c) Să se determine răspunsul de regim permanent al sistemului la semnalul de j( π /4) n intrare exponenţial complex xn [ ] e, n 0,30, folosind atât funcţia filter.m, cât şi cu ajutorul relaţiei (3.7) sau (3.8) (a se vedea Exemplul 5). j ( π f n+ arg( H( π f ))) yn [ ] H( π f) e (3.). Să se analizeze efectul polilor şi zerourilor unei funcţii de sistem H( z ) asupra răspunsului în frecvenţă H ( ω ) pentru următoarele sisteme: 40
PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp a) ( z z )( z z ), unde: z, ; π 4 z, e ; π z, e ; 3π 4 z, e ; z, ; Să se analizeze cum se modifică H( ω ) odată cu modificarea poziţiei zerourilor funcţiei de transfer şi să se reprezinte zerourile în planul Z. Ce observaţi? Comentaţi. 0., unde: ( pz )( pz ) p, 0.9; b) π 4 p, 0.9 e ; π p e, 0.9 ; 3π 4 p, 0.9 e ; p, 0.9; Să se analizeze cum se modifică H ( ω ) odată cu modificarea polilor funcţiei de transfer şi să se reprezinte polii în planul Z. Ce observaţi? Comentaţi. 3. Se dau următoarele funcţii de transfer ale unor sisteme discrete liniare invariante în timp H ( z) z z + H ( z) z z + + H ( z) z 0,5z 3 + ( z ) ( + z ) H4( z) H 5( z) H z + 6( z) 0,5z z + 0,5z z + 0,5z a) Utilizând funcţia zplane.m, să se reprezinte în planul Z diagramele poli - zerouri pentru funcţiile Hi( z ), i,, 6. b) Utilizând funcţia freqz.m să se reprezinte caracteristicile de frecvenţă ale acestor funcţii de transfer. Să se precizeze ce tip de sistem reprezintă fiecare. c) Să se calculeze şi să se reprezinte grafic răspunsul sistemului H ( ) 5 z la impulsul unitate şi treapta unitate. 4 4. Un SDLIT este caracterizat de funcţia de sistem: ( z+ 0,5)( z + 4) ( z 0,8)( z z+ 0,64) a) Să se calculeze în planul Z poziţiile polilor şi zerourilor. b) Să se calculeze şi reprezinte grafic caracteristica de fază corespunzătoare acestei funcţii de transfer. Corespunde aceasta unui sistem de fază liniară?
PS Lucrarea 3 (partea a II-a) Sisteme discrete şi invariante în timp 5. Care din următoarele sisteme cauzale cu funcţiile de transfer de mai jos sunt stabile? De ce? 3 4 +.7z +.0z +.54z + 0.98z 3 4 0.6z +.5z 0.98z + 0.98z 3 4 0.6z +.5z 0.98z + 0.98z H( z) 3 4 +.7z +.0z +.54z + 0.98z 3 4.54z + 5z 4.3z + 3.7z H3( z) 3 4 0.77z + 0.8z 0.4z + 0.5z 3 4.54z +.64z 0.8z +.0z H4( z) 3 4.7z +.5z +.5z +.36z 4