8.5 Sinteza, calculul DFT inversă

Trăgând împreună concluziile la tot ceea ce am spus până acum, putem scrie ecuația de sinteză:

Ecuația 8-2 Ecuația de sinteză.

În această relație, x[i] este semnalul de sintetizat, cu indexul i rulând de la 0 la N-1. ReX[k] și ImX[k] păstrează amplitudinile undelor cosinus și, respectiv, sinus cu k rulând de la 0 la N/2. Ecuația 8-3 realizează normalizarea pentru a schimba această ecuație în DFT inversă. (X înseamnă X cu bară deasupra)

În cuvinte, orice semnal de N puncte, x[i], poate fi creat prin adunarea a N/2 +1 unde cosinus și a N/2 +1 unde sinus. Amplitudinile undelor cosinus și sinus sunt păstrate în matricele ImX[k] și ReX[k], respectiv. Ecuația de sinteză multiplică aceste amplitudini prin funcțiile de bază pentru a crea un set de unde sinus și cosinus scalate. Adunarea undelor sinus și cosinus scalate produce semnalul din domeniul timp x[i].

În Ec. 8-2, matricele sunt numite ImX[k] și ReX[k], mai degrabă decât ImX[k] și ReX[k]. Acest lucru se datorează faptului că amplitudinile necesare pentru sinteză (numite în această discuție: ImX[k] și ReX[k]), sunt puțin diferite de domeniul frecvență al unui semnal (notat cu: ImX[k] și ReX[k]). Aceasta este problema factorului de scalare la care ne-am referit mai devreme. Deși conversia este doar o normalizare simplă, ea este o problemă comună în programele de calculator. În forma ecuațiilor, conversia dintre cele două este dată de:

Ecuația 8-3 Conversia între amplitudini sinusoidale și valori ale domeniului frecvență.

În aceste ecuații, ReX[k] și ImX[k] păstrează amplitudinile undelor cosinus și sinus necesare pentru sinteză, în timp ce ReX[k] și ImX[k] păstrează părțile reală și imaginară ale domeniului frecvență. Uzual, N este numărul de puncte în semnalul din domeniul timp, iar k este un index care rulează de la 0 la N/2.

Să presupunem că vi se dă o reprezentare a domeniului frecvență și s-a solicitat sintetizarea semnalului din domeniul timp corespunzător. Pentru a începe, trebuie să găsiți amplitudinile undelor sinus și cosinus. Cu alte cuvinte, fiind date ImX[k] și ReX[k], trebuie să găsiți ImX[k] și ReX[k]. Ecuația 8-3 prezintă acest lucru într-o formă matematică. Pentru a face acest lucru într-un program de calculator, trebuie luate trei acțiuni. Mai întâi, împărțiți toate valorile din domeniul frecvență cu N/2. În al doilea rând, schimbați semnul tuturor valorilor imaginare. În al treilea rând, împărțiți primul și ultimul eșantion în partea reală, ReX[0] și ReX[N/2], prin doi. Aceasta furnizează amplitudinile necesare pentru sinteza descrisă de Ec. 8-2. Luate împreună, Ec. 8-2 și 8-3 definesc DFT inversă.

Întreaga DFT inversă este prezentată în programul de calculator prezentat în Tabelul 8-1. Există două moduri în care sinteza (Ec. 8-2) poate fi programată și ambele sunt afișate. În prima metodă, fiecare sinusoidă scalată este generată una câte una și adunată la o matrice de acumulare, care devine semnalul din domeniul timp. În cea de-a doua metodă, fiecare eșantion din semnalul domeniului timp este calculat unul câte unul, ca suma tuturor eșantioanelor corespunzătoare din undele cosinus și sinus. Ambele metode produc același rezultat. Diferența dintre aceste două programe este foarte mică; buclele interioare și exterioare sunt schimbate pe durata sintezei.

Figura 8-6 Exemplu de DFT inversă.

Figura (a) prezintă un exemplu de semnal în domeniul timp, un impuls la eșantionul zero cu o amplitudine de 32. Partea imaginară a domeniului frecvență (nearătată) este compusă toată din zerouri. Figura (c) prezintă amplitudinea undelor cosinus pentru reconstrucția (a) utilizând ec. 8-2. Valorile din (c) sunt găsite din (b) prin utilizarea ec. 8-3.

Figura 8-6 ilustrează funcționarea DFT inverse și diferențele mici între domeniul frecvență și amplitudinile necesare pentru sinteză. Figura 8-6a este un exemplu de semnal pe care dorim să-l sintetizăm, un impuls la eșantionul zero cu o amplitudine de 32. Figura 8-6b arată reprezentarea domeniului frecvență al acestui semnal. Partea reală a domeniului frecvență este o valoare constantă de 32. Partea imaginară (nearătată) este compusă din zerouri. Așa cum am discutat în următorul capitol, aceasta este o pereche importantă DFT: un impuls în domeniul timp corespunde unei valori constante în domeniul frecvență. Pentru moment, punctul important este că (b) este DFT a lui (a) și (a) este DFT inversă a lui (b).

Ecuația 8-3 este folosită pentru a converti semnalul din domeniul frecvență (b) în amplitudinile undelor cosinus (c). După cum se arată, toate undele cosinus au o amplitudine de doi, cu excepția eșantioanelor 0 și 16, care au o valoare de unu. Amplitudinile undelor sinus nu sunt arătate în acest exemplu deoarece au o valoare zero și, prin urmare, nu oferă nicio contribuție. Ecuația de sinteză, Ec. 8-2, este atunci utilizată pentru a converti amplitudinile undelor cosinus (b) în semnalul din domeniul timp (a).

Aceasta descrie modul cum domeniul frecvență este diferit de amplitudinile sinusoidale, dar nu explică de ce este diferit. Diferența apare deoarece domeniul frecvență este definit ca o densitate spectrală. Figura 8-7 arată cum lucrează aceasta. Exemplul din această figură este partea reală a domeniului frecvență al unui semnal de 32 de puncte. Așa cum ar trebui să vă așteptați, eșantioanele rulează între 0 și 16, reprezentând 17 frecvențe egal distanțate între 0 și 1/2 din rata de eșantionare. Densitatea spectrală descrie cât de mult semnal (amplitudine) este prezent pe unitate de lățime de bandă. Pentru a converti amplitudinile sinusoidale într-o densitate spectrală, împărțiți fiecare amplitudine cu lățimea de bandă reprezentată de fiecare amplitudine. Acest lucru ridică următoarea problemă: cum determinăm lățimea de bandă a fiecărei frecvențe discrete în domeniul frecvență?

După cum se arată în figură, lățimea de bandă poate fi definită prin desenarea liniilor de separare între eșantioane. De exemplu, eșantionul numărul 5 apare în banda între 4,5 și 5,5; eșantionul numărul 6 apare în bandă între 5,5 și 6,5, etc. Exprimată ca o fracție din lățimea de bandă totală, lățimea de bandă a fiecărui eșantion este 2/N. O excepție de la aceasta o constituie eșantioanele de la fiecare capăt, care au o jumătate din această lățime de bandă. Aceasta explică factorul de scalare dintre amplitudinile sinusoidale și domeniul frecvență, precum și factorul suplimentar de doi necesar pentru primul și ultimul eșantion.

De ce negarea părții imaginare? Acest lucru se face exclusiv pentru a face DFT reală în concordanță cu fratele său mai mare, DFT complexă. În capitolul 29 vom arăta că ea este necesară pentru a face matematica DFT complexe să lucreze. Când se ocupă numai de DFT reală, mulți autori nu includ această negare. De altfel, mulți autori nu includ nici măcar factorul de scalare 2/N. Fiți pregătiți să găsiți ambele lipsuri în anumite discuții. Acestea sunt incluse aici pentru un motiv extraordinar de important: Cea mai eficientă modalitate de a calcula DFT este prin algoritmul FFT (Fast Fourier Transform) prezentat în capitolul 12. FFT generează un domeniu frecvență definit conform Ec. 8-2 și 8-3. Dacă începeți să vă încurcați cu acești factori de normalizare, programele dvs. care conțin FFT nu vor funcționa conform așteptărilor.

Figura 8-7 Lățimea de bandă a eșantioanelor din domeniul frecvență.

Fiecare eșantion din domeniul frecvență poate fi gândit ca fiind conținut într-o bandă de frecvențe de lățime 2/N, exprimată ca o fracție din lățimea de bandă totală. O excepție la aceasta o constituie primul și ultimul eșantion, care au o lățime de bnadă de numai o jumătate din această lățime, 1/N.

Secțiunea următoare: Analiza, calculul DFT