ps curs 3 - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/4ps/3 transformata fourier... ·...

Post on 06-Feb-2018

245 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Procesarea Semnalelor

Cursul 3Cursul 3

Sumar

• Introducere

• Transformata Fourier Discreta

• Aplicatii

• Rezultate demonstrative

Cursul 3Cursul 3

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.reveni inapoi in dimensiunea timp.

• Fiecare dimensiune sa corespunda unei frecvente.

Cursul 3Cursul 3

Intuitie

• Oricare 2 dimensiuni sa fie ortogonale:

� daca in semnal exista frecventa x, acest lucru sa nu implice automat

∀ x≠y,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.

Cursul 3Cursul 3

De ce domeniu cu 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: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

Cursul 3Cursul 3

Domeniul Frecventa

• Cate dimensiuni are ?

– Teoretic are un numar infinit de dimensiuni.– Teoretic are un numar infinit de dimensiuni.

Exemplu:

axa 1: 1 Hz

axa 2: 2 Hz

…. axa n: n Hz, n∈ N

SAU

axa 1: 0.5 Hz, axa 2: 1 Hz, axa 3: 1.5 Hz, ...

Cursul 3Cursul 3

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 fNCursul 3Cursul 3

Exemplu

• Avem un semnal cu fN = 1000 Hz.Putem alege:

� 1000 de axe de coordonate pentru frecvente de la 1 Hz la 1000 Hz din

Hz in HzHz in Hz

� un domeniu de frecvente de 2 ori mai fin: 2000 de dimensiuni,

rezolutie: 0.5 Hz

De obicei se foloseste rezolutia de 1 Hz indiferent de fN.

Spectru = coordonatele semnalului in domeniul de frecventa

ales.

Cursul 3Cursul 3

Coordonate in domeniul frecventa

• Am ales domeniul de frecventa unde vrem sa reprezentam

semnalul:

� Suficiente axe (Ex: din Hz in Hz)

� 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.

Cursul 3Cursul 3

Masurarea unei coordonate in

domeniul frecventa• = Calculul gradului de potrivire cu o functie cosinusoidala de o

anumita frecventa f.

Prin potrivire intelegem:• 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 fCursul 3Cursul 3

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)}Cursul 3Cursul 3

Transformata Fourier Discreta

• Principii

�Se trece din timp discret in domeniu discret de frecvente�Se trece din timp discret in domeniu discret de frecvente

�Pentru N esantioane ale unui semnal, TFD fixeaza domeniul

de frecvente: {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 Cursul 3Cursul 3

Transformata Fourier Discreta

• Transformata Fourier Discreta:

�Masoara Re(X(f)) = potrivirea medie dintre x[n] si�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)Cursul 3Cursul 3

Transformata Fourier Discreta

Cu conventia:

Xk = X(fk) pentru frecventa fkXk = X(fk) pentru frecventa fk

Avem (Transformata Fourier Discreta):

unde N = numarul de esantioane

TFD rezolva si problema bijectiei: se aleg atatea coordonate cate

esantioane avem in semnalul discret x[k] , k=0… N-1, ca sa

putem reveni in domeniul timp.Cursul 3Cursul 3

21

0

0,....., 1iN kn

Nk n

n

X x e k Nπ− −

=

= = −∑

Transformata Fourier Discreta

• Inversabila

Cursul 3Cursul 3

Spectrul de frecventa al semnalelor

discrete

• Fie x[n] = x[0]….. x[N-1] un semnal finit esantionat la frecventa• 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].

Cursul 3Cursul 3

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:

=> Toata informatia de frecventa este redundanta dincolo de N/2

=> ca sa filtram frecventa k, anulam Xk si X(N-k)

Cursul 3Cursul 3

* , 0... 1K N kX X k N−= = −

Simetria TFD pentru semnale reale

Cursul 3Cursul 3

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

• De ce ? X(k) = X(N+k);

� TFD periodica de perioada N pentru un N fixat

� e bine sa alegem N astfel incat sa corespunda unei secunde. N=

int(1/fs).

(La FFT se alege cea mai apropiata putere a lui 2 fata de int(1/fs))

Cursul 3Cursul 3

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 ?Hz din semnalul continuu ?

• Sa nu uitam:

x[k] = xc(k/fs), unde fs = frecventa de esantionare

Cursul 3Cursul 3

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

Cursul 3Cursul 3

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.Cursul 3Cursul 3

Precizia de reprezentare a DFT

• Pentru frecventa de esantionare fs si fereastra de N esantioane

rezolutia spectrului calculat cu DFT este:

• Principiul 2: Alegem N si fs astfel incat

∆f ≤ 1 Hz

Cursul 3Cursul 3

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

informatia spectrala la o rezolutie dictata doar de N si fs.

Cursul 3Cursul 3

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 – se refac x[0]…. x[N-1].

Cursul 3Cursul 3

TFD Inversa

• Dezavantaje: TFD si TFD Inversa au complexitate O(n^2)

• Pentru performanta se foloseste FFT

Cursul 3Cursul 3

Proprietati ale TFD

Periodicitatea

• Daca xn si Xk sunt perechi DFT in N puncte, atunci:• Daca xn si Xk sunt perechi DFT in N puncte, atunci:

• Xk+N =Xk , ∀ k ∈ Z

• xn + N = xn , ∀ n ∈ Z

Cursul 3Cursul 3

Proprietati ale TFD

LiniaritateaLiniaritatea

• Daca xn si Xk sunt perechi DFT in N puncte, atunci:

• Aceasta proprietate decurge direct din definitia transformatei

Fourier discrete directe.

Cursul 3Cursul 3

Proprietati ale TFD

Deplasarea si simetria circulara in timp

• Datorita proprietatii de periodicitate, transformata Fourier• Datorita proprietatii de periodicitate, transformata Fourier

discreta in N puncte a unei secvente x[n], de durata finita

este echivalenta cu transformata Fourier discreta in N puncte a

unei secvente periodice , de perioada N, obtinuta prin

repetarea periodica a lui x[n]

Cursul 3Cursul 3

[ ]px n

L N≤

Proprietati ale TFD

• Prin deplasarea lui cu k unitati spre dreapta (k>0), se

obtine secventa periodica

[ ]px n

• Secventa aperiodica de lungime finita

se obtine din secventa originala x[n] prin deplasare circulara.Cursul 3Cursul 3

Proprietati ale TFD

Cursul 3Cursul 3

Proprietati ale TFD

• Se observa ca 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

'[ ]x n

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

punctul 0 de pe cerc, adica

x[N − n] = x[n], 0 ≤ n ≤ N −1.

• O secventa de lungime N este circular impara daca este antisimetrica fata

de punctul 0 de pe cerc, adica

x[N − n] = −x[n], 0 ≤ n ≤ N −1.

Cursul 3Cursul 3

Aplicatii

• Pentru fiecare fereastra de N esantioane

– Aplica TFD– Aplica TFD

– Prelucrarea spectrului de frecventa

– TFD inversa

– Stocarea datelor la iesire

– Gliseaza fereastra

– Repeta pana cand se proceseaza intreg semnalul

Cursul 3Cursul 3

Aplicatii

• In etapa de procesare a spectrului:

• Filtrare in banda (trece-banda, stop-banda,trece-• Filtrare in banda (trece-banda, stop-banda,trece-

jos,trece-sus)

• Amplificare selectiva a frecventelor

• Aplicarea de bancuri de filtre

• Translatarea componentelor de frecventa pe axa

frecventelor

Cursul 3Cursul 3

Filtrarea vocii din muzica

Pentru fiecare secunda de melodie:

• Se aplica TFD

Se identifica benzile de frecventa ale vocii• 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

⇒ Merge pt .wavs la 12kHz (fs e hard-coded) Cursul 3Cursul 3

Rezultate demonstrative

• Semnal original:

http://neuron.ro/PS/wavs/wav4_12kHzMono.wavhttp://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

Cursul 3Cursul 3

Rezultate demonstrative

• Abordarea 2:

• In secundele fara voce se identifica benzile de frecventa• 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

rapida decat DFT si IDFT, in speta FFT si IFFT Cursul 3Cursul 3

top related