convolutia si filtrarea semnalelor

20
Popa George Catalin Grupa 8315 Toma Constantin Izabel Convolutia si filtrarea semnalelor Convolutia este o modalitate matematica de a combina doua semnale pentru a forma un al treilea. Ea este singura tehnica importanta in procesarea digitala a semnalelor. Folosind strategia descompunerii in impulsuri, sistemele sunt descris de un semnal numit raspuns la impuls. Convolutia este importanta deoarece leaga cele trei semnal de interes: semnalul de intrare, semnalul de iesire si raspunsul la impuls. Acest capitol prezinta convolutia din doua puncte diferite de vedere, numite algoritmul de intrare si algoritmul de iesire. Functia delta si raspunsul la impuls Figura de mai jos ilustreaza definitia a doi termeni importanti in DSP: functia delta si raspunsul la impuls. Functia delta 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

Upload: george-catalin

Post on 06-Jul-2016

139 views

Category:

Documents


11 download

DESCRIPTION

Convolutia Si Filtrarea Semnalelor

TRANSCRIPT

Page 1: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Convolutia si filtrarea semnalelor

Convolutia este o modalitate matematica de a combina doua semnale pentru a forma un al treilea.Ea este singura tehnica importanta in procesarea digitala a semnalelor. Folosind strategia descompunerii in impulsuri, sistemele sunt descris de un semnal numit raspuns la impuls. Convolutia este importanta deoarece leaga cele trei semnal de interes: semnalul de intrare, semnalul de iesire si raspunsul la impuls. Acest capitol prezinta convolutia din doua puncte diferite de vedere, numite algoritmul de intrare si algoritmul de iesire.

Functia delta si raspunsul la impuls

Figura de mai jos ilustreaza definitia a doi termeni importanti in DSP: functia delta si raspunsul la impuls.

Functia delta 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 unuisistem 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

Page 2: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

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:

Page 3: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

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.

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.

Semnalul de iesire rezultat din fiecare imuls este o versiune scalata si deplasata a functiei de raspuns la impuls.

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 filterkernel), nucleul de convolutie, sau simplu nucleu.

In procesarea de imagine, functia raspuns la impuls este numita functia de imprastiere a punctului (the point spread function).

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,

Page 4: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

convolutia combina doua semnale pentru a forma un al treilea semnal.

Page 5: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

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]

Cu alte cuvinte semnalul de intrare convolutat cu semnalul de raspuns la impuls reprezinta semnalul de iesire. De regula operatia de convolutie este notata folosind caracterul steluta (*) care, din nefericire, in toate limbajele de programare, desemneaza operatia de inmultire.

Fie doua exemple notabile:

Filtrul trece jos

Filtrul trece sus

Page 6: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Atenuatorul inversor

Derivata discreta

Sa intram acum in detaliile matematice ale convolutiei. In domeniul procesarii digitale a semnalelor, convolutia poate fi inteleasa in doua moduri distincte.

Primul priveste convolutia din punctul de vedere al semnalului de intrare. Acesta analizeaza modul in care fiecare esantion din semnalul de intrare contribuie la valoarea mai multor puncte ale semnalului de iesire.

Al doilea mod priveste convolutia din punctul de vedere al semnalului de iesire. Acesta analizeaza modul in care fiecare esantion al semnalului de iesire a primit informatie de la mai multe puncte ale semnalului de intrare.

De retinut ca aceste doua perspective reprezinta moduri diferite de concepere a aceleiasi operatie

Page 7: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

matematica.

Primul punct de vedere este important deoarece el permite o intelegere conceptuala a modului incare convolutia opereaza in domeniul procesarii digitale a semnalelor. Al doilea punct de vedere descrie principiile matematice ale convolutiei.

Page 8: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

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

Pentru k de la 1 la N+M-1 initializeaza yk = 0.

Pentru k de la 1 la N si i de la 1 la M calculeaza yi+k-1 = yi+k-1 + xk hi.

Exemplu de convolutie 9x4

Fie convolutia unui semnal format din 9 esantioane convolutat cu un nucleu format din 4 esantioane.

Page 9: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Componentele semnalului de iesire pentru aceasta convolutie sunt urmatoarele

Exemplu de convolutie 4x9

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.

Page 10: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Componentele semnalului de iesire pentru aceasta convolutie sunt urmatoarele

Convolutia este o operatie comutativa

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]

Page 11: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Convolutia in Matlab

Convolutia in matlab se obtine prin comanda “conv”.

Daca ‘u’ este un vector cu lungimea ‘n’ si ‘v’ este un alt vector cu lungimea ‘m’, convolutia lor va avea lungimea ‘n+m-1’.

Convolutia este o operatie comutativa.

Convolutia in domeniul timp corespunde multiplicarii in domeniul frecventa.

Exemplu:>> clear all>> u = [1 2 3 4];>> v = [10 20 30];>> c = conv(u,v);>> c

c = 10 40 100 160 170 120

Raspunsul la impuls si de intrare este folosit pentru a calcula randamentul sistemului, de exemplu :>> clear all>> x=[2 3 4 1 2 3 7 8];%input signal to our system%>> t=1:10;>> h=exp(-t);%impulse response of the system defined from 1 to 10 secs%>> y=conv(x,h);>> y

y = Columns 1 through 7 0.7358 1.3743 1.9771 1.0952 1.1387 1.5225 3.1353 Columns 8 through 14 4.0964 1.5070 0.5544 0.2039 0.0750 0.0275 0.0101 Columns 15 through 17 0.0037 0.0013 0.0004

Page 12: Convolutia Si Filtrarea Semnalelor

Popa George Catalin

Grupa 8315Toma Constantin Izabel

Grafice :

Page 13: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Analiza in domeniul frecventa:

Page 14: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Comanda de baza pentru analiza Fourier este “fft”:>> clear all>> t = 0:0.001:0.6;>> x = sin(2*pi*50*t)+sin(2*pi*120*t);>> plot(1000*t(1:50),x(1:50))>> title('Signal')>> xlabel('time(miliseconds)')>> X = fft(x,512);>> Pxx = X.* conj(X) / 512;>> f= 1000*(0:256)/512;>> plot(f,Pxx(1:257))>> title('Frequency content of y')>> xlabel('frequency (Hz) ')

Grafice pentru domeniul timp si domeniul frecventa:

Page 15: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Convolutia folosind FFT

În domeniul de frecvență convoluția este numai multiplicarea semnalelor, această proprietate este folosita pentru a găsi raspunsul sistemelor.

Fie X1 un semnal de intrare a sistemului cu raspunsul de impuls x2, vom lua FFTde X1 și X2 și le vom multiplica pentru a obține x3 in domeniul frecvența.

Exemplu:>> clear all>> x1=[ 1 2 3 4 0 0];>> x2=[-3 5 -4 0 0 0];>> t=[0 1 2 3 4 5];>> X1=fft(x1);>> X2=fft(x2);>> X1mag=abs(X1);>> X2mag=abs(X2);>> X1angle=angle(X1);>> X2angle=angle(X2);>> X3=X1.*X2;>> X3mag=abs(X3);>> X3angle=angle(X3);>> x3=ifft(X3);>> plot(x3)

Page 16: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Filtrarea SemnalelorFiltrarea 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).

Page 17: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Daca raspunsul sistemului este mereu acelasi pentru acelasi semnal de intrare, indifferent de momentul detimp 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:

In domeniul spectral, produsul de convolutie se transforma in produs simplu:

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.

Page 18: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

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.

Astfel filtrarea se poate descrie cu formula:

Aceasta formula poate fi realizata fizic prin folosirea unor blocuri de intarziere si amplificare asupra intrarii si iesirii si insumarea acestor semnale rezultate.

Page 19: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

Implementarea unui filtru cu blocuri de intarziere si amplificare

Filtrarea unui semnal se realizeaza in matlab cu functia ‘filter’:

» y = filter(b,a,x);

Page 20: Convolutia Si Filtrarea Semnalelor

Popa George Catalin Grupa 8315Toma Constantin Izabel

In acest caz x este vectorul ce contine 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.