Diskreetne Fourier' teisendus

Diskreetne Fourier' teisendus (lühend DFT inglise keele sõnadest discrete Fourier transform) on pideva Fourier' teisenduse vaste digiteeritud (ajas diskreeditud ja nivoos kvanditud) funktsioonide ja signaalide jaoks. Teatud tingimustel on DFT tulemused vastavuses pideva Fourier' teisenduse tulemustega. Kuid paljudel juhtudel on tulemused siiski oluliselt erinevad, mistõttu DFT tulemuste ülekandmisel analoogsignaalidele tuleb olla ettevaatlik.

DFT on kõige olulisem diskreetne teisendus, mida kasutatakse Fourier' analüüsi teostamiseks paljudes praktilistes rakendustes. Signaalitöötluses on iga signaal funktsioon, millest võetakse proove (lugemeid signaali väärtustest) diskreetimissagedustel. Analüüsi objektideks võivad olla näiteks helilaine, raadiosignaal või muutuvad temperatuurinäidud. Pilditöötluses võivad proovid olla pikslite väärtused rasterkujutise igas reas või veerus. DFT-d kasutatakse ka selleks, et lahendada efektiivselt diferentsiaalvõrrandeid ja teha teisi toiminguid, nagu konvolutsioon ja suurte arvude korrutamine.

Kuna DFT tegeleb piiratud andmemahtudega, saab seda rakendada, arvutades numbriliste algoritmide abil või kasutades sihtotstarbelist riistvara. Need rakendused kasutavad tavaliselt Fourier' kiirteisendust ehk kiiret Fourier' teisendust (Fast Fourier Transform, FFT), mis põhineb teisendamiseks vajalike arvutuste mahu vähendamisel teatud (korduvate) tulemuste (korduva) ärakasutamise teel või mõne spetsiifilise vaheteisenduse kasutamise teel.

Mõiste
N kompleksarvude jada  teisendatakse N-perioodiliseks kompleksarvude jadaks:

 (täisarvud)   
 
Perioodilisuse tõttu on tegelikult arvutatud domeen k [0, N – 1]. See on alati nii, kui DFT-d on rakendatud kiire Fourier' teisenduse kaudu. Muud domeenid on [-A / 2, N / 2-1] (N paaris) ja [- (N – 1) / 2, (N – 1) / 2] (N paaritu), kui vasak ja parem pool DFT väljundis on vahetatud.

Diskreetne Fourier' teisendus on tavaliselt tähistatud tähega , kus  või  või .

Definitsioonivõrrandit võib tõlgendada või tuletada mitmel viisil, näiteks:
See kirjeldab täielikult diskreetse aja Fourier' N-perioodilist järjestust, mis sisaldab ainult diskreetse sageduse komponente.
Samuti tagab see ühtlaste vahekaugusega proove sisalduva pideva DFT antud piiratud pikkusega.
See on sisendandmete ristkorrelatsioon,  ja kompleksne sinusoid sagedusel k/N. Seega see toimib nagu sobitatud filter sellele sagedusele.
See on diskreetne analoog Fourier' rea koefitsientide leidmise valemile:

mis on ka N-perioodiline.  domeenis on see definitsiooni valemi pöördteisendus. Selle tõlgenduse järgi on iga  kompleksne number, mis kodeerib funktsiooni  komplekssesse siinuselisse komponenti   nii amplituudi kui ka faasi. Siinuse sagedus on k/N. Amplituud ja faas vastavad võrranditele:

kus atan2 on arkustangensi funktsioon kahe argumendi jaoks.

Euleri valemi abil saab DFT valemi teisendada trigonomeetriliseks vormiks, mida kasutatakse inseneride arvutlustes ja infotehnoloogias:

Fourier teisendus:

Pöördteisendus:

kus
 on proovide arv
 on hetkel töödeldava proovi number (0, ..., )
 on signaali väärtus hetkel 
 on sagedus (0 Hz kuni  Hz) töötlemise hetkel
 on sagedusega  signaali (amplituudi ja faasi väljendav kompleksarv.

Omadused

Täielikkus
Diskreetne Fourier' teisendus on pööratav lineaarne teisendus

kus  on kompleksarvude hulk. See tähendab, et iga N > 0, N-mõõtmeline kompleksvektor omab DFT-d ja PDFT-d (pöördteisendust), mis on omakorda N-mõõtmelised kompleksvektorid.

Ortogonaalsus 
Vektorid  moodustavad ortogonaalse baasi üle N-mõõtmeliste kompleksvektorite hulga:

kus on Kronecker delta. (Viimane samm on triviaalsete  summa, kus 1+1+⋅⋅⋅=N, ja selline geomeetriline jada, millest saab summeerides saada kokku nulli.) Seda ortogonaalsuse tingimust saab kasutada selleks, et tuletada pöördteisenduse valemit DFT definitsioonist.

Planchereli teoreem ja Parsevali teoreem 
Kui Xk ja Yk on vastavalt xn ja yn teisendused, siis ütleb Parsevali teoreem, et:

kus tärn tähendab kompleksset konjugatsiooni. Parsevali teoreemi selline erijuht, kus xn = yn, on Planchereli teoreem, mis väidab:

Perioodilisus 
Perioodilisust võib näha otse definitsioonist:

 

Samas on näha, et pöördteisenduse võrrand viib perioodilisele laiendamisele.

Nihe
Korrutades  lineaarse faasiga  mingi täisarvu m järgi vastab nihkele väljundis : , mis asendatakse , kus indeks on tõlgendatud kui absoluutväärtus N (perioodiliselt). Samamoodi nihe sisendis  vastab väljundi  korrutamisele lineaarse faasiga. Matemaatiliselt, kui  tähistab vektorit x, siis

kui 

siis 

ja

Ringkonvolutsiooni teoreem ja ristkorrelatsiooni teoreem 
Konvolutsiooni teoreem diskreetse Fourier' teisenduse jaoks näitab, et kahe lõpmatu jada konvolutsiooni võib saada kahe üksiku teisenduse tulemuste pöördteisendusest. Kui järjestused on piiratud pikkustega N, siis tekib oluline lihtsustamine. Kui vaadelda DTF-d ja pöörd-DTF-d, võib seda kirjutada järgmiselt:

mis on konvolutsioon  ja  jadade vahel pikendatud perioodilise liitmisega:

Ristkorrelatsioon   ja    vahel on selline:

Konvolutsiooni teoreemi duaalsus 

Võib ka tõestada, et:

 mis on ringikujuline konvolutsioon  ja  vahel.

Trigonomeetriline interpolatsiooni polünoom 
 paaris N-i jaoks,
 paaritu N-i jaoks,
kus koefitsiendid Xk on eespool oleva xn DFT ja rahuldavad interpoleerimist   jaoks.

Paaris N-i puhul tuleb tähele panna, et Nyquist komponenti  käsitletakse eraldi.

Ühtne DFT 
Teise võimalusena saab DFT-d väljendada DFT maatriksi abil ehk Vandermonde maatriksina, mille võttis kasutusele Sylvester 1867. aastal.

kus

on primitiivne N-is ühe juur.

Pöördteisendus on selle maatriksi pöördmaatriks:

Ühtse normaliseerimise konstantidega  saab DFT ühtseks teisenduseks, mis on defineeritud ühtse maatriksi abil:

kus det() on maatriksi determinant. Determinant on omaväärtuste tulemus, mis on kas  või . Ortogonaalsust väljendab nüüd ortonormaalsuse tingimus.

Kui X on ühtne vektori x DFT, siis

ja Planchereli teoreem on väljendatud niimoodi:

Erijuhul  on see Parsevali teoreem

Pöördvõrdelise DFT avaldamine DFT kaudu 
Kasulik DFT omadus on see, et pöördteisendust saab kergesti väljendada tavalise DFT kaudu, kasutades allolevaid nippe:

Esiteks saame arvutada pöördvõrdeline DFT, pöörates vastupidi kõik peale ühe sisendi.

Teiseks võib ka ümber pöörata sisendid ja väljundid:

Viimaseks võime vahetada omavahel reaal- ja imaginaarsignaali osad:

Kus swap() on , milles on reaal- ja imaginaar-osad omavahel niimoodi vahetatud:  swap() on . Samas, swap() on võrdne .

Omaväärtused ja omavektorid 

DFT maatriksi omaväärtused on lihtsad ja hästi tuntud, kusjuures omavektorid on keerulised ja neid pole veel täiesti uuritud.

Kui DFT ühtne vorm  pikkusega N on selline:

See maatriks vastab maatriksite polünomiaalsele võrrandile:

See tähendab, et omaväärtused  võrrandile on:

Samas on  omaväärtused neljandad ühe juured:  on +1, −1, +i, või −i.

Kuna on olemas ainult neli omaväärtust, siis need omavad mitmesust, mis annab omavektorite numbri igale omaväärtusele.

Paljususe probleemi lahendasid McClellan ja Parks, samas ekvivalentse probleemi lahendas varem Gauss. Mitmesus sõltub absoluutväärtusest N ja on näidatud järgmises tabelis:

Määramatuse printsiip 
Kui juhuslik suurus Xk on piiratud:

siis 
 
võib esindada diskreetse tõenäosuse n-i massi-funktsiooni koos tõenäosuse massi-funktsiooni funktsiooniga, mis on saadud transformeeritud muutujast,

Pidevate funktsioonide  ja  jaoks väidab Heisenbergi määramatuse printsiip, et

kus  ja  on  ja  erinevused, koos võrdsusega, mis on saavutatud sobivalt normaliseeritud Gaussi jaotusest.

Hirschmanni entroopialine ebakindlus omab kasulikku analoogi ka DFT puhul. Hirschmani määramatuse printsiip on väljendatud Shannoni entroopia poolest kahe tõenäosusfunktsiooni abil.

Diskreetsel juhul on Shannoni entroopiad 

ja

ja entroopialine määramatuse printsiip muutub

Reaalse sisendiga DFT 
Kui  on reaalarvud, nagu nad on tavalises olukorras, siis DFT allub sümmeetriale:

  kus  tähendab kompleksset konjugatsiooni.

X0 ja XN/2 on reaalsed väärtused ja ülejäänud DFT on täielikult määratud ainult N/2-1 kompleksarvudega.

Üldistatud DFT (nihkunud ja mittelineaarne faas) 
On võimalik nihutada teisenduse proovivõttu aja ja/või sageduspiirkonna mingi a ja b väärtuse võrra. Seda nimetatakse tavaliselt üldistatud DFT-ks (GDFT inglise keeles) või nihutatud DFT-ks. Üldistatud DFT omab analoogsed omadusi nagu tavaline DFT:

Kõige tihedamini kasutatakse nihet  proovi võrra. Tavaline DFT vastab perioodilisele signaalile nii aja kui ka sageduse domeenis,   esitab vastu perioodilist signaali () ja vastupidi, kui  . On olemas ka erijuht , mida on nimetatud paaritu aja ja sagedusega DFT-ks (O2 DFT inglise keeles). Selliseid teisendusi kasutatakse sümmeetriliste signaalide puhul, et esitada erinevaid piirsümmeetriad. Reaalsignaalide puhul vastavad need erinevatele siinus- ja koosinus-signaalidele.

Teine huvitav juhtum on, kui , mida nimetatakse tsentreeritud DFT-ks (CDFT inglise keeles). See DFT omab kasulikku omadust: kui N on nelja korrutis, siis kõik neli tema ühisväärtust omavad võrdset mitmesust.

Diskreetset Fourier' teisendust võib vaadelda z-teisenduse erijuhuna, mida hinnatakse ühikringil komplekstasandil; z-teisendused vastavad kompleksnihetele a ja b, nagu on näidatud eespool.

Mitmemõõtmeline DFT 
Tavaline DFT tegeleb ühemõõtmelisega andmete massiiviga  kuna see on funktsioon täpselt ühe diskreetse muutujaga n. Mitmemõõtmeline DFT tegeleb mitmemõõtmelise massiiviga  ja avaldub d diskreetsete muutujatega funktsiooniks  iga   sees on defineeritud:

kus  ja d väljundi indeksid on . Natuke kompaktsemalt on see väljendatud kui vektor, kus  ja  on d-mõõtmelised vektorid indeksitega nullist , kus :

kus  on  ja summa tähistab pesastatud summeerimist üleval olevas valemis.

Pöördvõrdeline mitmemõõtmeline DFT avaldub samamoodi nagu ühe mõõtme korral:

DFT väljendab sisendit  sinusoidide superpositsiooniga, mitmemõõtmeline DFT väljendab sisendit tasandi lainete superpositsiooniga, või mitmemõõtmeliste sinusoididega. Ostsillatsiooni suund on  ja amplituudid on . See lagunemine omab suurt tähtsust paljudel aladel, alustades digitaalsest pilditöötlusest (kahemõõtmeline) kuni diferentsiaalvõrrandite lahendamiseni. Tulemus on jagatud tasandite lainetele.

Mitmemõõtmeline DFT võib olla arvutatud kui iga mõõtme ühemõõtmelise DFT-de kompositsioon. Kahemõõtmelise DFT puhul  on sõltumatu ridade DFT-d (näiteks mööda ) arvutatud esimesena uueks massiiviks . Järgmisena  sõltumatu veergude DFT-d (mööda ) arvutatakse, et saada lõpptulemust . Võib teha ka vastupidi ja esimesena arvutada veerud ja pärast read. Järjekord pole oluline, sest lõpus arvutatakse pesastatud summa.

Ühemõõtmelise DFT arvutamise algoritm on piisav selleks, et arvutada ka mitmemõõtmelised DFT-d. Selle algoritmi nimetuseks on rea-veeru algoritm. On olemas ka mõned teised algoritmid mitmemõõtmeliste DFT-de arvutamiseks.

Reaalse sisendiga mitmemõõtmeline DFT 
Kui sisend koosneb reaalsetest arvudest , DFT väljund omab konjugatiivset sümmeetriat nagu ühemõõtmelisel juhul:

kus tärn tähendab kompleksset konjugatsiooni ja -is indeks on absoluutväärtus  (iga  jaoks).

Kiire DFT 
Kiire Fourier' teisendus (Fast Fourier Transform = FFT) põhineb teisendamiseks vajalike arvutuste mahu vähendamisel teatud (korduvate) tulemuste (korduva) ärakasutamise teel või mõne spetsiifilise vaheteisenduse kasutamise teel. Seetõttu on FFT reeglina kasutatav vaid diskreeditud funktsioonide ja signaalide puhul. Siiski on ka analoogtehnikas mõned signaalitöötluse võtted vaadeldavad kui FFT teatud vormid.

FFT kasutatavusse ja FFT abil saadud tulemustesse tuleb seetõttu suhtuda vajaliku kriitilisusega, kuna lisaks diskreetmisest tulenevatele iseärasustele tuleb lisaks arvesse võtta veel ka FFT enda olemusest tulenevaid iseärasusi (lühike ajaintervall ja sellest tulenevalt nn. vaatluse akna(funktsiooni) kasutamine, sünkroonsuse probleemid).

FFT kasutatavus on praktikas laialdane (heli- ja sidetehnika, jm), kuna paljudel juhtudel suurt täpsust selle mõõtetehnilises mõttes ei nõuta (heli puhul loetakse piisavaks 1dB ehk ~10% täpsust). Arvutuse täpsuse probleemid on aga üldjuhul lahendatavad.

Kiire DFT arvutamiseks kasutatakse mitu algoritmi: Cooley-Tukey FFT, Prime-factor FFT, Bruun's FFT, Rader's FFT, ja Bluestein's FFT.

Rakendused 
DFT on kasutatud paljudel aladel ja siin on näidatud ainult tähtsamad neist. Peaaegu kõik DFT rakendused otseselt põhinevad sellel põhimõttel, et DFT-d ja pöörd-DFT on võimalik efektiivselt arvutada Kiire Fourier' teisenduse abil .

Spektraalanalüüs 
Kui DFT-d kasutatakse spektraalanalüüsiks, siis  jada tavaliselt kujutab piiratud koguse ühtlaste aja vahedega paigutatud mingi signaali proove , kus t on aeg. Üleminek pidevalt ajalt proovidele muudab  Fourier' teisendust Diskreetse aja Fourier teisenduseks (DTFT), mis tavaliselt tähendab deformeerimist (aliasing inglise keeles). Deformeerimise minimeerimiseks tuleb õigesti valida proovide võitmise sagedust, arvestades Nyquist-i sagedust. Samas, tuleb proovide jada konverteerida väga suurest(või lõpmatust) sobivaks, et vältida teist deformeerimist, nimetatud lekkimine, ehk resolutsiooni kaotamine DFT-s. Kui kättesaadav andmete hulk on liiga väike, või andmete töötlemiseks (vajaliku resolutsiooni leidmiseks) pole piisavalt aega, kasutatakse mitu DFT-d spektrogrammi tegemiseks. Tulemusena on võimsuse spekter kus esineb müra ja/või juhuslikud andmed, mida saab filtreerida mitu DFT tulemuste võrdlemisega. See protseduur vähendab spektri dispersiooni ja on nimetatud perioodgrammiks. Tuntud näited selle meetodi kasutamisest on Welchi ja Bartletti meetodid. Üldine meetod võimsuse spektri hindamiseks lärmaka signaali puhul on nimetatud spektraalne hindamine.

DFT ise on lõplik moonutamise allikas, sest DFT on ainult diskreetne proovide võtmine pidevast funktsioonist. Seda on võimalik leevendada DFT resolutsiooni suurendamisega.

Andmete pakkimine 
Digitaalse signaalitöötluse valdkond põhineb sagedusdomeenis toimuvates operatsioonides (Fourier' teisenduse tulemustes). Näiteks andmekaostega piltide töötlus ja heli pakkimise meetodid kasutavad DFT-d: signaal on lõigatud lühikesteks segmentideks (proovide võtmine), iga lõik on transformeeritud, ja siis peaaegu märkamatu kõrgesageduslikud Fourier' koefitsiendid, kõrvaldatakse. Dekompressor arvutab pöördtransformatsiooni, mis põhineb uutel DFT väärtustel. Pakkimise rakendused kasutavad sageli spetsialiseeritud DFT vormi, diskreetse koosinus teisendust, või juba seda modifitseeritud versiooni. Mõned suhteliselt hiljutised kokkupakkimisalgoritmid kasutavad nn laineke teisendust, mis annab ühtlasema kompromissi aja ja sageduse domeenide vahel. JPEG2000 juhul, see väldib vigaste piltide tekkimist, mis ilmuvad, kui pildid on liiga palju tihendatud algse JPEG pakkimise tõttu.

Osatuletistega diferentsiaalvõrrandid 
Diskreetne Fourier' teisendust kasutatakse sageli osatuletistega diferentsiaalvõrrandite ahendamisel, kus DFT-d kasutatakse Fourier' rea liigikaudseks arvutamiseks. Selle lähenemise eeliseks on see, et signaali laiendatakse kompleks eksponentideks , mis on diferentseerimise tulemuste funktsioonide hulk: . Seega Fourier' esindamises, diferentseerimine on lihtne – see on korrutamine väärtusega . Lineaarne diferentsiaalvõrrand konstantsete kordajatega muundub kergesti lahendatavaks algebraliseks võrrandiks. Tulemuse tagasi aja domeeni teisendamiseks tuleb kasutada pöörd teisendust. Seda ka nimetatakse spektraalmeetodiks ehk spektraalanalüüsiks.

Polünoomiline korrutamine 

Oletame, et me soovime arvutada polünoomi c(x) = a(x) · b(x). Tavaline koefitsientide c väljend hõlmab lineaarset (atsüklilist) konvolutsiooni. Seda saab kirjutada tsüklilise konvolutsiooni kasutades, kui võtta koefitsient vektoriteks a(x) ja b(x) pideva väljendiga esimeseks, seejärel lisades nulle nii, et tulemus koefitsient vektorid a ja b on mõõtmes d > deg(a(x)) + deg(b(x)). Siis,

Kus c on koefitsientide vektor c(x), ja konvolutsiooni operaator  on

Aga konvolutsioon muutub korrutamiseks DFT all:

Siin on vektor võetud elemendi kaupa. Seega polünoomi koefitsiendid c(x) on vaid 0, ..., deg(a(x)) + deg(b(x)) ja koefitsient vektorist on

Kiire DFT algoritmi kasutuses ajaline keerukus on O (N log N''). Teisenduse operatsiooni jaoks tavaliselt kasutatakse Cooley-Tukey FFT algoritmi, sest see on lihtne ja suhteliselt kiire. Sel juhul peab  olema väiksem täisarv, mis on suurem, kui sisend-polünoomi algtegurite summa.

Suurte täisarvude korrutamine

Kõige kiirem tuntud algoritmidest väga suurte täisarvude korrutamiseks on polünoomide korrutamise meetod. Täisarve võib käsitleda, kui polünoomide väärtused väärtustatud konkreetse arvu alusel, koos polünoomi koefitsientidega, mis on selle arvu numbrid. Pärast polünoomilist korrutamist lõpetab korrutamise suhteliselt väikese keerukusega nn carry-paljundamine.

 Konvolutsioon 
Kuna konvolutsioon on sagedus domeenis lihtsalt korrutamine, siis palju lihtsam on teisendada sisendid DFT abil, järgmisena teha korrutist ja viimasena teisendada tulemust pöördteisendusega tagasi aja domeeni.

Olulised DFT paarid

Üldistused

 Esinduse teooria 
DFT-d võib tõlgendada kui kompleksset piiratud tsüklilise rühma esinduse teooriat. Teisisõnu, n kompleksarvude jada võib olla tõlgendatud nägu n-mõõtmeline kompleksne ruum Cn või lõplikku tsüklilise kompleksarvude rühma funktsioon f, Zn → C. f on tsükliline piiratud rühma klassi funktsioon, ning seda saab väljendada taandumatu tähemärkide lineaarse kombinatsioonina selles rühmas. Need märgid on ühe juured.

 Muud valdkonnad 
Palju DFT omadustest sõltuvad ainult sellest, et  on primitiivsed ühe juured. Need omadused on täielikkus, ortogonaalsus, Plancherel/Parseval, perioodilisus, nihe, konvolutsioon ja paljud kiire DFT algoritmid. Seetõttu DFT-d võib defineerida ühe juure mõiste kasutades ka muudes valdkondades. Neid üldistusi tavaliselt nimetatakse number-teoreetilised teisendused (number-theoretic transforms (NTT)).

 Muud piiratud rühmad 
Tavaline DFT tegeleb x0, x1, …, xN−1 kompleksarvude jadaga, mis võib olla vaadeldud funktsioonina {0, 1, …, N'' − 1} → C. Mitmemõõtmeline DFT tegeleb mitmemõõtmeliste jadadega, mis võivad olla vaadeldud funktsioonidena

Siis tavalist DFT-d vaadeldakse tsüklilise rühma Fourier' teisendusena, ja mitmemõõtmeline DFT on tsükliliste rühmade summa Fourier' teisendus.

Märkused

Viited

Välislingid 
Interactive explanation of the DFT
Matlab tutorial on the Discrete Fourier Transformation
Interactive flash tutorial on the DFT
Mathematics of the Discrete Fourier Transform by Julius O. Smith III
FFTW: Fast implementation of the DFT - coded in C and under General Public License (GPL)
General Purpose FFT Package: Yet another fast DFT implementation in C & FORTRAN, permissive license
Explained: The Discrete Fourier Transform

Matemaatiline analüüs