31.3 DFT complexă

DFT complexă directă, scrisă în formă polară, este dată de:

ECUAȚIA 31-5 DFT complexă directă.

Atât domeniul timp, x[n], cât și domeniul frecvență, X[k], sunt șiruri de numere complexe, cu k și n rulând de la 0 la N-1. Această ecuație este în formă polară, cea mai frecventă pentru DSP.

Alternativ, relația lui Euler poate fi folosită pentru a rescrie transformata directă în formă dreptunghiulară:

ECUAȚIA 31-6 DFT complexă directă (forma dreptunghiulară).

Pentru a începe, comparați această ecuație a transformatei Fourier complexe cu ecuația transformatei Fourier reale, ec. 31-1. La prima vedere, acestea par identice, fiind necesare doar cantități mici de algebră pentru a transforma Ec. 31-6 în Ec. 31-1. Dar, acest lucru este foarte înșelător; diferențele dintre aceste două ecuații sunt foarte subtile și ușor de trecut cu vederea, dar de importanță extraordinară. Să parcurgem diferențele în detaliu.

În primul rând, transformata Fourier reală convertește un semnal real din domeniu timp, x[n], în două semnale reale din domeniu frecvență, ReX[k] și ImX[k]. Prin utilizarea unei substituții complexe, domeniul frecvență poate fi reprezentat de un singur șir complex, X[k]. În transformata Fourier complexă, ambele x[n] și X[k] sunt șiruri de numere complexe. O notă practică: Chiar dacă domeniul timp este complex, nu există nimic care să ne solicite să folosim partea imaginară. Să presupunem că dorim să procesăm un semnal real, cum ar fi o serie de măsurători de tensiune efectuate în timp. Acest grup de date devine partea reală a semnalului din domeniul timp, în timp ce partea imaginară este compusă din zerouri.

În al doilea rând, transformata Fourier reală se ocupă doar de frecvențele pozitive. Adică, indicele domeniului frecvență, k, rulează numai de la 0 la N/2. În comparație, transformata Fourier complexă include atât frecvențe pozitive, cât și negative. Aceasta înseamnă că k rulează de la 0 la N-1. Frecvențele între 0 și N/2 sunt pozitive, în timp ce frecvențele dintre N/2 și N-1 sunt negative. Amintiți-vă, spectrul de frecvență al unui semnal discret este periodic, ceea ce face ca frecvențele negative dintre N/2 și N-1 să fie la fel ca între -N/2 și 0. Eșantioanele de la 0 și N/2 calcă linia între pozitiv și negativ. Dacă trebuie să vă reîmprospătați memoria, priviți înapoi la capitolele 10 și 12.

În al treilea rând, în transformata Fourier reală cu substituție, un j a fost adăugat la termenii undei sinus, permițând reprezentarea spectrului de frecvență prin numere complexe. Pentru a converti înapoi în unde obișnuite sinus și cosinus, putem renunța pur și simplu la j. Aceasta este neglijența care vine atunci când un lucru reprezintă doar un alt lucru. În comparație, DFT complexă, Ec. 31-5, este o ecuație matematică formală cu j fiind o parte integrantă. În această perspectivă, nu putem adăuga sau elimina în mod arbitrar un j mai mult decât putem adăuga sau elimina orice altă variabilă în ecuație.

În al patrulea rând, transformata Fourier reală are un factor de scalare de doi în față, în timp ce transformata Fourier complexă nu. Spunem că luăm DFT reală a unei unde cosinus cu o amplitudine de unu. Valoarea spectrală corespunzătoare undei cosinus este de asemenea unu. Acum, haideți să repetăm ​​procesul folosind DFT complexă. În acest caz, unda cosinus corespunde la două valori spectrale, o frecvență pozitivă și una negativă. Ambele frecvențe au o valoare de ½. Cu alte cuvinte, o frecvență pozitivă cu o amplitudine de ½, se combină cu o frecvență negativă cu o amplitudine de ½, producând o undă cosinus cu o amplitudine de unu.

În al cincilea rând, transformata Fourier reală necesită o manevrare specială a două eșantioane din domeniu frecvență: ReX[0] și ReX[N/2], dar transformata Fourier complexă nu. Să presupunem că începem cu un semnal din domeniu timp și luăm DFT pentru a găsi semnalul din domeniu frecvență. Pentru a inversa procesul, luăm DFT inversă a semnalului din domeniu frecvență, reconstruind semnalul inițial din domeniu timp.

Dar, există o scalare necesară pentru ca semnalul reconstruit să fie identic cu semnalul inițial. Pentru transformata Fourier complexă, trebuie introdus undeva pe parcurs un factor de 1/N. Aceasta poate fi abordată la transformata directă, transformata inversă sau păstrată ca un pas separat între cele două. Pentru transformata Fourier reală, este necesar un factor suplimentar de doi (2/N), așa cum este descris mai sus. Dar, transformata Fourier reală necesită și o etapă suplimentară de scalare: ReX[0] și ReX [N/2] trebuie împărțite la doi undeva pe parcurs. Cu alte cuvinte, se folosește un factor de scalare de 1/N cu acestea două eșantioane, în timp ce 2/N este utilizat pentru restul spectrului. După cum am spus anterior, acest pas incomod este una dintre reclamațiile noastre cu privire la transformata Fourier reală.

De ce diferă DFT reală și complexă în modul în care sunt gestionate aceste două puncte? Pentru a răspunde la aceasta, amintiți-vă că o undă cosinus (sau sinus) în domeniul timp devine împărțită între o frecvență pozitivă și una negativă în spectrul lui DFT complexă. Dar, există două excepții la aceasta, valorile spectrale la 0 și N/2. Acestea corespund frecvenței zero (DC) și frecvenței Nyquist (o jumătate din rata de eșantionare). Întrucât aceste puncte sunt în pozițiile pozitivă și negativă ale spectrului, acestea nu au un punct de potrivire. Deoarece nu sunt combinate cu o altă valoare, ele au în mod inerent doar o jumătate din contribuția la domeniul timp ca celelalte frecvențe.

FIGURA 31-1 Spectrul complex de frecvență. Aceste curbe corespund unui semnal cu totul real din domeniu timp, deoarece partea reală a spectrului are simetrie pară, iar partea imaginară are o simetrie impară. Cele două marker-e pătrate din partea reală corespund unei unde cosinus cu o amplitudine de unu, și o frecvență de 0,23. Cele două marker-e rotunde în partea imaginară corespund unei unde sinus cu o amplitudine de unu și o frecvență de 0,23.

Figura 31-1 ilustrează spectrul de frecvență al DFT complexă. Această figură presupune că domeniul timp este în întregime real, adică partea sa imaginară este zero. Vom discuta în scurt timp ideea semnalelor imaginare din domeniu timp. Există două moduri comune de afișare a unui spectru de frecvență complex. Așa cum se arată aici, frecvența zero poate fi plasată în centru, cu frecvențe pozitive la dreapta și frecvențe negative la stânga. Acesta este cel mai bun mod de a gândi spectrul complet și este singurul mod în care poate fi afișat un spectru aperiodic.

Problema este că spectrul unui semnal discret este periodic (cum ar fi cu DFT și DTFT). Aceasta înseamnă că totul cuprins între -0,5 și 0,5 se repetă de la sine un număr infinit de ori la stânga și la dreapta. În acest caz, spectrul cuprins între 0 și 1.0 conține aceleași informații ca de la - 0,5 până la 0,5. Când sunt realizate grafice, cum ar fi Fig. 31-1, se folosește convenția de la -0,5 la 0,5. Dar, multe ecuații și programe folosesc forma 0 până la 1.0. De exemplu, în Ec. 31-5 și 31-6 indicele de frecvență, k, rulează de la 0 la N-1 (coincidând cu 0 până la 1.0). Totuși, am putea să-l scriem pentru a rula de la -N/2 la N/2 -1 (coincidând cu -0,5 până la 0,5), dacă am dori.

Folosind spectrul din Fig. 31-1 ca ghid, putem examina modul în care DFT complexă inversă reconstruiește semnalul din domeniu timp. DFT complexă inversă, scrisă în formă polară, este dată de:

ECUAȚIA 31-7 DFT complexă inversă.

Aceasta este ecuația potrivită cu DFT complexă directă din Ec. 31-5.

Folosind relația lui Euler, aceasta poate fi scrisă în formă dreptunghiulară ca:

ECUAȚIA 31-8 DFT complexă inversă.

Acesta este Ec. 31-7 rescrisă pentru a arăta cum fiecare valoare din spectrul de frecvență afectează domeniul timp.

Forma compactă a Ec. 31-7 este modul în care DFT inversă este de obicei scrisă, deși versiunea extinsă în Ec. 31-9 poate fi mai ușor de înțeles. În cuvinte, fiecare valoare din partea reală a domeniului frecvență contribuie cu o undă cosinus reală și o undă sinus imaginară la domeniul timp. De asemenea, fiecare valoare din partea imaginară a domeniului frecvență contribuie cu o undă sinus reală și o undă cosinus imaginară. Domeniul timp se găsește adunând toate aceste sinusoide reale și imaginare. Conceptul important este că fiecare valoare din domeniul frecvență produce atât o sinusoidă reală, cât și o sinusoidă imaginară în domeniul timp.

De exemplu, imaginați-ne că dorim să reconstruim o undă cosinus de amplitudine unitate la o frecvență de 2πk/N. Aceasta necesită o frecvență pozitivă și una negativă, ambele din partea reală a spectrului de frecvență. Cei doi markeri pătrați din fig. 31-1 sunt un exemplu în acest sens, cu frecvența setată la: k/N = 0,23. Frecvența pozitivă la 0,23 (etichetată 1 în fig. 31-1) contribuie cu o undă cosinus și o undă sinus imaginară la domeniul timp:

½cos(2π 0,23n) + ½jsin(2π 0,23n)

De asemenea, frecvența negativă de la -0,23 (etichetată 2 în Fig. 31-1) contribuie, de asemenea, cu un cosinus și o undă sinus imaginară la domeniul timp:

½cos(2π(-0.23)n) + ½jsin(2π(-0.23)n)

Semnul negativ în termenii cosinus și sinus poate fi eliminat prin relațiile: cos(-x) = cos(x) și sinus(-x) = -sin (x). Aceasta permite rescrierea contribuției frecvenței negative:

½cos(2π 0,23 n) - ½j sin(2π 0,23 n)

Adunarea contribuțiilor de la frecvențele pozitivă și negativă reconstruiește semnalul din domeniul timp:

contribuția de la frecvența pozitivă: ½ cos(2π 0,23n) + ½ jsin(2π 0,23n)

contribuție de la frecvența negativă: ½ cos(2π 0,23n) - ½ jsin(2π 0,23n)

semnal rezultat în domeniu timp: cos(2π 0,23n)

În același mod, putem sintetiza o undă sinus în domeniul timp. În acest caz, avem nevoie de o frecvență pozitivă și negativă din partea imaginară a spectrului de frecvență. Acest lucru este arătat de markerii rotunzi din Fig. 31- 1. Din Ec. 31-8, aceste valori spectrale contribuie la o undă sinus și o undă cosinus imaginară în domeniul timp. Undele cosinus imaginare se anulează, în timp ce undele sinus reale se adună:

contribuție de la frecvența pozitivă: -½ sin(2π 0,23n) - ½ jcos(2π 0,23n)

contribuție de la frecvența negativă: -½ sin(2π 0,23n) + ½ jcos(2π 0,23n)

semnal rezultat în domeniul timp: - sin(2π 0,23n)

Observați că este generată o undă sinus negativă, chiar dacă frecvența pozitivă a avut o valoare care a fost pozitivă. Această inversare a semnelor este o parte inerentă a matematicii DFT complexe. După cum vă amintiți, această aceeași inversare a semnului este frecvent utilizată în DFT reală. Adică, o valoare pozitivă în partea imaginară a spectrului de frecvență corespunde unei unde sinus negative. Cei mai mulți autori includ această inversare a semnului în definiția transformatei Fourier reale pentru a o face în concordanță cu omologul său complex. Ideea este că această inversare a semnului trebuie folosită în transformata Fourier complexă, dar este doar o opțiune în transformata Fourier reală.

Simetria transformatei Fourier complexe este foarte importantă. Așa cum este ilustrat în Fig. 31-1, un semnal real din domeniu timp corespunde unui spectru de frecvență cu o parte reală pară și o parte imaginară impară. Cu alte cuvinte, frecvențele negative și pozitive au același semn în partea reală (cum ar fi punctele 1 și 2 din Fig. 31-1), dar semne opuse în partea imaginară (punctele 3 și 4).

Aceasta aduce un alt subiect: partea imaginară a domeniului timp. Până acum am presupus că domeniul timp este complet real; adică partea imaginară este zero. Dar, transformata Fourier complexă nu necesită acest lucru.

Care este sensul fizic al unui semnal imaginar din domeniu timp? De obicei, nu există. Acest lucru este doar ceva permis de matematica complexă, fără o corespondență cu lumea în care trăim. Totuși, există aplicații unde poate fi utilizat sau manipulat în scop matematic.

Un exemplu în acest sens este prezentat în capitolul 12. Partea imaginară a domeniului timp produce un spectru de frecvență cu o parte reală impară și o parte imaginară pară. Acesta este exact opusul spectrului produs de partea reală a domeniului timp (Fig. 31-1). Când domeniul timp conține atât o parte reală, cât și o parte imaginară, spectrul de frecvență este suma celor două spectre, dacă au fost calculate individual. Capitolul 12 descrie modul în care acest lucru poate fi utilizat pentru a face algoritmul FFT să calculeze spectrele de frecvență a două semnale reale simultan. Un semnal este plasat în partea reală a domeniului timp, în timp ce celălalt este plasat în partea imaginară. După calculul FFT, spectrele celor două semnale sunt separate printr-o descompunere pară/impară.