Sunteți pe pagina 1din 24

2.

SEMNALE I SISTEME N TIMP DISCRET

LUCRAREA 2 SEMNALE I SISTEME N TIMP DISCRET

2.1. Semnale n timp discret


Un semnal n timp discret este definit prin valorile acestuia msurate la momente discrete de timp. Semnalele n timp discret sunt reprezentate matematic prin secvene de numere notate:

x[n]

N1 n N 2

(2.1)

n MATLAB aceste secvene se pot defini ca vectori linie sau coloan, avnd elemente reale sau complexe. O prim limitare apare din faptul c aceti vectori sunt de lungime finit n timp ce n problemele de prelucrarea numeric a semnalelor se poate lucra cu secvene de lungime infinit.
2.1.1. Definirea semnalelor n timp discret

n studiul semnalelor i sistemelor n timp discret se utilizeaz cteva secvene de baz ce vor fi prezentate n continuare, mpreun cu modul lor de definire n MATLAB.
Impulsul unitate Din punct de vedere matematic este definit astfel: 1 , n = 0 [ n] = 0 , n 0 Utiliznd proprietatea de deplasare n timp se poate scrie c 1 , n = n0 [ n n0 ] = 0 , n n0
27

(2.2)

(2.3)

2. SEMNALE I SISTEME N TIMP DISCRET

Deoarece n MATLAB nu putem defini secvene de lungime infinit trebuie precizat domeniul de valori pentru n. Pentru a facilita definirea unor secvene de acest tip vom crea o funcie MATLAB (vezi lucrarea 1, seciunea 1.2.8.):
function [y,n]=impuls(li,ls,k); %IMPULS - impulsul unitate (Dirac) in timp discret, %definit pe un suport temporal finit %-sintaxe: %y=impuls(li,ls,k) %[y,n]=impuls(li,ls,k) %-parametrii de iesire: %y=vector linie ce reprezinta delta(n-k) pe suportul %[li;ls] %n=vector linie ce reprezinta suportul [li;ls] %-parametrii de intrare: %li=limita inferioara a suportului temporal; %ls=limita superioara a suportului temporal; %k=indicele din delta(n-k) %-pentru afisare: stem(n,y) if nargin<3 error('Prea putine argumente de intrare') elseif nargin>3 error('Prea multe argumente de intrare') end if nargout>2 error('Prea multe argumente de iesire') end if li>=ls error('Suportul temporal este invalid') end if (k<li)|(k>ls) error('Indicele nu apartine suportului temporal') end L=ls-li+1; y=zeros(1,L); y(k-li+1)=1; n=li:ls;
28

2. SEMNALE I SISTEME N TIMP DISCRET

Exemple: Utiliznd funcia MATLAB impuls creat anterior, s se defineasc i s se reprezinte grafic secvenele: 1. x1[n] = [n] 2. x2 [n] = 0,5 [n 3] , pentru 10 n 10 . [y1,n]=impuls(-10,10,0) stem(n,y1),grid [y2,n]=impuls(-10,10,3) stem(n,0.5*y2),grid

Treapta unitate Din punct de vedere matematic este definit astfel: 1 , n 0 u[n] = (2.4) 0 , n < 0 Utiliznd proprietatea de deplasare n timp se poate scrie c 1 , n n0 u[n n0 ] = (2.5) 0 , n < n0 Se poate crea de asemenea o funcie MATLAB pentru definirea secvenelor de tip treapt unitate:
function [y,n]=treapta(li,ls,k); %TREAPTA - treapta unitate in timp discret, definita %pe un suport temporal finit %-sintaxe: %y=treapta(li,ls,k) %[y,n]=treapta(li,ls,k) %-parametrii de iesire: %y=vector linie ce reprezinta u(n-k) pe suportul %[li;ls] %n=vector linie ce reprezinta suportul [li;ls] %-parametrii de intrare: %li=limita inferioara a suportului temporal; %ls=limita superioara a suportului temporal; %k=indicele din u(n-k) %-pentru afisare: stem(n,y) if nargin<3 error('Prea putine argumente de intrare') elseif nargin>3 error('Prea multe argumente de intrare') end
29

2. SEMNALE I SISTEME N TIMP DISCRET

if nargout>2 error('Prea multe argumente de iesire') end if li>=ls error('Suportul temporal este invalid') end if (k<li)|(k>ls) error('Indicele nu apartine suportului temporal') end L=ls-li+1; y=zeros(1,L); y(k-li+1:L)=1; n=li:ls; Exemple: S se defineasc i s se reprezinte grafic secvenele: 1. x1[n] = u[n] 2. x2 [n] = 0,7(u[n + 3] u[n 3]) , pentru 5 n 10 . [y1,n]=treapta(-5,10,0) stem(n,y1),grid [y21,n]=treapta(-5,10,-3) [y22,n]=treapta(-5,10,3) y2=0.7*(y21-y22) stem(n,y2),grid E1. Exerciii: S se defineasc i s se reprezinte grafic urmtoarele secvene: 1. x1[n] = [n] [n 1] pentru 2. x2 [n] = [n] 0,5 [n 1] + 0,3 [n 2] 2 [n + 1] pentru 3. x3 [n] = u[n] + 0,5u[n 4] 0,5u[n + 4] pentru 4. x4 [n] = [n 1] + u[n 5] + [n + 2] 2 [n 9] pentru

10 n 10 10 n 10 10 n 10 10 n 20

1 1 5. x1[n] = 2 2 n n 6. x2 [n] = ln cos sin 15 15 n 7. x1[n] = (1) n cos 15


30

pentru 0 n 10 pentru 20 n 20 pentru 0 n 10

2. SEMNALE I SISTEME N TIMP DISCRET

2.1.2. Convoluia liniar a semnalelor n timp discret

Produsul de convoluie liniar a dou secvene numerice x1[n] i x2[n] este definit astfel: x[n] = x1[n] x2 [n] =

k =

x1[k ] x2 [n k ]

(2.6)

unde secvenele x1[n] i x2[n] s-au presupus a avea lungime infinit. n MATLAB secvenele numerice sunt privite ca nite vectori i innd cont de faptul c ele sunt finite i c indicele primului element dintr-un vector nu poate fi zero (se efectueaz o indexare cu 1) atunci definiia de mai sus devine: x[n + 1] = x1[k + 1] x2 [n k ]
k =0 N 1

(2.7)

unde N este maximul dintre lungimile celor dou secvene.


Sintaxa: conv(x1,x2) returneaz ca rezultat un vector de lungime egal cu lungimea vectorului x1 plus lungimea vectorului x2 minus 1, ce reprezint produsul de convoluie liniar al celor dou secvene definite prin vectorii x1 i x2. Exemplu: S se calculeze i s se reprezinte grafic produsul de convoluie liniar a secvenelor x1[n] = u[n] u[n 5] ( 0 n 10 ) i x2 [n] = (0,9) n ( 0 n 20 ). x1=treapta(0,10,0)-treapta(0,10,5); n=0:20; x2=0.9.^n; x=conv(x1,x2); subplot(2,2,1),stem(0:10,x1),title(x1),grid subplot(2,2,2),stem(n,x2),title(x2),grid subplot(2,1,2),stem(0:length(x)-1,x),title(x),grid
x1 1 0.8 0.6 0.4 0.2 0 0 5 4 3 2 1 0 0 5 10 15 20 25 30 5 10 x 1 0.8 0.6 0.4 0.2 0 0 5 10 15 20 x2

31

2. SEMNALE I SISTEME N TIMP DISCRET

E2. Exerciii: S se calculeze i s se reprezinte grafic (ca n exemplul precedent) produsul de convoluie liniar a urmtoarelor perechi de secvene:

1. x1[n] = u[n 5] u[n 15] 2. x1[n] = sin ( 0.1 n ) 3. x1[n] = cos(0, 25 n)

x2 [n] = 10 n x2 [n] = [n 5]

pentru 0 n 20 pentru 0 n 20

x2 [n] = (1) n

pentru 0 n 20

2.1.3. Transformata Fourier discret

Transformata Fourier n timp discret (DTFT Discrete Time Fourier Transform) a unei secvene x[n] este dat de relaia:
X (e j ) = x[n]e jn
n

(2.8)

F . FS F este frecvena nenormat (exprimat n Hz) iar FS este frecvena de eantionare. F f = Similar, frecvena normat este: . FS unde este pulsaia normat:

= 2

Funcia X (e j ) este periodic de perioad 2 , deci este suficient s cunoatem comportarea sa n intervalul [ , ) (interval de baz). Datorit faptului c aceast funcie este continu, variabila putnd lua o infinitate de valori, nu este posibil o implementare pe o main de calcul. Pentru a realiza totui o analiz n frecven se utilizeaz transformata Fourier discret TFD (DFT Discret Fourier Transform), obinut prin discretizarea variabilei pe intervalul [0,2 ) n N puncte: k k = 2 , cu k = 0,1,, N 1 . N Astfel, transformata Fourier discret a unei secvene x[n] este dat de relaia:

X [k ] = x[n]e
n

2 kn N

cu

k = 0,1,, N 1

(2.9)

32

2. SEMNALE I SISTEME N TIMP DISCRET

n figur sunt prezentate reprezentrile spectrului unui semnal discret n funcie de pulsaie sau frecven normat i corespondena cu frecvena analogic. De asemenea se observ corespondena ntre componentele spectrale de indice k calculate cu TFD i spectrul reprezentat n pulsaii normate.
X a ( j )
S 2
-max -Fmax 0 0 max Fmax FS/2 FS

S 2

S > 2 max

[rad/s] F[Hz]

X ( e j )

=
f =

FS F FS

- -max 0 0 max fmax 0.5 2 1 f -0.5 -fmax

X (k )

k = 0,..., N 1

k = 2

k N

k
0 123 N/2 N-1

n MATLAB, pentru calculul transformatei Fourier discrete se folosete funcia fft. Denumirea sa reprezint prescurtarea de la Fast Fourier Transform (transformata Fourier rapid) i indic faptul c este folosit pentru calcul un algoritm rapid.
Sintaxe: y = fft(x) dac x este un vector se returneaz un vector y de aceeai dimensiune cu vectorul x ce conine valorile transformatei Fourier discrete aplicat elementelor vectorului x; lungimea transformatei Fourier (numrul de puncte
33

2. SEMNALE I SISTEME N TIMP DISCRET

N n care se calculeaz transformata) este egal n acest caz cu lungimea vectorului x. dac x este o matrice se va returna matricea y de aceeai dimensiune cu matricea x; coloana i din matricea y va conine valorile transformatei Fourier discrete aplicat elementelor coloanei i din matricea x.
y = fft(x,N) aceleai considerente ca n sintaxa precedent cu deosebirea c n acest caz se specific i numrul de puncte N n care se calculeaz transformata. Exemple: S se calculeze transformata Fourier discret a secvenei: x1[n] = u[n] u[n 10] , pentru 0 n 20 S se reprezinte grafic partea real, partea imaginar, modulul i faza transformatei Fourier discrete calculate. x1=treapta(0,20,0)-treapta(0,20,10); X=fft(x1); figure(1),plot(X) // se obine o reprezentare grafic eronat deoarece X e un vector cu valori complexe. figure(2),plot(abs(X)) // calculul transformatei Fourier discrete s-a efectuat ntr-un numr de puncte egal cu lungimea vectorului x1 (vezi sintaxa de la fft); pentru o mai bun reprezentare vom efectua calculul ntr-un numr mai mare de puncte (N = 512): X1=fft(x1,512); figure(3),plot(abs(X1)),grid
10 9 8 7 6 5 4 3 2 1 0

100

200

300

400

500

600

// Aceast reprezentare corespunde ns intervalului de frecven [0,2 ) (pe abscis avem numrul de puncte al vectorului X1 pentru c n sintaxa funciei plot nu s-a specificat nimic altceva). De obicei se dorete ns reprezentarea n intervalul de baz [ , ) . Avnd n vedere faptul c funcia este periodic de perioad 2 atunci reprezentarea din intervalul [ ,0) corespunde cu reprezentarea din intervalul [ ,2 ) . Prin urmare trebuie realizat o inversare a
34

2. SEMNALE I SISTEME N TIMP DISCRET

celor dou jumti ale vectorului X1. Acest lucru se realizeaz n MATLAB prin utilizarea comenzii fftshift (schimb ntre ele cele dou jumti ale unui vector). n plus, pentru a avea pe abscis reprezentarea n intervalul [ , ) trebuie generat un vector cu pas liniar care s conin n intervalul respectiv un numr de elemente egal cu lungimea transformatei Fourier discrete calculate:
w=-pi:2*pi/512:pi-2*pi/512; figure(4),plot(w,fftshift(abs(X1))),grid
10 9 8 7 6 5 4 3 2 1 0 -4

-3

-2

-1

// n figura 4 s-a reprezentat spectrul de amplitudini iar n figura 5 se va reprezenta spectrul de faz calculat cu ajutorul funciei angle(). figure(5),plot(w,fftshift(angle(X1))),grid
3 2

-1

-2

-3 -4

-3

-2

-1

// n final putem reprezenta prile real i imaginar ale TFD observndu-se simetria, respectiv antisimetria acestora. figure(6) subplot(2,1,1),plot(w,fftshift(real(X1))),grid subplot(2,1,2),plot(w,fftshift(imag(X1))),grid
10 5

-5 -4 10 5 0 -5 -10 -4

-3

-2

-1

-3

-2

-1

35

2. SEMNALE I SISTEME N TIMP DISCRET

Observaii: Reprezentarea spectrelor a fost fcut n funcie de pulsaia normat [ , ) . Valorile calculate n X1=fft(x1,512) reprezint spectrul calculat n k k = 2 , cu k = 0,1,, N 1 . Astfel, numrul de puncte N n care se N calculeaz fft determin rezoluia spectral. Cu ct N este mai mare cu att aproximarea spectrului de frecvene continue X (e j ) este mai bun. Dac lungimea secvenei x[n] este mai mic dect N, secvena se completeaz cu zeroruri, spectrul calculat reprezentnd convoluia ntre spectrul secvenei de lungime infinit i spectrul funciei poart de lungime egal cu a secvenei date. Spectrul calculat cu funcia fft poate fi reprezentat i n funcie de o indicele TFD: k = 0,1,, N 1 . F o frecvena normat: f = = , f [0.5,0.5) . FS 2 f = -0.5:1/N:0.5-1/N; o frecvena nenormat F = f FS [Hz]. F [ FEs / 2, FEs / 2) . E3. Exerciii: 1. a) S se genereze secvena discret s[n] obinut prin eantionarea cu frecvena de eantionare FS = 8kHz a semnalului s (t ) = sin ( 2F0t ) de frecven F0 = 500Hz i durat tMAX = 40ms . Cte eantioane are secvena discret? b) S se calculeze TFD a secvenei n N=256 puncte cu funcia fft. c) S se reprezinte spectrul de amplitudini (modulul TFD) n funcie de k=0:N-1 d) S se reprezinte spectrul de amplitudini n pulsaii normate [ , ) e) S se reprezinte spectrul de amplitudini n frecvene normate f [ 0.5,0.5) f) S se reprezinte spectrul de amplitudini n frecvene nenormate [Hz] g) S se reprezinte cu subplot spectrul de amplitudini i de faz n funcie de frecvena normat. h) S se reprezinte cu subplot partea real i partea imaginar n funcie de frecvena normat. Fiecare spectru va fi reprezentat ntr-o figur separat (funcia figure()). Graficul va fi completat cu funciile: grid, title i xlabel. 2. Pentru programul de la exerciiul anterior modificai pe rnd urmtorii parametri i explicai schimbrile aprute n reprezentarea spectrului semnalului. a) Frecvena semnalului F0 = 200Hz . b) Numrul de puncte al TFD N=1024 (pentru semnalul iniial cu F0 = 500Hz ).
36

2. SEMNALE I SISTEME N TIMP DISCRET

2.2. Sisteme n timp discret


Un sistem n timp discret transform secvena de intrare x[n] ntr-o alt secven de ieire y[n] . Notnd S{} , operatorul sistemului, acesta este descris matematic prin relaia: y[n] = S{x[n]} Reprezentarea simbolic a unui sistem n timp discret este urmtoarea: x[n] (2.10)

S{}

y[n]

Pentru un sistem n timp discret, liniar i invariant n timp (SDLIT) se numete funcie pondere sau rspuns la impulsul unitate, secvena care se obine la ieirea sistemului dac la intrare s-a aplicat impulsul unitate [n] : h[n] = S{ [n]} Astfel, un alt mod de a reprezenta simbolic un sistem n timp discret este: x[n]
h[n]

(2.11)

y[n]

Rspunsul y[n] al unui SDLIT la orice secven x[n] , poate fi determinat prin convoluie dac se cunoate rspunsul la impulsul unitate h[n] : y[n] = x[n] h[n] = x[k ]h[n k ]
k

(2.12)

SDLIT pot fi reprezentate prin ecuaii cu diferene finite cu coeficieni constani, care dau legtura ntre secvena de intrare i cea de ieire:

k =0

ak y[n k ] = bk x[n k ]
k =0

(2.13)

Pentru analiza n frecven a SDLIT reamintim formula pentru transformata Z a unei semnal n timp discret x[n] : X ( z ) = x[n]z n
n

(2.14)

37

2. SEMNALE I SISTEME N TIMP DISCRET

Pentru un SDLIT se numete funcie de sistem sau funcie de transfer H ( z ) , raportul ntre transformatele Z ale secvenei de ieire (rspunsul y[n] ) i secvenei de intrare (excitaia x[n] ), reprezentnd de fapt transformata Z a funciei pondere h[n] :

H ( z) =

Z { y[n]} Y ( z ) = = Z {h[n]} Z {x[n]} X ( z )

(2.15)

innd cont de ecuaia cu diferene finite i de proprietatea de ntrziere a transformatei Z ( Z{x[n k ]} = z k X ( z ) ), funcia de sistem H ( z ) se mai poate scrie astfel:

H ( z) =

1 + ak z k
k =1

k =0 N

bk z k

(2.16)

n care s-a presupus c a0 = 1 . Rdcinile polinomului de la numrtor se numesc zerourile funciei de transfer iar rdcinile polinomului de la numitor se numesc polii funciei de transfer. Pentru ca un sistem cauzal s fie stabil polii trebuie s fie situai n interiorul cercului de raz unitate (modulul lor s fie subunitar).

2.2.1. Rspunsul la impuls al unui SDLIT


Funcia MATLAB impz permite determinarea i afiarea rspunsului la impuls (funcia pondere) h[n] a unui SDLIT dac se cunosc coeficienii ak i bk din ecuaia cu diferene finite sau din expresia funciei de transfer H ( z ) .
Sintaxe: [h,t] = impz(b,a) vectorul b conine coeficienii bk ( b = [ b0, b1, ..., bM ] ) iar vectorul a conine coeficienii ak ( a = [ 1, a1, a2, ..., aN ] ); se vor returna un vector coloan h care va conine valorile eantioanelor rspunsului la impuls al sistemului, h[n] , i un vector coloan t ce va conine momentele de pe axa timp (abscisa), alese n mod implicit, n care au fost calculate valorile eantioanelor; parametrul de ieire t poate s lipseasc din sintax n cazul n care ne intereseaz doar rspunsul la impuls h.
38

2. SEMNALE I SISTEME N TIMP DISCRET

[h,t] = impz(b,a,n) se precizeaz numrul de puncte n n care se dorete a fi calculat rspunsul la impuls h; vectorul coloan t va conine valorile acestor puncte (acestea vor fi 0, 1, 2, ..., n-1); parametrul de ieire t poate s lipseasc din sintax n cazul n care ne intereseaz doar rspunsul la impuls h. [h,t] = impz(b,a,n,Fs) aceleai considerente ca n sintaxa precedent cu deosebirea c cele n valori din vectorul t vor fi distanate cu pasul 1/Fs (0, 1/Fs, 2/Fs, ..., (n-1)/Fs). [h,t] = impz(b,a,[],Fs) aceleai considerente ca n sintaxa precedent cu deosebirea c se alege n mod implicit numrul de puncte n care se calculeaz rspunsul la impuls h. impz(b,a,...) reprezint grafic rspunsul la impuls calculat; punctele de suspensie au fost introduse pentru a sugera faptul c se poate folosi oricare combinaie a parametrilor de intrare din sintaxele precedente. Exemple: S se determine i s se reprezinte grafic funcia pondere a unui SDLIT definit prin: 1. y[n] 0,9 y[n 1] = 0,3 x[n] + 0,6 x[n 1] + 0,6 x[n 2]

1 + 0,5 z 1 2. H ( z ) = 1 1,8 cos( / 16) z 1 + 0,81z 2


b=[0.3,0.6,0.6]; a=[1,-0.9]; // s-au definit vectorii b i a ce conin valorile coeficienilor bk i ak din ecuaia cu diferene finite. [h,t]=impz(b,a); // s-a calculat rspunsul la impuls al sistemului. size(h) ans = 93 1 size(t) ans = 93 1 // se verific faptul c h i t sunt vectori coloan (vezi sintaxa) cu 93 de elemente fiecare. Se poate verifica, tastnd n fereastra de comenzi t urmat de enter, c valorile vectorului t sunt 0, 1, , 92. Pentru reprezentarea grafic se poate proceda n dou moduri:
39

2. SEMNALE I SISTEME N TIMP DISCRET

impz(b,a),grid

1.4

1.2

0.8

0.6

0.4

0.2

0 0 10 20 30 40 50 60 70 80 90

stem(t,h),grid // se va obine acelai rezultat grafic.

n mod asemntor procedm i pentru cel de al doilea exemplu: b=[1,0.5]; a=[1,-1.8*cos(pi/16),0.81]; h=impz(b,a); // vectorul coloan h va contine valorile eantioanelor rspunsului la impuls al sistemului definit prin funcia de transfer H ( z ) din exemplu. impz(b,a),grid
5 4 3

-1

10

20

30

40

50

60

70

80

90

2.2.2. Rspunsul unui SDLIT la un semnal de intrare


Funcia MATLAB filter permite determinarea rspunsului y[n] al unui SDLIT dac se cunosc coeficienii ak i bk din ecuaia cu diferene finite sau din expresia funciei de transfer H ( z ) i semnalul de intrare n sistem x[n] .
Sintaxe: y = filter(b,a,x) dac x este un vector atunci se returneaz un vector y de aceeai dimensiune cu vectorul x; vectorul x conine valorile semnalului de intrare n filtru (excitaia); vectorul b conine coeficienii bk ( b = [ b0, b1, ..., bM ] ) iar vectorul a conine coeficienii ak ( a = [ 1, a1, a2, ..., aN ] ); dac primul element din vectorul a este diferit de 1 atunci funcia filter normeaz
40

2. SEMNALE I SISTEME N TIMP DISCRET

coeficienii ak ai sistemului la valoarea primului element din vectorul a (astfel primul element din vectorul a devine 1); vectorul obinut y reprezint rspunsul sistemului definit de coeficienii din vectorii b i a, dac la intrare este aplicat secvena definit de vectorul x. dac x este o matrice atunci se returneaz o matrice y de aceeai dimensiune cu matricea x; funcia filter va opera n acest caz pe coloane: coloana k din matricea y reprezint rspunsul sistemului definit de coeficienii din vectorii b i a, dac la intrare este aplicat coloana k din matricea x.
Exemple: S se determine i s se reprezinte grafic rspunsul unui sistem definit prin: 1. y[n] 0,9 y[n 1] = 0,3 x[n] + 0,6 x[n 1] + 0,6 x[n 2]
1 + 0,5 z 1 2. H ( z ) = 1 1,8 cos( / 16) z 1 + 0,81z 2 la semnalul de intrare x1[n] = u[n] u[n 10] ,

pentru 0 n 40 .

b=[0.3,0.6,0.6]; a=[1,-0.9]; // vectorii b i a conin valorile coeficienilor bk i ak . x=treapta(0,40,0)-treapta(0,40,10); // s-a definit vectorul x corespunztor secvenei de intrare. y=filter(b,a,x); // s-a calculat rspunsul sistemului la secvena de intrare definit prin vectorul x. n=0:40; subplot(3,1,1),stem(n,x),grid,title(x[n]) subplot(3,1,2),impz(b,a),grid,title(h[n]) subplot(3,1,3),stem(n,y),grid,title(y[n])
x[n] 1 0.5

0 0 1.5 1 0.5 0 0 10 10 20 30 40 y[n] 50 60 70 80 90 5 10 15 20 h[n] 25 30 35 40

0 0 5 10 15 20 25 30 35 40

n mod asemntor procedm i pentru cel de al doilea exemplu: b=[1,0.5]; a=[1,-1.8*cos(pi/16),0.81];


41

2. SEMNALE I SISTEME N TIMP DISCRET

y=filter(b,a,x); subplot(3,1,1),stem(n,x),grid,title(x[n]) subplot(3,1,2),impz(b,a),grid,title(h[n]) subplot(3,1,3),stem(n,y),grid,title(y[n])


x[n] 1

0.5

0 0 5 5 10 15 20 h[n] 25 30 35 40

-5 40 20 0 -20

10

20

30

40 y[n] 50

60

70

80

90

10

15

20

25

30

35

40

2.2.3. Rspunsul n frecven al SDLIT


Funcia MATLAB freqz permite determinarea rspunsului n frecven al unui SDLIT dac se cunosc coeficienii ak i bk din ecuaia cu diferene finite sau din expresia funciei de transfer H ( z ) . Dac este apelat fr parametrii de ieire, cum se va vedea n sintax, aceast funcie reprezint grafic caracteristicile de amplitudine-frecven i faz-frecven ale SDLIT respectiv.
Sintaxe: [H,W] = freqz(b,a,n) vectorul b conine coeficienii bk ( b = [ b0, b1, ..., bM ] ), vectorul a conine coeficienii ak ( a = [ 1, a1, a2, ..., aN ] ), iar n reprezint numrul de puncte n care se calculeaz rspunsul n frecven H; vectorul W va conine valorile acestor n puncte (valorile vor fi cuprinse ntre 0 i ); este recomandat s se aleag n putere a lui 2 (pentru a permite un calcul eficient folosind un algoritm FFT rapid); dac n nu se specific se alege n mod implicit 512. [H,F] = freqz(b,a,n,Fs) aceast sintax permite specificarea unei valori pentru frecvena de eantionare Fs (n Hz); vectorul F va conine valorile celor n puncte n care se calculeaz rspunsul n frecven H (n acest caz valorile acestor puncte vor fi cuprinse ntre 0 i Fs/2); [H,W] = freqz(b,a,n,whole)
42

2. SEMNALE I SISTEME N TIMP DISCRET

aceleai considerente ca n cazul primei sintaxe cu deosebirea c valorile celor n puncte de calcul, coninute n vectorul W, vor fi cuprinse ntre 0 i 2; dac n nu se specific se alege n mod implicit 512.
[H,F] = freqz(b,a,n,whole,Fs) aceleai considerente ca n cazul celei de a doua sintaxe cu deosebirea c valorile celor n puncte de calcul, coninute n vectorul F, vor fi cuprinse ntre 0 i Fs; dac n nu se specific se alege n mod implicit 512. H = freqz(b,a,W) rspunsul n frecven H se calculeaz la frecvenele specificate n vectorul W; valorile acestor frecvene trebuie s fie cuprinse ntre 0 i 2; dac W nu se specific se aleg n mod implicit 512 valori de frecven. H = freqz(b,a,F,Fs) rspunsul n frecven H se calculeaz la frecvenele specificate n vectorul F; valorile acestor frecvene trebuie s fie cuprinse ntre 0 i Fs (frecvena de eantionare n Hz). freqz(b,a,...) reprezint grafic caracteristicile amplitudine-frecven i faz-frecven ale rspunsului n frecven calculat; punctele de suspensie au fost introduse pentru a sugera faptul c se poate folosi oricare combinaie a parametrilor de intrare din sintaxele precedente. Exemple: S se determine rspunsul n frecven al SDLIT definite prin: 1. y[n] + 0,9 y[n 1] = 0,3 x[n] + 0,6 x[n 1] + 0,3 x[n 2]
0.634 0.634 z 2 2. H ( z ) = 1 0.268 z 2 S se reprezinte grafic caracteristicile amplitudine-frecven i faz-frecven ale rspunsului n frecven calculat.

b=[0.3,0.6,0.3]; a=[1,0.9]; [H,W]=freqz(b,a); // s-a calculat rspunsul n frecven H n 512 puncte de frecven cuprinse n intervalul [0, ] . Reprezentrile grafice cerute se pot realiza n dou moduri: figure(1) subplot(2,1,1),plot(W,abs(H)),grid subplot(2,1,2),plot(W,angle(H)),grid
43

2. SEMNALE I SISTEME N TIMP DISCRET


0.8 0.6 0.4 0.2 0 0 0 -1 -2 -3 -4 0 0.5 1 1.5 2 2.5 3 3.5 0.5 1 1.5 2 2.5 3 3.5

Magnitude Response (dB)

figure(2)freqz(b,a)

0 -20 -40 -60 -80

0.1

0.2

0.3 0.4 0.5 0.6 0.7 Normalized frequency (Nyquist == 1)

0.8

0.9

0 Phase (degrees) -50 -100 -150 -200

0.1

0.2

0.3 0.4 0.5 0.6 0.7 Normalized frequency (Nyquist == 1)

0.8

0.9

n mod asemntor procedm i pentru cel de al doilea exemplu: b=[0.634,0,-0.634]; a=[1,0,-0.268]; [H,W]=freqz(b,a); freqz(b,a)

2.2.4. Diagrama poli-zerouri pentru funcia de sistem a unui SDLIT


Funcia MATLAB zplane permite afiarea diagramei poli-zerouri n cazul funciei de sistem a unui SDLIT dac se cunosc valorile polilor i zerourilor sau dac se cunosc doar coeficienii ak i bk din ecuaia cu diferene finite sau din expresia funciei de transfer H ( z ) .
Sintaxe: zplane(z,p) dac z i p sunt doi vectori coloan ce conin valorile zerourilor i respectiv polilor funciei de transfer H ( z ) atunci se va afia diagrama poli-zerouri, marcnd zerourile cu semnul o iar polii cu semnul x; dac exist poli sau zerouri multiple, acestea vor avea nscris, lng semnul respectiv i ordinul de multiplicitate. dac z i p sunt dou matrice afiarea diagramei poli-zerouri se va face pentru fiecare coloan n parte cu culori diferite. zplane(b,a)
44

2. SEMNALE I SISTEME N TIMP DISCRET

dac b i a sunt doi vectori linie ce conin valorile coeficienilor bk i ak atunci se va afia diagrama poli-zerouri a funciei de transfer H ( z ) (calculndu-se rdcinile polinoamelor de la numrtorul i numitorul funciei de sistem). Reprezentarea polilor i zerourilor unei funcii de sistem (diagrama polizerouri) se face n planul Z, n raport cu cercul de raz unitate, avnd pe abscis partea real i pe ordonat partea imaginar. Fiind privite deci ca numere complexe, valorile respective pot fi exprimate n form polar sau form cartezian. Orice numr complex z poate fi exprimat n form polar astfel:
z = z e
j

(2.17)

n care: - z = modulul numrului complex z ; - = argumentul (faza) numrului complex z ; n form cartezian numrul complex z se exprim sub forma:
z = real ( z ) + j imag ( z )
Im

(2.18)

1
imag{z} |z| z

-1

real{z}

Re

-1

Reprezentarea n planul Z a unui numr complez z Atenie: n cazul n care dispunem de valorile coeficienilor bk i ak i dorim s determinm valorile polilor i zerourilor funciei de sistem respective se poate utiliza funcia MATLAB roots, care calculeaz rdcinile unui polinom dac sunt precizai coeficienii acestuia.
45

2. SEMNALE I SISTEME N TIMP DISCRET

Dac se dorete determinarea valorilor coeficienilor bk i ak , avnd valorile polilor i zerourilor funciei de sistem, putem utiliza funcia MATLAB poly, care calculeaz coeficienii unui polinom dac sunt precizate rdcinile acestuia. Verificai sintaxele celor dou funcii folosind comanda help.
Exemple:

1 j 1. Funcia de transfer a unui SDLIT are un zerou de valoare r = e 3 . tiind c 2 2 1 1 j3 1 aceast funcie are zerouri i n r , , i are doi poli n q = e i q s r r 3 se reprezinte diagrama poli-zerouri i s se scrie forma nefactorizat a funciei de transfer (s se gseasc valorile coeficienilor bk i ak ).
r=1/2*exp(j*pi/3); q=1/3*exp(j*2*pi/3); z=[r;conj(r);1/r;1/conj(r)]; p=[q;conj(q)]; // s-au definit vectorii coloan z i p (vezi sintaxa) ce conin valorile zerourilor i respectiv polilor funciei de transfer. zplane(z,p)
1.5 1

Imaginary part

0.5

0 -0.5

-1

-1.5

-2

-1.5

-1

-0.5

0 0.5 Real part

1.5

// s-a reprezentat diagrama poli-zerouri. b=poly(z) b = 1.0000 -2.5000 5.2500 -2.5000 1.0000 a=poly(p) a = 1.0000 0.3333 0.1111 // s-au calculat valorile coeficienilor bk i ak ai funciei de sistem. Forma nefactorizat a acestei funcii va fi: 1 2,5 z 1 + 5,25 z 2 2,5 z 3 + z 4 H ( z) = 1 0,3333 z 1 + z 2
46

2. SEMNALE I SISTEME N TIMP DISCRET

2. S se reprezinte diagramele poli-zerouri pentru sistemele n timp discret definite prin: 1 + 0,5 z 1 a. funcia de transfer: H ( z ) = 1 1,8 cos( / 16) z 1 + 0,81z 2 (1 + 0,5 z 1 ) 2 b. funcia de transfer: H ( z ) = 1 1,8 cos( / 16) z 1 + 0,81z 2 c. ecuaia cu diferene finite: y[n] + 0.1 y[n 1] + 0.1 y[n 3] + 0.1 y[n 4] = 0,3 x[n] + 0,6 x[n 1] + 0,6 x[n 2]
b=[1,0.5]; a=[1,-1.8*cos(pi/16),0.81]; zplane(b,a)
Imaginary part 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1 -0.5 0 Real part 0.5 1

b=[1,1,0.25]; zplane(b,a)

1 0.8 0.6 0.4 Imaginary part 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1 -0.5 0 Real part 0.5 1 2

// se observ ordinul de multiplicitate ale zeroului.


b=[0.3,0.6,0.6]; a=[1,0.1,0,0.1,0.1]; zplane(b,a)
Imaginary part 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1 -0.5

47

0 Real part

0.5

2. SEMNALE I SISTEME N TIMP DISCRET

E4. Exerciii: Se dau urmtoarele SDLIT definite prin: 1. y[n] = x[n] 1,27 x[n 1] + 0,81x[n 2] 0,5 x[n 3] + 0,125 x[n 4] 2. y[n] + 0,9 y[n 1] = x[n] 3. y[n] + 0,13 y[n 1] + 0,52 y[n 2] + 0,3 y[n 3] = = 0,16 x[n] 0,48 x[n 1] + 0,48 x[n 2] 0,16 x[n 3] 4. y[n] + 0,9 y[n 2] = 0,3 x[n] + 0,6 x[n 1] + 0,3 x[n 2]
1 0,5 z 1 + 0,125 z 2 0,075 z 3 1 0,8 z 1 + 0,64 z 2 0,4 z 3 + 0,024 z 4 1 6. H ( z ) = 1 1 0,77 z + 0,44 z 3 7. H ( z ) = 1 1,27 z 1 + 0,81z 2 0,5 z 3 + 0,125 z 4 0,3z 7 La intrarea acestor sisteme se pot aplica oricare din semnalele de intrare de mai jos: I. x1[n] = [n] pentru 0 n 40 pentru 0 n 40 II. x2 [n] = u[n] ,0 n 10 n III. x3 [n] = 20 n ,11 n 20 n IV. x4 [n] = sin pentru 0 n 20 5 5. H ( z ) = a) S se determine rspunsul acestor sisteme la semnale de intrare IIV i s se reprezinte grafic n domeniul timp (folosind subplot) semnalul de intrare, funcia pondere a sistemului i semnalul de ieire. b) Pentru fiecare caz analizat s se reprezinte grafic n domeniul frecven (folosind subplot) semnalul de intrare, funcia de transfer a sistemului i semnalul de ieire. c) S se reprezinte diagramele poli-zerouri asociate sistemelor 17.

Tema de cas 1. Pentru semnalele primite ca tema la lucrarea 1 s se calculeze transformata Fourier discret folosind funcia fft. Obs. Semnalul 3 de tip dreptunghiular multinivel aleator se va nlocui cu semnal multinivel periodic (obinut prin repetarea aceleiai succesiuni de niveluri). Semnalul 8 de tip sinusoidal de frecven variabil se va nlocui cu un semnal sinusoidal de perioad 2.5 ms i amplitudine 3 limitat superior la valoarea maxim 2.
48

2. SEMNALE I SISTEME N TIMP DISCRET

Lungimea N a TFD va fi aleas o putere a lui 2 (128, 256, 512 sau 1024) mai mic dect lungimea secvenei. S se reprezinte grafic: 1) Spectrul de amplitudini a) n funcie de indicele k al TFD calculat. k=0N-1. b) n funcie de pulsaii normate [-, ]. c) n funcie de frecvena normat [-0.5, 0.5]. d) n funcie de frecvena nenormat [-Fs/2 Fs/2]. 2) Spectrul de amplitudini n dB n funcie de frecvene normate. 3) Spectrul de faze n funcie de frecvene normate. S se reia reprezentarea spectrelor pentru lungimea N a TFD aleas astfel ca s ndeplineasc condiia N = k T FS , k (N s fie de ordinul sutelor, mai mic dect lungimea secvenei). Explicai diferenele care apar ntre spectre n cele dou situaii (dei se reprezint spectrul aceluiai semnal).

2.
a) S se genereze urmtorul semnal discret: x[n] = s[n] + v[n] unde v[n] este un semnal aleator cu distribuie normal (gaussian). s[n] este un semnal sinusoidal de amplitudine 2 i frecvena F0 aleas aleator n intervalul [FS/10, FS/3]. Frecvena de eantionare FS = 8kHz. S se reprezinte semnalul x[n] n domeniul timp i spectrul semnalului n frecvene nenormate i n pulsaii normate. Identificai din spectru pulsaia 0 corespunztoare frecvenei F0 a componentei sinusoidale de la intrare. b) Se consider sistemul discret cu funcia de transfer H ( z ) = b0 + b1 z 1 + b2 z 2 avnd atenuare infinit n 0 determinat la punctul a). Atenuare infinit nseamn ctig 0 adic H (e j ) = 0 deci z1 = e j0 este zerou al lui H(z). Determinai zerourile astfel nct funcia H(z) s aib coeficieni reali i scriei expresiile teoretice ale lui H(z) i H (e j ) . Reprezentai grafic diagrama poli-zerouri. Reprezentai grafic rspunsul n frecven al sistemului. Reprezentai grafic rspunsul la impuls al sistemului. Calculai ieirea sistemului dac la intrare se aplic semnalul x[n]. Reprezentai spectrul semnalului de la ieire n frecvene nenormate i n pulsaii normate.
0

49

2. SEMNALE I SISTEME N TIMP DISCRET

b0 + b1 z 1 + b2 z 2 c) Se consider sistemul discret cu funcia de transfer H ( z ) = 1 + a1 z 1 + a2 z 2 avnd zerourile zk determinate la punctul b) i polii de forma p1 = zk , 0.7<<1 (polii au acelai argument ca zerorurile dar sunt de modul subunitar). Determinai expresia teoretic a coeficienilor i scriei expresiile H(z) i H (e j ) . Calculai toate zerourile i toi polii funciei H(z) i reprezentai grafic diagrama poli/zerouri. Se va alege 0.7<<1. Reprezentai grafic rspunsul n frecven al sistemului. Cum se modific rspunsul n frecven dac polii se apropie de cercul de raz unitate (1)? Reprezentai grafic rspunsul la impuls al sistemului. Calculai ieirea sistemului dac la intrare se aplic semnalul x[n]. Reprezentai spectrul semnalului de la ieire n frecvene nenormate i n pulsaii normate.

3. Reluai problema 2 nlocuind semnalul v[n] cu un semnal vocal. (se va folosi exemplul din arhiva demo1.zip aflat pe site-ul laboratorului).

50

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

  • Instalatii de Stingere A Incendiilor
    Instalatii de Stingere A Incendiilor
    Document15 pagini
    Instalatii de Stingere A Incendiilor
    Tatarus Marius Marian
    Încă nu există evaluări
  • 12b IntServ
    12b IntServ
    Document43 pagini
    12b IntServ
    Tatarus Marius Marian
    Încă nu există evaluări
  • PB TDCR Set1a
    PB TDCR Set1a
    Document6 pagini
    PB TDCR Set1a
    Tatarus Marius Marian
    Încă nu există evaluări
  • 11 VoIP
    11 VoIP
    Document54 pagini
    11 VoIP
    Tatarus Marius Marian
    Încă nu există evaluări
  • 3 Terminale
    3 Terminale
    Document60 pagini
    3 Terminale
    Tatarus Marius Marian
    Încă nu există evaluări
  • 1 RC Introducere
    1 RC Introducere
    Document26 pagini
    1 RC Introducere
    Tatarus Marius Marian
    67% (3)
  • 2 - Bazele Comunicatiei Digitale
    2 - Bazele Comunicatiei Digitale
    Document50 pagini
    2 - Bazele Comunicatiei Digitale
    Marian Bobohalma
    100% (1)
  • L2 CD QPSK 16QAMnou
    L2 CD QPSK 16QAMnou
    Document26 pagini
    L2 CD QPSK 16QAMnou
    Tatarus Marius Marian
    Încă nu există evaluări
  • Seminarul 1
    Seminarul 1
    Document9 pagini
    Seminarul 1
    Tatarus Marius Marian
    100% (1)
  • Subiecte Asc
    Subiecte Asc
    Document2 pagini
    Subiecte Asc
    Tatarus Marius Marian
    Încă nu există evaluări
  • Lucrarea NR
    Lucrarea NR
    Document20 pagini
    Lucrarea NR
    Tatarus Marius Marian
    Încă nu există evaluări
  • !lab 2 Tad MF 2012cta
    !lab 2 Tad MF 2012cta
    Document16 pagini
    !lab 2 Tad MF 2012cta
    Tatarus Marius Marian
    Încă nu există evaluări