laboratorul nr.2

10

Click here to load reader

Upload: ion-virlan

Post on 21-Apr-2017

283 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Laboratorul Nr.2

Universitatea Tehnică a MoldoveiFacultatea Calculatoare Informatica şi Microelectronica

Filiera Francofona ”Informatica”

RAPORTla disciplina „Prelucrarea Semnalelor”

Lucrare de laborator №2

Tema: ” Studierea transformării Analog-Digitale a semnalelor folosind MATLAB. Aproximarea datelor.”

A elaborat: studenta grupei FI-111, Oleinicov Mihaela

A verificat: Conferenţiar universitar, dr. Serghei Răilean

Chişinău 2014

Page 2: Laboratorul Nr.2

Scopul lucrării: Studierea transformării A/D a semnalelor folosind MATLAB.

Noțiuni teoretice: Cele mai întrebuinţate semnale din punct de vedere practic, aşa ca semnalul vorbirii, semnalele biologice, semnalele seismice, semnalele radar, semnalele sonore şi diferite semnale de comunicaţie (audio şi video semnalele) sînt analogice. Pentru prelucrarea semnalelor analogice cu prin intermediul rocesoarelor digitale e necesar în primul rând de a transforma semnalele în formă digitală. Această procedură se numeşte transformarea analog-digitală (A/D), şi corespunzător dispozitivul e numit convertor A/D.

Conceptual procesul de transformare A/D e un proces cu trei trepte (fig.1).

Fig.1 Părţile componente ale convertorului A/D

1. Discretizarea – e numită conversia semnalului continuu în timp în semnal discret în timp prin luarea "probelor" din semnalul continuu în timp. Deci, dacă xa(t) este semnalul de întrare a discretizatorului, atunci xa(nT)=x(n) este semnalul de ieşire, unde T este intervalul de discretizare.

2. Quantizarea – este conversia semnalului discret în timp cu valori continue în semnal discret în timp cu valori discrete în timp. Valoare fiecărei "probe" a semnalului e reprezentată printr-o valoare ce aparţine unui set de valori posibile. Diferenţa dintre "probele"nequantizate x(n) şi cele quantizate xq(n) se numeşte greşala (eroarea) quantizării.

3. Codarea - reprezentarea fiecărei valori quantizate a semnalului xq(n) printr-un şir de valori binare În multe cazuri de interes practic (semnalul vorbirii) e necesar de a transformasemnalul digital în semnal de

formă analogică. Procesul de conversie a semnalului digital în semnal analogic e cunoscut ca conversie digital-analogică (D/A). Orice conversie D/A e cunoscută ca "unirea probelor" în semnalul digital pentru transformarea semnalului digital în semnal analogic. Figura 2 ilustrează o simplă formă a transformării D/A, numită aproximarea pe trepte ("zero-order hold" – eng.).

Un alt exemplu de aproximare posibilă este conectarea liniară a perechilor consecutive a "probelor" (aproximarea liniară)

Fig. 2 Conversia A/D prin aproximarea pe trepte

Există multe forme de discretizare a semnalelor. Ne vom limita cu descrierea discretizării periodice sau discretizării uniforme, care este cea mai des folostă în practică. Discretizarea periodică se descrie : x(n) = xa(nT) (1) unde x(n) este semnalul discret în timp obţinut prin luarea "probelor" din semnalul analogic xa(t) la fiecare T

secunde. Această procedură este ilustrată în fig. 3.

Page 3: Laboratorul Nr.2

Fig.3 Discretizarea periodică a semnalului analog.

Intervalul de timp T între "probele" consecutive se numeşte perioada de discretizare, iar mărimea inversă - 1/T=F - este viteza de discretizare ("probe" pe secundă) sau frecvenţa de discretizare. După cum am menţionat mai sus, semnalul digital e o consecutivitate de valori ("probe") unde fiecare este reprezentată cu o precizie finită. Procesul de conversie a semnalului discret în timp cu o amplitudine continua într-un semnal discret în timp cu exprimarea fiecărei valori cu un număr finit de valori se numeşte quantizare. Eroarea întrodusă în reprezentarea semnalului cu valoarea continua cu un set de valori discrete se numeşte eroarea quantizării sau zgomotul quantizării. Operaţia quantizării "probelor" x(n) se notează Q[x(n)], iar xq(n) - un şir de "probe" quantizate:

xq(n) = Q[x(n)] (2)Eroarea quantizării e definită ca un şir eq(n) de diferenţe dintre valorile quantizate şi valorile reale ale

"probelor" :

eq(n)=xq(n) – x(n) (3)

Acest proces este ilustrat în fig. 4 , unde e reprezentat un exemplu de quantiyare a şirului : 0.9n, n≥ 0 X(n) = (4) 0, n< 0obţinut prin discretizarea semnalului analogic exponenţial xa=0.9t , t≥ 0 cu frecvenţa de discretizare de 1 Hz.

Fig. 4 Ilustrarea quantizăriiÎn figura 5 este ilustrat procesul de discretizare şi quantizare a semnalului analogic sinusoidal:

xa(t)=Acos 0 t (5)

Liniile orizontale reprezintă nivelele de quantizare. Liniile verticale repretintă timpul de discretizare.

Fig. 5 Discretizarea şi quantizarea semnalului sinusoidal.

Page 4: Laboratorul Nr.2

Mersul lucrării1. Studierea transformării A/D

1.1 Schema-bloc a convertorului A/D pentru semnalul de intrare square (dreptunghiular):

1.2 Schema-bloc a convertorului A/D pentru semnalul de intrare sine (sinusoidal):

1.3 Schema-bloc a convertorului A/D pentru semnalul de intrare sawtooth (triunghiular):

Page 5: Laboratorul Nr.2

1.4 Adăugarea ecranului de vizionare a semnalelor după diferite blocuri în schemă şi urmărirea diferitelor forme ale semnalului:

Page 6: Laboratorul Nr.2

2. Aproximarea datelor2.1 Aproximarea polinomială.

Aproximarea polinomială se înfăptuieşte cu ajutorul procedurii polyfit(X,Y,n), unde n este ordinul

polinomului de aproximare. Reprezentaţi pe un singur grafic dependenţele polinoamelor de

aproximare după cum urmează:

x=[1 2 3 4 5 6 7 8 9];y=[-1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1 -1];p1=polyfit(x,y,1);p2=polyfit(x,y,2);p3=polyfit(x,y,3);p4=polyfit(x,y,4);stem(x,y); holdx1=0.5:0.05:9.5;y1=polyval(p1,x1);y2=polyval(p2,x1);y3=polyval(p3,x1);y4=polyval(p4,x1)plot(x1,y1,x1,y2,x1,y3,x1,y4), grid,… set(gca,'FontName', ...'Arial Cyr','FontSize',16)title('Aproximarea polinomiala')…xlabel('Argumentul'),ylabel('funa'),grid

*aproximarea polinomială pentru semnalul yp (semnalul y cu parametrii schimbaţi):

x=[1 2 3 4 5 6 7 8 9];yp=[0.1 0.2 0.18 0.28 0.3 0.32 0.48 0.46 0.6]p1=polyfit(x,yp,1);p2=polyfit(x,yp,2);

Page 7: Laboratorul Nr.2

p3=polyfit(x,yp,3);p4=polyfit(x,yp,4);stem(x,yp); holdx1=0.5:0.05:9.5;yp1=polyval(p1,x1);yp2=polyval(p2,x1);yp3=polyval(p3,x1);yp4=polyval(p4,x1);plot(x1,yp1,x1,yp2,x1,yp3,x1,y4), grid, set(gca,'FontName', ...'Arial Cyr','FontSize',10)title('Aproximarea polinomiala')xlabel('Argumentul'),ylabel('functia'),grid

2.2 Aproximarea “cubic spline”. Aproximarea “cubic spline” se realizează cu ajutorul procedurii spline(X,Y,Xi).a.x=-0.5:0.1:0.3;y=[-1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1 -1];stem(x,y); holdx1=-0.5:0.01:0.3;y2=spline(x,y,x1);plot(x,y,x1,y2), grid, set (gca,'FontName', ...'Arial Cyr','FontSize',16)title('Aproximarea cubic spline')xlabel('Argumentul'),ylabel('functia'),grid

b.x=-0.5:0.1:0.3;ycs=[0.1 0.2 0.18 0.28 0.3 0.32 0.48 0.46 0.6]stem(x,ycs); holdx1=-0.5:0.01:0.3;ycs2=spline(x,y,x1);plot(x,ycs,x1,ycs2), grid, set (gca,'FontName', ...'Arial Cyr','FontSize',10)title('Aproximarea cubic spline')xlabel('Argumentul'),ylabel('functia'),grid

2.3 Aproximarea tabelară unidimesională.

Aproximarea tabelară unidimesională se realizează cu ajutorul procedurii

interpl(X,Y,Xi,’metoda’), şi permite de a indica metoda de aproximare. Reprezentarea aproximarii

lineare (nu se indică), pe praguri, cubică şi “cubic spline”:a.x=-0.5:0.1:0.3;y=[-1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1 -1];stem(x,y); holdx1=-0.5:0.01:0.3;y1=interp1(x,y,x1);y2=interp1(x,y,x1,'nearest');y3=interp1(x,y,x1,'cubic');y4=interp1(x,y,x1,'spline');plot(x1,y1,x1,y2,x1,y3,x1,y4),... grid, set(gca,'FontName', ...'Arial Cyr','FontSize',16)...

Page 8: Laboratorul Nr.2

title('Aproximarea prin procedura interpl')...xlabel('Argumentul'),ylabel('functia'),grid

b. x=-0.5:0.1:0.3;ytu=[0.1 0.2 0.18 0.28 0.3 0.32 0.48 0.46 0.6]stem(x,ytu); holdx1=-0.5:0.01:0.3;ytu1=interp1(x,ytu,x1);ytu2=interp1(x,ytu,x1,'nearest');ytu3=interp1(x,ytu,x1,'cubic');ytu4=interp1(x,ytu,x1,'spline');plot(x1,ytu1,x1,ytu2,x1,y3,x1,ytu4),... grid, set(gca,'FontName', ...'Arial Cyr','FontSize',10)...title('Aproximarea prin... procedura interpl')...

xlabel('Argumentul'),ylabel('functia'),...grid

Concluzie: Efectuând această lucrare de laborator am studiat transformarea Analogic-digitală a unui semnal folosind Matlab. Pentru prelucrarea semnalelor analogice cu ajutorul procesoarelor digitale e necesar în primul rând de a transforma semnalele în formă digitală. Am urmărit schimbarea semnalelor la schimbarea acestora in diferite forme: sin, square, sawtooth, random. Am aproximat datele.

Page 9: Laboratorul Nr.2