Sunteți pe pagina 1din 7

Capitolul 4.

Digitizarea şi reconstrucţia semnalelor analogice

4.1 Conversia analog-digitală

Un semnal f(t) poate fi numit semnal analogic sau semnal continuu în timp dacă este definit pentru
toate valorile variabilei continue t.
Dacă, în schimb, semnalul respectiv este definit doar pentru valori discrete ale variabilei t, atunci el
poate fi numit semnal discret în timp sau semnal analogic eşantionat.
Dacă în plus faţă de a fi discret în timp, valoarea unui semnal poate lua la un moment arbitrar de
timp doar anumite valori într-un domeniu discret, şi fiecare din aceste valori poate fi reprezentată
matematic printr-un cod (de ex. cel binar), atunci se poate spune că semnalul respectiv este un semnal
digital.
Pentru ca un semnal analogic să poată fi acceptat spre prelucrare de un sistem digital, el trebuie în
prealabil convertit de la formatul analogic la cel digital. Echipamentul care efectuează această operaţie
se numeşte convertor analog-digital (CAD, sau DAC – Digital to Analog Converter).

Conversia A/D este un proces care implică trei operaţii:


- eşantionarea, care transformă semnalul analogic x(t) într-un semnal analogic eşantionat x(nT),
caracterizat prin variaţii ale valorii sale doar la momente discrete de timp
- cuantizarea, operaţie prin care semnalul analogic eşantionat este cuantizat în amplitiudine,
alocându-i-se o valoare dintr-un set finit de valori discrete (se obţine semnalul xq(nT)). Cuantizarea
este un proces ireversibil, valorile iniţiale ale eşantioanelor nemaiputând fi recuperate din semnalul
cuantizat, decât cu o anumită eroare (eroarea de cuantizare)
- codarea, care constă în atribuirea unui cod binar fiecărui eşantion din semnalul cuantizat.
Semnalul digital obţinut va fi notat în continuare cu xd(t)
Blocurile care efectuează cele trei operaţii implicate în conversia A/D se numesc eşantionor,
cuantizor, respectiv codor. (figura 4.1).

E ş a n tio n o r C u a n tiz o r C odor

Figura 4.1 Schema bloc principală a convertorului A/D

În structura convertoarelor analog-digitale, nu întotdeauna cele trei module funcţionale pot fi


proiectate separat , motiv pentru care schema din figura 4.1 este mai degrabă funcţională decât
structurală. Pe de altă parte, această separare funcţională uşurează procesul de analiză.

4.1.1 Eşantionarea

Vom presupune pentru început că discretizarea timpului se efectuează cu pas constant T


(eşantionare periodică sau uniformă) şi că eşantioanele sunt reprezentate exact.
Reprezentarea semnalului x(t) doar prin valori ale sale la momente discrete de timp implică riscul
ca evenimente care apar între două momente consecutive de eşantionare să fie pierdute.
Ca urmare a operaţiei de eşantionare apare ca evidentă necesitatea stabilirii condiţiilor în care un
semnal continuu poate fi complet definit prin eşantioanele sale, cu alte cuvinte, condiţiile în care acesta
poate fi refăcut fără nici o pierdere de informaţii din aceste eşantioane.
În acest sens, există teorema eşantionării a lui Shannon, care stabileşte că o funcţie s(t) de bandă
limitată F (nu conţine componente spectrale peste frecvenţa F hertzi), este complet definită de
eşantioanele sale echidistante, prelevate cu o frecvenţă de cel puţin W=2F hertzi.

x (t)

x(n T )
t
0 T 2T 3T 4T 5T 6T 8T 9T 10T

Fig 4.1 Eşantionarea unui semnal analogic

Circuitul de eşantionare este constituit în general dintr-un comutator care se deschide pentru foarte
scurt timp la momentele de eşantionare, respectiv un element de memorare (pentru semnalele electrice
acesta este îm cele mai multe cazuri un condensator) care să păstreze valoarea înregistrată la un anumit
moment până la momentul următor de eşantionare.

4.1.2 Cuantizarea

Pentru pasul de eşantionare s-a considerat până acum că eşantioanele pot fi reprezentate exact,
indiferent de valoarea acestora. Având în vedere însă scopul primordial al operaţiei de conversie
analog-digitală, şi anume acela de a introduce semnalul într-un sistem de prelucrare digital, această
presupunere nu este tocmai conformă cu realitatea, sistemele digitale neputând prelucra semnale cu
valori într-un domeniu continuu.
Prin cuantizare, fiecărui eşantion i se alocă o valoare dintr-un set finit de valori. Distanţa dintre
două nivele consecutive de cuantizare este numit pas de cuantizare. Dacă pasul de cuantizare este
constant, atunci cuantizarea este uniformă, în caz contrar cuantizarea fiind neuniformă. în cazul
cuantizării uniforme, nivelul semnalului de la ieşiea cuantizorului este multiplu al pasului de
cuantizare, în tip ce la cuantizarea neuniformă nivelul semnalului de ieşire este o funcţie monotonă de
întregi care pot avea orice valoare. Majoritatea convertoarelor A/D lucrează cu cuantizare uniformă.
Cele mai folosite două metode pentru cuantizarea uniformă sunt cuantizarea prin rotunjire respectiv
cuantizarea prin trunchiere.

Cuantizarea prin rotunjire


Dacă se notează cu q pasul de cuantizare, funcţia de transfer a cuantizorului (relaţie dintre semnalul
de intrare S(nT) şi semnalul de ieşire Sq(nT)) arată ca în figura 4.2. Pe abscisă sunt reprezentate
nivelele de cuantizare ale eşantioanelor, iar pe ordonată nivelele disponibile pentru reprezentare. Se
observă că pe măsură ce semnalul de intrare variază continuu între valoarea minimă reprezentabilă şi
valoare maximă, semnalul de ieşire variază în trepte. De asemenea, dacă semnalul de intrare depăşeşte
într-un sens sau celălalt valorile limită reprezentabile, semnalul de ieşire se saturează la valoarea limită
(minim sau maxim) corespunzător direcţiei în care a fost depăşit domeniul de reprezentare.
Dacă numărul nivelelor de reprezentare de la ieşire este n, numărul nivelelor analogice de decizie
este n-1, iar distanţa dintre două nivele de cuantizare consecutive este q, prin rotunjire, unui eşantion
analogic i se atribuie cel mai apropiat nivel de reprezentare disponibil.
Analizând graficul din figura 4.2, se constată apariţia a două feluri de erori de reprezentare:
- când semnalul de intrare (eşantionul analogic) se află în domeniul de lucru al cuantizorului,
eroarea de reprezentare variază periodic şi continuu între -q/2 şi q/2. Acest tip de eroare, denumită
eroare de cuantizare, apare atunci când valoarea eşantionului analogic este situată între două nivele
disponibile de cuantizare.
- când semnalul de intrare se află în afara domeniului de cuantizare, toate eşantioanele care
depăşesc EMax sunt rotunjite la EMax, iar eşantioanele care au valori mai mici de -EMax sunt
rotunjite la -EMax. Eroarea care apare în urma acestei rotunjiri se numeşte eroare de depăşire
(overflow error). Valoarea acestui tip de eroare creşte nelimitat odată cu semnalul de intrare. Valorile
EMax respectiv -EMax se mai numesc şi valori de saturaţie ale cuantizorului.

-7 q /2 -5 q /2 -3 q /2 -q /2

q /2 3 q /2 5 q /2 7 q /2

Figura 4.2 Cuantizarea prin rotunjire

Eroarea de rotunjire mai este denumită şi zgomot de rotunjire, efectul ei în sistemul de prelucrare
fiind echivalent cu prezenţa unui zgomot aditiv în componenţa semnalului furnizat de convertorul
analog-digital.

Cuantizarea prin trunchiere


La cuantizarea prin trunchiere unui eşantion analogic i se atribuie cel mai mare nivel de
reprezentare disponibil, care este valoric inferior eşantionului (fig 4.3). Eroarea de trunchiere este
cuprinsă în intervalul (-q,0)

-3 q -2 q -q

q 2q 3q

Figura 4.3 Cuantizarea prin trunchiere


4.1.3 Codarea

Codarea este etapa de alocare a unui număr finit de biţi fiecărui nivel de reprezentare, deci fiecărui
eşantion al semnalului. Această operaţie se execută conform unui anumit cod binar folosit pentru
reprezentarea digitală a datelor. Convertoarele A/D utilizează codarea simplă, considerând simbolurile
echiprobabile. Ca atare, convertoarele A/D respectiv D/A folosesc coduri uniforme simple. Pentru
mărimi pozitive se folosesc coduri unipolare (fără semn), iar pentru cele cu semn se folosesc coduri
bipolare (cu semn). Principalele coduri uniforme simple utilizate de convertoarele A/D şi D/A sunt
prezentate în continuare.

Coduri unipolare

Codul binar natural direct


Acest cod se obţine alocând fiecărui număr biţii corespunzători coeficienţilor reprezentării binare a
numărului respectiv. Bitul de pe poziţia cu ponderea cea mai mare se numeşte MSB (Most Significant
Bit) iar cel de pe poziţia cu ponderea cea mai mică se numeşte LSB (Least Significant Bit). Gama
numerelor pozitive N care pot fi reprezentate cu acest cod este 0 <= N <= 2n-1.
Uneori acest cod este folosit pentru a reprezenta numere subunitare, caz în care gama de valori este
0 <= N <= 1-2-n.

Codul BCD direct


Codul zecimal codat binar (binary coded decimal - BCD) foloseşte pentru reprezentarea fiecărei
cifre un număr de 4 biţi corespunzători codului natural direct.
Codul BCD este folosit de convertoarele A/D utilizate în construcţia instrumentelor de măsură
numericeşi în sistemele de afişare.

Prim complementarea faţă de 1 a simbolurilor binare directe se obţin codurile binare


complementare (codul binar natural complementar, respectiv codul BCD complementar)

Coduri bipolare

Codurile bipolare sunt folosite pentru reprezentarea numerelor cu semn. Cele mai frecvent folosite
coduri bipolare pentru realizarea convertoarelor A/D D/A sunt:
- coduri directe: mărime şi semn (MS), complement faţă de 1 (1C), complement faţă de 2 (2C),
binar deplasat (BD)
- coduri complementare: mărime şi semn complementar, complement faţă de 1 complementar,
complement faţă de 2 complementar, binar deplasat complementar
- coduri modificate: mărime şi semn modificat, complement faţă de 1 modificat.

Toate codurile bipolare se caracterizează prin folosirea unui bit pentru reprezentarea semnului,
situat în poziţia bitului MSB al cuvântului binar, denumit bit de semn. Restul biţilor sunt folosţi pentru
reprezentarea valorii eşantionului şi se numesc biţi de mărime. Prin folosirea bitului de semn, gama de
reprezentare se prelungeşte pe semiaxa numerelor negative, însă îşi reduce la jumătate numărul de
valori reprezentabile pe semiaxa numerelor pozitive.

Codurile complementare se obţin din codurile directe prin complementarea tuturor biţilor. Codurile
modificate se folosesc numai pentru variantele mărime şi semn, respectiv complement faţă de 1, şi se
caracterizează prin faptul că bitul de semn din codul direct corespunzător este complementat.
4.2 Conversia digital-analogică

4.2.1 Reconstrucţia semnalului analogic

Formatul digital al unui semnal ii permite acestuia să poată fi prelucrat de către procesoarele
digitale, însă, de cele mai multe ori, datorită faptului că această formă de reprezentare nu este una
naturală, reproducerea respectivului semnal necesită reconversia sa către fomatul analogic.
Reconstrucţia semnalului analogic din semnalul digital reprezintă operaţia incersă conversiei
analog-digitale şi se execută cu ajutorul dispozitivelor de reconstrucţie. Principial, pentru
reconstituirea semnalului analogic trebuie efectuate operaţiile complementare celor implicate în
conversia A/D, respectiv decodarea, decuantizarea şi deeşantionarea. Structura dispozitivului ideal de
reconstrucţie este prezentată în figura de mai jos:
(Figura 4.2.1)

Prin operaţiile de decodare şi decuantizare, din semnalul digital reprezentat printr-o secvenţă de
simboluri binare 0 şi 1, se obţin eşantioanele analogice.
Deeşantionarea este realizată în general de către un dispozitiv de extrapolare (sau interpolare) a
semnalului pe o perioadă de eşantionare şi de un filtru trece-jos, care elimină frecvenţele înalte
rezultate în urma procesului (zgomotul de eşantionare).
Întrucât operatorul de cuantizare nu este reversibil, nivelul analogic real al semnalului existent la
intrarea cuantizorului din convertorul A/D nu poate fi refăcut. Decuantizarea se reduce la reprezentarea
printr-un continuu de valori a semnalului de la ieşirea decuantizorului (din convertorul A/D), care
aproximează intrarea sa, în limitele erorii de cuantizare.
Prin urmare, din punct de vedere structural, există doar blocul de decodare în locul blocului de
decodare şi decuantizare.
Decodorul şi extrapolatorul (interpolatorul) din dispozitivul de reconstrucţie formează convertorul
digital-analogic (DAC).

4.2.2 Interpolarea polinomială

Interpolarea polinomială este o metodă prin care, pe un interval finit, semnalul analogic poate fi
aproximat cu o funcţie polinomială, determinată de valorile eşantioanelor care se cunosc în acel
interval.
Fiind date N+1 eşantioane, x(ti), i=0,1,2,….,N, ale semnalului x(t), există un polinom unic P(t), de
gradul N, care în cele N+1 puncte ti are exact valoarea x(ti). Astfel, x(t) poate fi determinat pe baza
formulei:

N
x p  t    pnt n (4.2.1)
n 0

Datorită condiţiei de validitate a polinomului de interpolare (P(ti) = x(ti)), coeficienţiii pi ai


polinomului de interpolare trebuie să satisfacă sistemul:

 x t 0   1 t 0 ... t 0N   p0 
 x t     
 1  1 t1 ... t1N   p1 
 .  ...  .   X  T  P (4.2.2)
    
 .   ...  . 
 x t N   1 t N ... t NN   p N 
Se poate demonstra că determinantul matricii T este nenul în orice situaţie (determinant de tip
Vandermonde), ceea ce înseamnă ca matricea T este inversabilă, deci se poate scrie

P  T 1  X (4.2.3)

P reprezintă o interpolare dacă momentul tk pentru care se calculează valoarea lui x(t) aparţine
intervalului [t0,tN], respectiv o extrapolare în caz contrar.
Folosirea metodei de interpolarea polinomială pentru reconstrucţia semnalului analogic ridică
probleme legate de creşterea volumului de calcule care determină întârzierea răspunsului sistemului,
cu efecte nedorite în sistemele care lucrează în timp real

4.2.3 Interpolarea Lagrange

Relaţia (4.2.3) implică calcului inversei unei matrici, operaţie care poate fi evitată folosind formula
de interpolare a lui Lagrange.
Fie setul de N+1 polinoame de gradul N:
N t tj
PN ,i  t    i=0,1,2,3,…,N (4.2.4)
j 0 ti  t j
j i

denumite polinoamele lui Lagrange, care prezintă proprietatea că, pentru orice m întreg, 0;=m;=N,
verifică relaţia

0 daca m  i
PN ,i  t m    m ,i   (4.2.5)
1 daca m  i

Polinomul de gradul N, Q(t), definit prin:

Q t    x t i  PN ,i  t 
N
(4.2.6)
i 0

este verificat pentru toţi întregii m care aparţin intervaluluzi [0,N]

N
Q  t m    x  t i   m ,i  x  t m  (4.2.7)
i 0

Întrucât ambele polinoame, cele din formulele (4.2.3) respectiv (4.2.7) sunt de gradul N şi au valori
egale în N+1 puncte, ele sunt identice. Relaţia (4.2.7) reprezintă formula de interpolare a lui
Lagrange.
4.2.4 Reconstrucţia prin extrapolare

Extrapolatorul de ordinul zero

Este cea mai simplă metodă de reconstruire a semnalului analogic, în care semnalul reconstruit este
format din trepte, valoarea semnalului analogic pe intervalul [nT,(n+1)T] fiind determinată de valoarea
semnalului digital de la momentul nT, care este reţinută până la sosirea eşantionului următor.
Din punct de vedere al spectrului de putere al semnalului rezultat, acest tip de extrapolator prezintă
două tipuri de distorsiuni:
- distorsiuni liniare, determinat de răspunsul în frecvenţă al al extrapolatorului, prin care
componentele spectrale de frecvenţe mari sunt uşor atenuate, atenuările fiind însă tolerabile
- distorsiuni de reconstrucţie, determinate de forma în trepte a semnalului reconstruit, care
introduc componente spectrale parazite în semnalul reconstruit. Pentru a reduce acest efect, la
ieşirea extrapolatorului se introduce un filtru trece-jos simplu.

Extrapolatorul de ordinul intai

Pentru extrapolatorul de ordinul intai, pentru un anumit interval [nT,(n+1)T] semnalul reconstruit
este determinat de valoarea semnalului digital atât de la momentul nT cât şi de la momentul (n+1)T,
valoarea sa la un anumit moment de timp fiind determinată de apropierea respectivului moment de
unul sau altul din capetele intervalului, după formula:
 t  nT   xn  ((n  1)T  t )  xn1
x t  
T

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