Documente Academic
Documente Profesional
Documente Cultură
Figura de mai jos ilustreaza definitia a doi termeni importanti in DSP: functia delta si raspunsul
la impuls.
Functia delta este un impuls normalizat Toate esantioanele sale au valoarea zero cu exceptia
unuia singur care are valoarea unu.
Raspunsul la impuls al unui sistem liniar, notat de regula prin h[n], este semnalul de iesire al
unui sistem liniar atunci cand la intrarea s-a aplicat un semnal impuls unitar (functia delta).
Doua sisteme liniare vor avea desigur doua raspunsuri diferite la aplicarea functiei delta. Pe scurt
doua raspunsuri la impuls diferite.
Orice impuls poate fi exprimat in functie de functia delta. Spre exemplu, un impuls a[n] care ia
valoarea -3 pentru esantionul 7 se poate scrie:
Daca h[n] este raspunsul la impul al unui sistem liniar ne putem intreba care este impulsul
acestui sistem la semnalul anterior a[n]. Datorita proprietatilor sistemelor liniare se poate arata
usor ca raspunsul sistemului este acum:
Cu alte cuvinte semnalul de iesire este scalat si deplasat cu aceleasi valori ca si impulsul de
intrare.
Convolutia
Sa rezumam acum modul in care un sistem modifica un semnal de intrare pentru a forma
semnalul de iesire.
1. Semnalul de intrare poate fi descompus intr-un set de impulsuri, fiecare dintre ele putand
fi privit ca fiind obtinut printr-o scalare si o deplasare a functiei delta.
2. Semnalul de iesire rezultat din fiecare imuls este o versiune scalata si deplasata a functiei
de raspuns la impuls.
3. Semnalul de iesire complet poate fi gasit prin adunarea acestor raspunsuri scalate si
deplasate.
Cu alte cuvinte, daca cunoastem raspunsul la semnalul delta, putem calcula care va fi raspunsul
la orice semnal de intrare posibil. Aceasta insamna ca suntem in posesia intregii informatii
despre sistemul liniar. In clar, raspunsul la impuls caracterizeaza complet un sistem liniar.
In anumite aplicatii specifice, functia raspuns la impuls mai poate fi intalnita si sub alte
denumiri.
Daca sistemul este considerat un filtru, raspunsul la impuls este numit nucleul filtrului (the filter
kernel), nucleul de convolutie, sau simplu nucleu.
In toate aceste cazuri, aceste denumiri se refera la acelasi lucru: semnalul produs de un sistem
liniar la functia delta.
Convolutia este deci o peratie matematica formala precum adunarea, inmultirea sau integrarea.
Asa cum o operatie matematica binara preia doi operanzi pentru a produce un al treilea, analog,
convolutia combina doua semnale pentru a forma un al treilea semnal.
Convolutia este utilizata in matematica in multe domenii precum: calculul probabilitatilor si
statistica. La sistemele liniare, convolutia este folosita pentru a descrie relatia dintre trei semnale
de interes: semnalul de intrare, semnalul de raspuns la impuls i semnalul de iesire.
Figura urmatoare prezinta notatia folosita pentru semnale si pentru operatia de convolutie in
cazul sistemelor liniare.
Un semnal de intrare, x[n], ce intra intr-un sistem liniar al carui raspuns la functia delta este h[n]
produce la iesire un semnal y[n] care este rezultatul aplicarii operatie de convolutie asupra
functiilor x[n] si h[n]
Derivata discreta
De retinut ca aceste doua perspective reprezinta moduri diferite de concepere a aceleiasi operatie
matematica.
Primul punct de vedere este important deoarece el permite o intelegere conceptuala a modului
in care convolutia opereaza in domeniul procesarii digitale a semnalelor. Al doilea punct de
vedere descrie principiile matematice ale convolutiei.
Convolutia din punctul de vedere al semnalului de intrare
Observam ca daca xk este esantionul k al semnalului de intrare x[n] atunci acesta contribuie la
iesire cu un semnal yyk = xk h[n-k] (prin h[n-k] intelegem semnalul functie de raspuns deplasat la
dreapta cu k unitati).
Mai precis, daca nucleul are M elemente de valori hj, cu j intre 1 si M, vor fi afectate
elementele cu indicii de la k la k+M-1 ale semnalului de iesire prin adaugarea valorilor
(yyk)i+k-1= xk hi, cu i de la 1 la M.
Astfel, algoritmul de calcul al convolutiei semnalului de intrare x[n] format din N esantioane cu
un nucleu h[n] de M elemente se poate scrie
Fie convolutia unui semnal format din 9 esantioane convolutat cu un nucleu format din 4
esantioane.
Componentele semnalului de iesire pentru aceasta convolutie sunt urmatoarele
Inversam acum nucleul cu semnalul de intrare din exemplul anterior. Avem astfel convolutia
unui semnal format din 4 esantioane convolutat cu un nucleu format din 9 esantioane.
Componentele semnalului de iesire pentru aceasta convolutie sunt urmatoarele
O simpla comparare a semnalelor de iesire din exemplele anterioare arata ca ele reprezinta o
aceeasi functie. Concluzia nu poate fi decat una singura: convolutia este o operatie comutativa.
Adica
a[n]*b[n] = b[n]*a[n]
Convolutia in Matlab
Exemplu:
n domeniul de frecven convoluia este numai multiplicarea semnalelor, aceast proprietate este
folosita pentru a gsi raspunsul sistemelor.
Fie X1 un semnal de intrare a sistemului cu raspunsul de impuls x2, vom lua FFT de X1 i X2 i le vom
multiplica pentru a obine x3 in domeniul frecvena.
Exemplu:
Filtrarea Semnalelor
Filtrarea este o operatie fundamentala de procesare dintr-un sistem de procesare a semnalelor.
Filtrarea este utilizata de regula pentru eliminarea zgomotului care afecteaza un semnal. In functie de tipul
filtrului (TJ, TB sau TS), aceta va lasa sa treaca anumite frecvente ale semnalului, dintr-o banda
specificata, rejectand frecventele din afara beznii de trecere.
Operatia de filtrare reprezinta de regula trecerea unui semnal x(t) printr-un sistem dliniar
invariant in timp, a carui functie pondere h(t) este cunoscuta.
Un sistem se numeste liniar, daca respecta principiul superpozitiei, adica daca la intrarea
sistemului aplicam o combinatie liniara de doua ( sau mai multe) semnale ax1(t)+bx2(t), a,b R, atunci
semnalul de la iesirea sistemului poate fi scris ca fiind ay1(t)+ay2(t), unde y1(t) si y2(t)
reprezintaraspunsurile sistemului la semnalele x1(t) respective x2(t).
Daca raspunsul sistemului este mereu acelasi pentru acelasi semnal de intrare, indifferent de
momentul de timp la care este aplicat semnalul respective la intrarea sistemului, atunci sistemul se
numeste invariant in timp.
Sistemul are asociat o functie pondere h(t), care reprezinta raspunsul la impuls al sistemului, daca
iesirea corespunzatoare unui impuls Dirac aplicat la intrare. Operatia realizata de un bloc de filtrare nu
este altceva decat o operatie de convolutie data de urmatoarea formula:
unde Y(), H() si X() reprezinta spectrele Fourier ale lui y(t), h(t) respective x(t). H() poarta numele
de functie de transfer a sistemului/filtrului.
Convolutia poate fi imaginata ca o fereastra glisanta reprezentata de functia pondere h(t), care se
deplaseaza peste semnalul de intrare, realizandu-se o suma a esantioanelor de intrare ponderate cu
coeficientii filtrului. Suma nu este altceva decat raspunsul filtrului la un moment dat.
Convolutia
Cand raspunsul la impuls al blocului respective are lungimea infinita, nu se poate realize
convolutia cu functia de transfer. In acest caz se folosesc doua seturi de coeficienti, unul care convolve cu
esantioanele de la intrare iar celalalt cu iesirele anterioare, astfel incat raspunsul la impuls al intregului
sistem sa fie exact raspunsul necesar.
Aceasta formula poate fi realizata fizic prin folosirea unor blocuri de intarziere si amplificare
asupra intrarii si iesirii si insumarea acestor semnale rezultate.
y = filter(b,a,x);
In acest caz x este vectorul ce ocntine semnalul de intrare, iar b si a sunt doi vectori ce contin
coeficientii filtrului. Daca vrem sa realizam o filtrare cu o functie de transfer de lungime finite (adica o
convolutie) putem folosi urmatorul apel al functiei filter:
y = filter(h,1,x);
in care apare 1 in loc de a, pentru ca a(1) trebuie neaparat sa fie definit pentru ca la aceasta valoare se face
normarea rezultatului.
Proiectarea unui filtru FIR se bazeaza pe diverse tipuri de ferestre (dreptunghiulara, triunghiulara,
Hamming, Hann, Chebyshev, Kaiser).
fir1(N, Wn);
unde N este ordinal filtrului (filtrul va avea N+1 coeficienti), Wn este frecventa de taiere raportata la
frecventa maxima a semnalului (frecventa de esantionare /2). Daca Wn este un vector de 2 sau mai multe
elemente atunci filtrul va fi un filtru trece banda cu banda intre perechile de valori din Wn. Daca este
speficicat high (in cazul in care Wn este scalar) atunci filtrul va fi un filtru trece sus in loc de filtru trece
jos, iar daca este specificat stop (in cazul in care Wn este vector de mai multe elemente) atunci filtrul va
devein filtru opreste banda , wind este o fereastra folosita la generarea filtrului. Implicit fereastra folosita
este o fereastra Hamming. Diferite tipuri de ferestre pot fi generate cu comenzile: boxcar, Bartlett,
hamming, hann, Kaiser, chebwin, blackman.
Comanda fir2 are urmatoarea sintaxa:
fir2(N, F, M)
unde N este ordinal filtrului, iar F si M reprezinta raspunsul dorit in frecventa al filtrului specificat sub
forma grafica (ca si cum ar fi desenat cu o comanda gen plot(F,M)). Comanda fir2 va genera un filtru care
aproximeaza acest raspuns in frecventa.
Functia de transfer (coeficientii) si raspunsul in frecventa a unor filtre trece jos, trece banda si
trece sus este prezentat in figura:
Filtre IIR
Filtrele IIR sunt filtre recusive la care pentru calcularea valorii curente a semnalului de iesire sunt folosite
atat valorile semnalului de intrare cat si valorile vechi ale semnalului de iesire. Astfel se poate realize un
raspuns aproape infinit fara a utilize foarte multi coeficienti. Ecuatia care implementeaza un filtru IIR
este urmatoarea:
Avantajul acestor filtre este ca se poate realize o filtrare cu raspuns lung cu calculi putine,
dezavantajul fiind ca nu avem control la fel de prcis asupra raspunsului filtrului, putand aparea
ripluri(oscilatii nedorite) in banda de trecere si in banda de taiere. De asemenea filtrul poate devein
instabil daca coeficientul pentru esantioanele de iesire depaseste 1, caz in care semnalul la iesire va intra
in saturatie.
In Matlab proiectarea filtrelor IIR se poate face cu functiile butter, cheby1, cheby2 , ellip si
yulewalk. Parametrii sunt aceiasi ca la filtrele FIR.
[b a] = butter(N, Wn);
Acest filtru prezinta ripluri atat in banda de trecere, cat si in banda de taiere, aceste ripluri pot fi
controlate cu parametrii Rp si Rs similar cu filtrele Chebysev.
Un exemplu pentru aceste filtre reprezentate grafic prin intermediul comenzii freqz :
Functia yulewalk genereaza un filtru IRR care aproximeaza un raspuns in frecventa precizat in
mod similar cu functia fir2:
[b a] = yulewalk(N, F, M)
Pentru a calcula ordinal minim al unui filtru IIR care corespunde anumitor constrangeri asupra
riplurilor in banda de trecere si banda de taiere si frecventele limita se pot folosi functiile buttord,
cheblord, cheb2ord si ellipord.
Biografie:
www.scrib.com
www.mathworks.com