Procesarea Semnalelor
Sumar Introducere Transformata Fourier Discreta Aplicatii Rezultate demonstrative
Intuitie Sa se reprezinte un esantion finit de semnal intr-un spatiu cu suficient de multe dimensiuni, spatiu din care sa se poata reveni inapoi in dimensiunea timp. Fiecare dimensiune sa corespunda unei frecvente.
Intuitie Oricare 2 dimensiuni sa fie ortogonale: daca in semnal exista frecventa x, acest lucru sa nu implice automat existenta altei frecvente y, x y, daca exista x atunci exista y sa fie relatie data doar de sursa de semnal, nu si de geometria spatiului. Spatiul astfel construit se numeste DOMENIUL DE FRECVENTA AL SEMNALELOR.
De cedomeniucu axe ortogonale? Motive in plus Ca sa se poata manipula spectrul de frecventa al semnalelor la un nivel cat mai fin, fara alterarea altor componente ale acestuia. Exemple: Filtrarea semnalului inseamna reducerea coordonatelor semnalului la 0 pe axele frecventelor pe care vrem sa le filtram Amplificarea inseamna marirea coordonatelor pe anumite axe din domeniul de frecventa
Domeniul Frecventa Cate dimensiuni are? Teoretic are un numar infinit de dimensiuni. Exemplu: SAU axa 1: 1 Hz axa 2: 2 Hz. axa n: n Hz, n N axa 1: 0.5 Hz, axa 2: 1 Hz, axa 3: 1.5 Hz,...
In realitate... Alegem subspatii ale domeniului de frecventa Alegem cate o axa pentru fiecare frecventa care ne intereseaza. De obicei alegem axele frecventelor intregi exprimate in Hz Frecventele(axele) le alegem in functie de: rezolutia la care vrem sa procesam semnalul frecventa maxima din semnal fn
Exemplu AvemunsemnalcufN=1000Hz.Putemalege: 1000 de axe de coordonate pentru frecvente de la 1 Hz la 1000 Hz din HzinHz un domeniu de frecvente de 2 ori mai fin: 2000 de dimensiuni, rezolutie: 0.5 Hz Deobiceisefolosesterezolutiade1HzindiferentdefN. Spectru = coordonatele semnalului in domeniul de frecventa ales.
Coordonate in domeniul frecventa Am ales domeniul de frecventa unde vrem sa reprezentam semnalul: Suficienteaxe(Ex:dinHzinHz) Axe alese corespunzator frecventelor de interes (in banda de frecventa a semnalului) Cum calculam fiecare coordonata in spatiul ales? Cautam vectorul. Spectrul de frecventa({x[n]}) in domeniul de frecventa ales.
Masurarea unei coordonate in domeniul frecventa = Calculul gradului de potrivire cu o functie cosinusoidala de o anumita frecventa f. Prin potrivire intelegem: Proportionalitate: Daca xc(t) = 3*cos(2π*f*t), proportionalitatea fata de cos(2π*f*t) este 3 Factorul de proportionalitate se mai numeste amplitudinea componentei de frecventa f Hz Defazaj: Daca xc(t) = 3*cos(2π*f*t + π/3), trebuie identificat π/3 defazajul componentei de frecventa f
Coordonate in domeniul frecventa Proportionalitatea si defazajul lui xc(t) fata de cos(2πft) sunt 2 variabile independente. Idee (Fourier): sunt 2, deci sa le reprezentam ca un numar complex X(f). Gasim X(f) pentru fiecare axa. Spectrul de frecventa ={ X(f1), X(f2)..X(fm)}
Transformata Fourier Discreta Principii Se trece din timp discret in domeniu discret de frecvente Pentru N esantioane ale unui semnal, TFD fixeaza domeniul defrecvente:{0,1/n,2/n.n-1/n} Usor de interpretat si utilizat in practica N dimensiuni => transformare inversabila Noi putem alege N astfel incat sa avem rezolutia dorita TFD diferita de DTFD, unde frecventele sunt un domeniu continuu in[-π, π] TFD cel mai des folosita in practica in varianta FFT
Transformata Fourier Discreta Transformata Fourier Discreta: Masoara Re(X(f)) = potrivirea medie dintre x[n] si cos(2πfn).(medie inseamna intuitiv o suma peste x[k]) Masoara Im(X(f)) = potrivirea medie dintre x[n] si sin(2πfn) Din cele 2 rezulta amplitudinea si defazajul pentru componenta X(f): Amplitudine(f) = X(f) Defazaj(f) = ϕ(f)
Transformata Fourier Discreta Cu conventia: Xk= X(fk) pentru frecventa fk Avem (Transformata Fourier Discreta): N 1 n= 0 2πi kn N unde N = numarul de esantioane X = x e k = 0,..., N 1 k n TFD rezolva si problema bijectiei: se aleg atateacoordonate cate esantioane avem in semnaluldiscret x[k], k=0 N-1, ca sa putem reveni in domeniul timp.
Transformata Fourier Discreta Inversabila
Spectrul de frecventa al semnalelor discrete Fie x[n] = x[0].. x[n-1] un semnal finit esantionat la frecventa fs esantioane/s. Fie {Xk} k=1 N-1 spectrul de frecventa calculat de DFT pentru semnalul x[n].
Spectrul de frecventa al semnalelor discrete Fourier: Transformam semnalul discret din timp in domeniul frecventa. Pentru esantioane x[0].x[n-1] numere reale, avem proprietatea de simetrie a TFD: X X k N * K =, 0... 1 N k = => Toata informatia de frecventa este redundanta dincolo de N/2 => casafiltramfrecventak,anulamxksix(n-k)
Simetria TFD pentru semnale reale
TFD si frecventele semnalului continuu Prin Xk intelegem coordonata semnalului in domeniul frecventelor pentru axa k Axei k ii corespunde frecventa k/n esantioane/fereastra de lungime N Dece?X(k)=X(N+k); TFDperiodicadeperioadaNpentruunNfixat e bine sa alegem N astfel incat sa corespunda unei secunde. N= int(1/fs). (LaFFTsealegeceamaiapropiataputere alui2fatadeint(1/fs))
TFD si frecventele semnalului continuu Daca axei k ii corespunde frecventa k/n esantioane/fereastra de lungime N, unde este corespondenta cu frecventele reale in Hz din semnalul continuu? Sa nu uitam: x[k] = xc(k/fs), unde fs = frecventa de esantionare
TFD si frecventele semnalului continuu Componentei Xk a spectrului ii corespund k esantioane/ fereastra Daca o fereastra acopera N/fs secunde atunci Xk corespunde frecventei
Principii de calcul pentru TFD Deoarece DFT este simetrica fata de N/2 si Trebuie ca pana la indexul N/2 sa existe Xk astfel incat fk > fn (cea mai mare frecventa din semnal) Principiul 1: Alegem N astfel incat sa aiba loc aceasta relatie Din spectrul {X[k]} alegem k pentru frecventa care ne intereseaza. Precizia de localizare depinde de N.
Precizia de reprezentare a DFT Pentru frecventa de esantionare fs si fereastra de N esantioane rezolutia spectrului calculat cu DFT este: Principiul2:AlegemNsifsastfelincat f 1 Hz
TFD si Teorema Nyquist Th. Nyquist stabileste cum esantionam ca sa nu pierdem informatie spectrala. Dupa esantionare aplicam Transformata Fourier Discreta. Obtinem N/2 componente de frecventa datorita simetriei TFD, de la 0 la fs/2 Hz. Respectand Th. Nyquist, TFD contine informatiaspectralalaorezolutiedictatadoardensifs.
TFD Inversa TFD a asigurat maparea a N esantioane in N componente de frecventa. Operatia de transformare din timp in domeniul frecventa este inversabila doar daca domeniul frecventa are cel putin N axe. Astfel se revine din domeniul frecventa in domeniul finit de timp serefacx[0].x[n-1].
TFD Inversa Dezavantaje: TFD si TFD Inversa au complexitate O(n^2) Pentru performanta se foloseste FFT
Periodicitatea Proprietati ale TFD Daca xnsixksuntperechidftin Npuncte,atunci: Xk+N=Xk, k Z xn+n=xn, n Z
Proprietati ale TFD Liniaritatea Daca xnsi Xksunt perechi DFT in N puncte, atunci: Aceasta proprietate decurge direct din definitia transformatei Fourier discrete directe.
Proprietati ale TFD Deplasarea si simetria circulara in timp Datorita proprietatii de periodicitate, transformata Fourier discretainnpuncteauneisecventex[n],deduratafinita L N este echivalenta cu transformata Fourier discreta in N puncte a unei secvente periodice x [ p n ], de perioada N, obtinuta prin repetarea periodica a lui x[n]
Proprietati ale TFD Prin deplasarea lui x [ p n ] cu k unitati spre dreapta (k>0), se obtine secventa periodica Secventa aperiodica de lungime finita seobtinedinsecventaoriginalax[n]prindeplasarecirculara.
Proprietati ale TFD
Proprietati ale TFD Se observa ca x ' [ n] este chiar x[n] deplasat circular cu doua unitati de timp, unde sensul trigonometric a fost ales arbitrar drept directia pozitiva de deplasare. Deplasarea circulara a unei secvente de lungime N este echivalenta cu deplasarea liniara a extensiei sale periodice, obtinute prin repetarea periodica, cu perioada N, a secventei x[n], si invers. O secventa de lungime N este circular para daca este simetrica fata de punctul0depecerc,adica x[n n]=x[n], 0 n N 1. O secventa de lungime N este circular impara daca este antisimetrica fata depunctul0depecerc,adica x[n n]= x[n], 0 n N 1.
Aplicatii Pentru fiecare fereastra de N esantioane Aplica TFD Prelucrarea spectrului de frecventa TFD inversa Stocarea datelor la iesire Gliseaza fereastra Repeta pana cand se proceseaza intreg semnalul
Aplicatii In etapa de procesare a spectrului: Filtrare in banda (trece-banda, stop-banda,trecejos,trece-sus) Amplificare selectiva a frecventelor Aplicarea de bancuri de filtre Translatarea componentelor de frecventa pe axa frecventelor
Filtrarea vocii din muzica Pentru fiecare secunda de melodie: Se aplica TFD Se identifica benzile de frecventa ale vocii Se anuleaza componentele Xk din aceste benzi sau se salveaza separat (stop-banda) Se aplica TFD inversa Filtrarea vocii din muzica necesita bancuri de filtre indexate temporal Cod pentru voi: proiect SharpDevelop la http://neuron.ro/ps/proiecte/filtraredft.zip Mergept.wavsla12kHz(fsehard-coded)
Rezultate demonstrative Semnal original: http://neuron.ro/ps/wavs/wav4_12khzmono.wav Instrumentatia: http://neuron.ro/ps/wavs/wavevoicefilterout.wav Componenta de voce filtrata: http://neuron.ro/ps/wavs/semnalfiltrat.wav
Rezultate demonstrative Abordarea 2: In secundele fara voce se identifica benzile de frecventa ale semnalului Se aplica filtre trece-banda calculate pentru toate portiunile de melodie asemanatoare in care exista si voce Procesul se repeta pentru fiecare portiune in care instrumentatia este diferita Indiferent de abordare, este nevoie de o metoda mai rapidadecatdftsiidft,inspetafftsiifft