Sunteți pe pagina 1din 13

Lucrarea de laborator N 2

Studierea transformării Analog-Digitale a semnalelor folosind


MATLAB. Aproximarea datelor.

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 D/A 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.

Fig.3 Discretizarea periodică a semnalului analog.


2
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< 0
obţ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.
3
Fig. 5 Discretizarea şi quantizarea semnalului sinusoidal.

Delta conversie.

În discuţiile
despre cuantificare
s-a menţioţionat, că
în digital, un
eşantion poate lua
doar o serie de valori
foarte bine
specificate. Atunci
când un singur bit este disponibil pentru codificare, acesta poate reprezenta
doar două valori: 0 sau 1. Pentru a modula semnalul analogic, îl comparăm la
fiecare moment de eșantionare cu poziția în care semnalul cuantizat a fost la
momentul anterior. Dacă semnalul analogic este mai sus, se adaugă un flux 1

4
la fluxul digital. Dacă semnalul analogic este mai jos, se adaugă un 0. Acest
proces se numește conversia delta.

De la delta la delta-sigma
Modularea Delta este
o primă abordare deja
funcțională, dar este puțin
naivă și departe de cea
optimă: raportul calitate /
debit pe care îl oferă nu este
foarte interesant. Există o modalitate de a face mai bine, făcând intrarea
modulatorului dependentă de ieşirea acestuia.
Explicații.
În această diagramă bloc,
funcția de flip-flop (bascule) este
de a sincroniza ansamblul la
frecvența de eșantionare aleasă.
DAC pe 1 biti, pur și simplu, are
funcția de a converti 1 și 0 la
ieșirea din flip-flop în tensiuni
electrice care pot fi comparate cu
semnalul de intrare: dacă ne
plasăm întotdeauna în exemplul
nostru de un semnal original
luând valorile sale între -100 și
100, un 1 va fi transformat în 100
și un 0 în -100. Astfel, semnalul
de ieșire al subtractorului este un semnal de eroare care măsoară diferența
5
dintre semnalul de intrare analogic și eșantionul digital codificat pe un bit la
ieșirea codorului.

Dar noutatea în convertorului delta-sigma este prezența unui


integrator la începutul șirului - de aici și "sigma". Acest integrator intervine
imediat după subtractor și are rolul de a "analiza" evoluția diferenței dintre
semnalul de intrare și semnalul de ieșire. Dacă această diferență este ridicată
în pozitiv, semnalul de ieșire al integratorului va crește foarte rapid (și invers
dacă diferența este mare în negativ).
Să presupunem că semnalul
analogic de intrare este aproape de
0: atunci, indiferent de valoarea
bitului de ieșire, semnalul de eroare
va fi mare (aproape -100 dacă bitul
de ieșire este 1, aproape 100 dacă
aste la 0). Ieșirea integratorului va
varia astfel foarte rapid, fie în sus
sau în jos, și foarte des se schimbă semnul: comparatorul va alterna între 1 și
0.

Dimpotrivă, dacă semnalul


nostru analogic este aproape de 100,
semnalul de eroare cu privire la
bitul la 1 va fi foarte mic, semnalul
de ieșire al comparatorului va varia
puțin și ieșirea comparatorului va
tinde să rămână stabilă la 1 În mod
6
similar, dacă semnalul analogic este apropiat de -100, ieșirea comparatorului
va rămâne stabilă la 0.

Sigma delta şi conversia digital-analogică


Rezultatul acestei conversii delta-sigma se bazează pe faptul că valoarea
semnalului este o funcție a densității de biți 1 la un punct. Așa cum tocmai
am explicat, într-o locație unde se găsesc doar biți la 1, semnalul va fi
aproape de 1; La o locație în care se găsesc doar biți la 0, va fi aproape de
-100; În schimb, dacă se găsește o alternanță regulată și echilibrată de 1 și 0,
semnalul va fi aproape de 0.

Exemplu:

7
Ordinea îndeplinirii lucrării de laborator.

1. Studierea transformării A/D

1.1 Lansaţi pachetul de programe MATLAB.

1.2 Culegeţi comanda demo – va apărea fereastra respectivă cu exemple in

MATLAB.

8
1.3 Găsiţi directoriul "Блок-схемы ", apoi deschideţi directoriul "Блок-
схемы DSP". În acest directoriu găsiţi fişierul "Sigma-Delta A/D
conversion" şi startaţi programul de demonstrare. Va apărea schema-bloc
reprezentată în fig. 6.

Fig. 6 Schema-bloc a convertorului A/D

1.4 Din comanda File deschideţi un nou fişier de modelare şi copiaţi


întreaga bloc-schemă în fişierul nou.

1.5 Startaţi modelarea şi urmăriţi semnalele de întrare şi de ieşire.


Schimbaţi forma semnalului (sinosoidal, treungiular) de la „Generatorul de
semnale” şi urmariţi transformarea acestora.

9
1.6 Startaţi simularea şi urmăriţi schimbarea formei semnalului.

1.7 Schimbaţi forma semnalului de la sursa de semnale şi repetaţi p. 1.6


(semnal sinusoidal, în formă dreptungiulară şi în frmă de undă

treungiulară).

1.8 În directoriul "Блок-схемы DSP" găsiţi fişierul "Библиотека блок-


схем DSP" si deschideţi-l. Deschideţi fişierul "DSP Sincs", apoi deschideţi
fişierul "Simulink Sincs". Pentru a urmări forma semnalului, adăugaţi
ecranul de vizionare a semnalelor după toate blocurile din schema-bloc.
Salvaţi imaginile obţinute după fiecare bloc.

2. Aproximarea datelor.
2.1 Aproximarea polinomială.
Interpolarea polinomiala “in sensul celor mai mici patrate” –
REGERESII POLINOMIALE.

10
Aproximarea polinomială se realizează 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); hold
x1=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('functia'),grid

Notă: Schimbaţi parametrii semnalului y, notaţi noul semnal prin yp şi


repetaţi aproximarea polinomială pentru noul semnal.

2.2 Aproximarea “spline”.


Interpolarea de tip spline este folosita in cazul in care evolutia
datelor nu se poate incadra pe aliura unei functii polinomiale sau in
cazul in care se doreste desenarea datelor pe un grafic neted.
Curba este neteda definita de un set de polinoame, calculata, astfel
incata sa conduca la tranzitii “line” de la un polinom la altul.
Aproximarea “ spline” se realizează cu ajutorul procedurii
spline(X,Y,Xi).
Reprezentaţi aproximarea “cubic spline” după cum urmează:

11
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); hold
x1=-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

Notă: Schimbaţi parametrii semnalului y, notaţi noul semnal prin ycs şi


repetaţi aproximarea „cubic spline” pentru noul semnal.

Întrebări de control:
1. Cum este numit semnalul dacă acesta ia toate valorile posibile pe o
regiune finită sau infinită.
2. Cum este numit semnalul dacă acesta ia valorile pe o regiune finită de
valori.
3. Formulaţi definiţia unui semnal digital.
4. Formulaţi definiţia procedurii de discretizare.
5. Formulaţi definiţia procedurii de quntizzare.
6. Conform criteriului Nyquist - frecvenţa de prelevare a mostrelor trebuie
să fie ?

Conţinutul Dării de seamă.


- scopul lucrării,
- scurte noţiuni teoretice;
- bloc-schema convertorului A/D (perfecţionată).
- semnalele de intrare şi ieşire modelate (sinusoidal, dreptunghiular şi
triunghiular),
- imaginile obţinute la osciloscop după fiecare bloc,
- textele programelor de aproximare şi figurele obţinute;
- concluzii.
12
Literatura.

1.
PROAKIS, John G.; MANOLAKIS, Dimitris G. Digital
Signal Processing Principles, Algorithms and Applications.
U.S.A. Prentice-Hall International, 1996, 596 p..ISBN0-13-
394338-9
2.
HAYKIN, Simon; VAN VEEN, Barry Signals and
Systems, New York, John Wiley and Sons, 1999, 694 p.. ISBN0-
471-13820-7,
3.
OPPENHEIM, Alan V.; SCHAFER, R. W; BUCK, J. R
Discrete-Time Signal Proccesing. London, Prentice-Hall
International, 1999, 870 p..
4. GRAMA, Lacrimioara Prelucrarea numerica a semnalelor
indrumator de laborator. Cluj-Napoca, U.T.Press, 2014, 223 p.
ISBN978-973-662-968-6
5. KERTÉSZ, Csaba-Zoltán; IVANOVICI, Laurențiu-Mihail
Procesarea digitală a semnalelor. Îndrumar de laborator. Universitatea
Transilvania, Brașov, 2009, 73 p.

13

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