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.[2]

Fourier' teisenduse ja diskreetse Fourier' teisenduse vaheline suhe. Vasak veerg: Pidev funktsioon (ülemine) ja tema Fourier' teisendus (all). Kesk-vasak veerg: Originaalfunktsiooni perioodiline summeerimine (ülemine). Fourier' teisendus (alumine) on null, v.a diskreetsete punktide kohtadel. Pöördteisendus on sinusoidide summa – Fourier' rida. Kesk-parem veerg: Originaalfunktsioon on diskreeditud (ülemine). Selle Fourier' teisendus (alumine) on originaalteisenduse perioodiline summa. Parem veerg: DFT (alumine) arvutab diskreetseid proove pidevast diskreetse aja Fourier' teisendusest. Pöörd-DFT (ülemine) on originaalproovide perioodiline summeerimine. Kiire DFT arvutab ühe tsükli DFT-d ja pöörd-DFT-d ühes pöörd-DFT tsüklis.[1]
Fourier' teisenduse kujutis (ülemine) ja selle perioodiline summa (DTFT) (alumine)[1]

DFT on kõige olulisem diskreetne teisendus, mida kasutatakse Fourier' analüüsi teostamiseks paljudes praktilistes rakendustes.[3] Signaalitöötluses on iga signaal funktsioon, millest võetakse proove (lugemeid signaali väärtustest) diskreetimissagedustel.[4] 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.[5]

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.[6]

Mõiste

N kompleksarvude jada teisendatakse N-perioodiliseks kompleksarvude jadaks:

(täisarvud)   [märkus 1]

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.[1]

Diskreetne Fourier' teisendus on tavaliselt tähistatud tähega , kus või või .[märkus 2]

Definitsioonivõrrandit võib tõlgendada või tuletada mitmel viisil, näiteks[5]:

  • 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.[5] Siinuse sagedus on k/N. Amplituud ja faas vastavad võrranditele:
kus atan2 on arkustangensi funktsioon kahe argumendi jaoks.[7]

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.[8]

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.[9]

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.[10]

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:

[11]

Perioodilisus

Perioodilisust võib näha otse definitsioonist:

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

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).[9] Samamoodi nihe sisendis vastab väljundi korrutamisele lineaarse faasiga. Matemaatiliselt, kui tähistab vektorit x, siis

kui
siis
ja [9]

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.[12] 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:

[12]

Konvolutsiooni teoreemi duaalsus

Võib ka tõestada, et:

mis on ringikujuline konvolutsioon ja vahel.[13]

Trigonomeetriline interpolatsiooni polünoom

paaris N-i jaoks,
paaritu N-i jaoks,

kus koefitsiendid Xk on eespool oleva xn DFT ja rahuldavad interpoleerimist jaoks.[14]

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

Ü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.[15]

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.[15]

Kui X on ühtne vektori x DFT, siis

ja Planchereli teoreem on väljendatud niimoodi:

Erijuhul on see Parsevali teoreem

[16]

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.[10]

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 .[17]

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.[18]

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.[18]

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[19]:

suurus Nλ = +1λ = −1λ = -iλ = +i
4mm + 1mmm − 1
4m + 1m + 1mmm
4m + 2m + 1m + 1mm
4m + 3m + 1m + 1m + 1m

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[20],

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.[20]

Diskreetsel juhul on Shannoni entroopiad

ja

ja entroopialine määramatuse printsiip muutub

[21]

Reaalse sisendiga DFT

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

  kus tähendab kompleksset konjugatsiooni.[22]

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

Ü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[23]:

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.[24]

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.[23]

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.[24]

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 .[25] 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.[25]

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.[25]

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[25].

Ü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.[25]

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).[25]

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.[26]

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).[26]

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.[26]

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

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 .[6]

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.[1]

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.[27]

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.[28]

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.[29]

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.[30]

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.[31]

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.[32]

Olulised DFT paarid

Nimetus
Nihe
Reaalne DFT
Geomeetriline progressioon
Binominaalne teoreem
on W punktiline ristkujuline aknafunktsioon keskpunktiga n=0, kus W on paaritu reaalarv, ja on sinc funktsioon.
Skaleeritud Gaussi funktsioonide diskreetimine ja perioodiline liitmine, kus .

Ü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, ZnC. 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.[33]

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)).[34]

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.[35]

Märkused

Viited

Välislingid