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. N kompleksarvude jada x 0 , x 1 , … , x N − 1 {\displaystyle x_{0},x_{1},\ldots ,x_{N-1}} teisendatakse N-perioodiliseks kompleksarvude jadaks: X k   = def   ∑ n = 0 N − 1 x n ⋅ e − 2 π i k n / N , k ∈ Z {\displaystyle X_{k}\ {\stackrel {\text{def}}{=}}\ \sum _{n=0}^{N-1}x_{n}\cdot e^{-2\pi ikn/N},\quad k\in \mathbb {Z} \,} (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 F {\displaystyle {\mathcal {F}}} , kus X = F { x } {\displaystyle \mathbf {X} ={\mathcal {F}}\left\{\mathbf {x} \right\}} või F ( x ) {\displaystyle {\mathcal {F}}\left(\mathbf {x} \right)} või F x {\displaystyle {\mathcal {F}}\mathbf {x} } . 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, X n {\displaystyle X_{n}} ja kompleksne sinusoid sagedusel k/N. Seega see toimib nagu sobitatud filter sellele sagedusele. See on diskreetne analoog Fourier' rea koefitsientide leidmise valemile: x n = 1 N ∑ k = 0 N − 1 X k ⋅ e 2 π i k n / N , n ∈ Z {\displaystyle x_{n}={\frac {1}{N}}\sum _{k=0}^{N-1}X_{k}\cdot e^{2\pi ikn/N},\quad n\in \mathbb {Z} \,} mis on ka N-perioodiline. n   ∈   [ 0 ,   N − 1 ] {\displaystyle \scriptstyle n\ \in \ [0,\ N-1]} domeenis on see definitsiooni valemi pöördteisendus. Selle tõlgenduse järgi on iga X k {\displaystyle X_{k}} kompleksne number, mis kodeerib funktsiooni x n {\displaystyle x_{n}} komplekssesse siinuselisse komponenti   ( e 2 π i k n / N ) {\displaystyle (e^{2\pi ikn/N})}  nii amplituudi kui ka faasi. Siinuse sagedus on k/N. Amplituud ja faas vastavad võrranditele: | X k | / N = Re ⁡ ( X k ) 2 + Im ⁡ ( X k ) 2 / N {\displaystyle |X_{k}|/N={\sqrt {\operatorname {Re} (X_{k})^{2}+\operatorname {Im} (X_{k})^{2}}}/N} arg ⁡ ( X k ) = atan2 ⁡ ( Im ⁡ ( X k ) , Re ⁡ ( X k ) ) = − i ln ⁡ ( X k | X k | ) , {\displaystyle \arg(X_{k})=\operatorname {atan2} {\big (}\operatorname {Im} (X_{k}),\operatorname {Re} (X_{k}){\big )}=-i\operatorname {ln} \left({\frac {X_{k}}{|X_{k}|}}\right),} 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: X k = ∑ n = 0 N − 1 x n ⋅ ( cos ⁡ ( − 2 π k n N ) + i sin ⁡ ( − 2 π k n N ) ) , k ∈ Z {\displaystyle X_{k}=\sum _{n=0}^{N-1}x_{n}\cdot (\cos(-2\pi k{\frac {n}{N}})+i\sin(-2\pi k{\frac {n}{N}})),\quad k\in \mathbb {Z} \,} Pöördteisendus: x n = 1 N ∑ k = 0 N − 1 X k ⋅ ( cos ⁡ ( 2 π k n N ) + i sin ⁡ ( 2 π k n N ) ) , n ∈ Z {\displaystyle x_{n}={\frac {1}{N}}\sum _{k=0}^{N-1}X_{k}\cdot (\cos(2\pi k{\frac {n}{N}})+i\sin(2\pi k{\frac {n}{N}})),\quad n\in \mathbb {Z} \,} kus N {\displaystyle N} on proovide arv n {\displaystyle n} on hetkel töödeldava proovi number (0, ..., N − 1 {\displaystyle N-1} ) x n {\displaystyle x_{n}} on signaali väärtus hetkel n {\displaystyle n} k {\displaystyle k} on sagedus (0 Hz kuni N − 1 {\displaystyle N-1} Hz) töötlemise hetkel X k {\displaystyle X_{k}} on sagedusega k {\displaystyle k} signaali (amplituudi ja faasi väljendav kompleksarv. Diskreetne Fourier' teisendus on pööratav lineaarne teisendus F : C N → C N {\displaystyle {\mathcal {F}}\colon \mathbb {C} ^{N}\to \mathbb {C} ^{N}} kus C {\displaystyle \mathbb {C} } 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. Vektorid u k = [ e 2 π i N k n | n = 0 , 1 , … , N − 1 ] T {\displaystyle u_{k}=\left[e^{{\frac {2\pi i}{N}}kn}\;|\;n=0,1,\ldots ,N-1\right]^{T}} moodustavad ortogonaalse baasi üle N-mõõtmeliste kompleksvektorite hulga: u k T u k ′ ∗ = ∑ n = 0 N − 1 ( e 2 π i N k n ) ( e 2 π i N ( − k ′ ) n ) = ∑ n = 0 N − 1 e 2 π i N ( k − k ′ ) n = N   δ k k ′ {\displaystyle u_{k}^{T}u_{k'}^{*}=\sum _{n=0}^{N-1}\left(e^{{\frac {2\pi i}{N}}kn}\right)\left(e^{{\frac {2\pi i}{N}}(-k')n}\right)=\sum _{n=0}^{N-1}e^{{\frac {2\pi i}{N}}(k-k')n}=N~\delta _{kk'}} kus   δ k k ′ {\displaystyle ~\delta _{kk'}} on Kronecker delta. (Viimane samm on triviaalsete k = k ′ {\displaystyle k=k'} 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. Kui Xk ja Yk on vastavalt xn ja yn teisendused, siis ütleb Parsevali teoreem, et: ∑ n = 0 N − 1 x n y n ∗ = 1 N ∑ k = 0 N − 1 X k Y k ∗ {\displaystyle \sum _{n=0}^{N-1}x_{n}y_{n}^{*}={\frac {1}{N}}\sum _{k=0}^{N-1}X_{k}Y_{k}^{*}} kus tärn tähendab kompleksset konjugatsiooni. Parsevali teoreemi selline erijuht, kus xn = yn, on Planchereli teoreem, mis väidab: ∑ n = 0 N − 1 | x n | 2 = 1 N ∑ k = 0 N − 1 | X k | 2 . {\displaystyle \sum _{n=0}^{N-1}|x_{n}|^{2}={\frac {1}{N}}\sum _{k=0}^{N-1}|X_{k}|^{2}.} Perioodilisust võib näha otse definitsioonist: X k + N   = d e f   ∑ n = 0 N − 1 x n e − 2 π i N ( k + N ) n = ∑ n = 0 N − 1 x n e − 2 π i N k n e − 2 π i n ⏟ 1 = ∑ n = 0 N − 1 x n e − 2 π i N k n = X k . {\displaystyle X_{k+N}\ {\stackrel {\mathrm {def} }{=}}\ \sum _{n=0}^{N-1}x_{n}e^{-{\frac {2\pi i}{N}}(k+N)n}=\sum _{n=0}^{N-1}x_{n}e^{-{\frac {2\pi i}{N}}kn}\underbrace {e^{-2\pi in}} _{1}=\sum _{n=0}^{N-1}x_{n}e^{-{\frac {2\pi i}{N}}kn}=X_{k}.} Samas on näha, et pöördteisenduse võrrand viib perioodilisele laiendamisele. Korrutades x n {\displaystyle x_{n}} lineaarse faasiga e 2 π i N n m {\displaystyle e^{{\frac {2\pi i}{N}}nm}} mingi täisarvu m järgi vastab nihkele väljundis X k {\displaystyle X_{k}} : X k {\displaystyle X_{k}} , mis asendatakse X k − m {\displaystyle X_{k-m}} , kus indeks on tõlgendatud kui absoluutväärtus N (perioodiliselt). Samamoodi nihe sisendis x n {\displaystyle x_{n}} vastab väljundi X k {\displaystyle X_{k}} korrutamisele lineaarse faasiga. Matemaatiliselt, kui { x n } {\displaystyle \{x_{n}\}} tähistab vektorit x, siis kui F ( { x n } ) k = X k {\displaystyle {\mathcal {F}}(\{x_{n}\})_{k}=X_{k}} siis F ( { x n ⋅ e 2 π i N n m } ) k = X k − m {\displaystyle {\mathcal {F}}(\{x_{n}\cdot e^{{\frac {2\pi i}{N}}nm}\})_{k}=X_{k-m}} ja F ( { x n − m } ) k = X k ⋅ e − 2 π i N k m {\displaystyle {\mathcal {F}}(\{x_{n-m}\})_{k}=X_{k}\cdot e^{-{\frac {2\pi i}{N}}km}} 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: F − 1 { X ⋅ Y } n   = ∑ l = 0 N − 1 x l ⋅ ( y N ) n − l     = d e f     ( x ∗ y N ) n   , {\displaystyle {\mathcal {F}}^{-1}\left\{\mathbf {X\cdot Y} \right\}_{n}\ =\sum _{l=0}^{N-1}x_{l}\cdot (y_{N})_{n-l}\ \ {\stackrel {\mathrm {def} }{=}}\ \ (\mathbf {x*y_{N}} )_{n}\ ,} mis on konvolutsioon x {\displaystyle \mathbf {x} } ja y {\displaystyle \mathbf {y} } jadade vahel pikendatud perioodilise liitmisega: ( y N ) n   = d e f   ∑ p = − ∞ ∞ y ( n − p N ) = y n ( m o d N ) . {\displaystyle (\mathbf {y_{N}} )_{n}\ {\stackrel {\mathrm {def} }{=}}\ \sum _{p=-\infty }^{\infty }y_{(n-pN)}=y_{n(modN)}.\,} Ristkorrelatsioon x {\displaystyle \mathbf {x} }   ja   y N {\displaystyle \mathbf {y_{N}} }   vahel on selline: F − 1 { X ∗ ⋅ Y } n = ∑ l = 0 N − 1 x l ∗ ⋅ ( y N ) n + l     = d e f     ( x ⋆ y N ) n   . {\displaystyle {\mathcal {F}}^{-1}\left\{\mathbf {X^{*}\cdot Y} \right\}_{n}=\sum _{l=0}^{N-1}x_{l}^{*}\cdot (y_{N})_{n+l}\ \ {\stackrel {\mathrm {def} }{=}}\ \ (\mathbf {x\star y_{N}} )_{n}\ .} Võib ka tõestada, et: F { x ⋅ y } k   = d e f ∑ n = 0 N − 1 x n ⋅ y n ⋅ e − 2 π i N k n = 1 N ( X ∗ Y N ) k , {\displaystyle {\mathcal {F}}\left\{\mathbf {x\cdot y} \right\}_{k}\ {\stackrel {\mathrm {def} }{=}}\sum _{n=0}^{N-1}x_{n}\cdot y_{n}\cdot e^{-{\frac {2\pi i}{N}}kn}={\frac {1}{N}}(\mathbf {X*Y_{N}} )_{k},\,} mis on ringikujuline konvolutsioon X {\displaystyle \mathbf {X} } ja Y {\displaystyle \mathbf {Y} } vahel. p ( t ) = 1 N [ X 0 + X 1 e 2 π i t + ⋯ + X N / 2 − 1 e ( N / 2 − 1 ) 2 π i t + X N / 2 cos ⁡ ( N π t ) + X N / 2 + 1 e ( − N / 2 + 1 ) 2 π i t + ⋯ + X N − 1 e − 2 π i t ] {\displaystyle p(t)={\frac {1}{N}}\left[X_{0}+X_{1}e^{2\pi it}+\cdots +X_{N/2-1}e^{(N/2-1)2\pi it}+X_{N/2}\cos(N\pi t)+X_{N/2+1}e^{(-N/2+1)2\pi it}+\cdots +X_{N-1}e^{-2\pi it}\right]} paaris N-i jaoks, p ( t ) = 1 N [ X 0 + X 1 e 2 π i t + ⋯ + X ⌊ N / 2 ⌋ e ⌊ N / 2 ⌋ 2 π i t + X ⌊ N / 2 ⌋ + 1 e − ⌊ N / 2 ⌋ 2 π i t + ⋯ + X N − 1 e − 2 π i t ] {\displaystyle p(t)={\frac {1}{N}}\left[X_{0}+X_{1}e^{2\pi it}+\cdots +X_{\lfloor N/2\rfloor }e^{\lfloor N/2\rfloor 2\pi it}+X_{\lfloor N/2\rfloor +1}e^{-\lfloor N/2\rfloor 2\pi it}+\cdots +X_{N-1}e^{-2\pi it}\right]} paaritu N-i jaoks, kus koefitsiendid Xk on eespool oleva xn DFT ja rahuldavad interpoleerimist p ( n / N ) = x n {\displaystyle p(n/N)=x_{n}} n = 0 , … , N − 1 {\displaystyle n=0,\ldots ,N-1} jaoks. Paaris N-i puhul tuleb tähele panna, et Nyquist komponenti X N / 2 N cos ⁡ ( N π t ) {\displaystyle {\frac {X_{N/2}}{N}}\cos(N\pi t)} käsitletakse eraldi. Teise võimalusena saab DFT-d väljendada DFT maatriksi abil ehk Vandermonde maatriksina, mille võttis kasutusele Sylvester 1867. aastal. F = [ ω N 0 ⋅ 0 ω N 0 ⋅ 1 … ω N 0 ⋅ ( N − 1 ) ω N 1 ⋅ 0 ω N 1 ⋅ 1 … ω N 1 ⋅ ( N − 1 ) ⋮ ⋮ ⋱ ⋮ ω N ( N − 1 ) ⋅ 0 ω N ( N − 1 ) ⋅ 1 … ω N ( N − 1 ) ⋅ ( N − 1 ) ] {\displaystyle \mathbf {F} ={\begin{bmatrix}\omega _{N}^{0\cdot 0}&\omega _{N}^{0\cdot 1}&\ldots &\omega _{N}^{0\cdot (N-1)}\\\omega _{N}^{1\cdot 0}&\omega _{N}^{1\cdot 1}&\ldots &\omega _{N}^{1\cdot (N-1)}\\\vdots &\vdots &\ddots &\vdots \\\omega _{N}^{(N-1)\cdot 0}&\omega _{N}^{(N-1)\cdot 1}&\ldots &\omega _{N}^{(N-1)\cdot (N-1)}\\\end{bmatrix}}} kus ω N = e − 2 π i / N {\displaystyle \omega _{N}=e^{-2\pi i/N}\,} on primitiivne N-is ühe juur. Pöördteisendus on selle maatriksi pöördmaatriks: F − 1 = 1 N F ∗ {\displaystyle \mathbf {F} ^{-1}={\frac {1}{N}}\mathbf {F} ^{*}} Ühtse normaliseerimise konstantidega 1 / N {\displaystyle 1/{\sqrt {N}}} saab DFT ühtseks teisenduseks, mis on defineeritud ühtse maatriksi abil: U = F / N {\displaystyle \mathbf {U} =\mathbf {F} /{\sqrt {N}}} U − 1 = U ∗ {\displaystyle \mathbf {U} ^{-1}=\mathbf {U} ^{*}} | det ( U ) | = 1 {\displaystyle |\det(\mathbf {U} )|=1} kus det() on maatriksi determinant. Determinant on omaväärtuste tulemus, mis on kas ± 1 {\displaystyle \pm 1} või ± i {\displaystyle \pm i} . Ortogonaalsust väljendab nüüd ortonormaalsuse tingimus. ∑ m = 0 N − 1 U k m U m n ∗ = δ k n {\displaystyle \sum _{m=0}^{N-1}U_{km}U_{mn}^{*}=\delta _{kn}} Kui X on ühtne vektori x DFT, siis X k = ∑ n = 0 N − 1 U k n x n {\displaystyle X_{k}=\sum _{n=0}^{N-1}U_{kn}x_{n}} ja Planchereli teoreem on väljendatud niimoodi: ∑ n = 0 N − 1 x n y n ∗ = ∑ k = 0 N − 1 X k Y k ∗ {\displaystyle \sum _{n=0}^{N-1}x_{n}y_{n}^{*}=\sum _{k=0}^{N-1}X_{k}Y_{k}^{*}} Erijuhul x = y {\displaystyle \mathbf {x} =\mathbf {y} } on see Parsevali teoreem ∑ n = 0 N − 1 | x n | 2 = ∑ k = 0 N − 1 | X k | 2 {\displaystyle \sum _{n=0}^{N-1}|x_{n}|^{2}=\sum _{k=0}^{N-1}|X_{k}|^{2}} 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. F − 1 ( { x n } ) = F ( { x N − n } ) / N {\displaystyle {\mathcal {F}}^{-1}(\{x_{n}\})={\mathcal {F}}(\{x_{N-n}\})/N} Teiseks võib ka ümber pöörata sisendid ja väljundid: F − 1 ( x ) = F ( x ∗ ) ∗ / N {\displaystyle {\mathcal {F}}^{-1}(\mathbf {x} )={\mathcal {F}}(\mathbf {x} ^{*})^{*}/N} Viimaseks võime vahetada omavahel reaal- ja imaginaarsignaali osad: F − 1 ( x ) = swap ( F ( swap ( x ) ) ) / N {\displaystyle {\mathcal {F}}^{-1}(\mathbf {x} )={\textrm {swap}}({\mathcal {F}}({\textrm {swap}}(\mathbf {x} )))/N} Kus swap( x n {\displaystyle x_{n}} ) on x n {\displaystyle x_{n}} , milles on reaal- ja imaginaar-osad omavahel niimoodi vahetatud: x n = a + b i {\displaystyle x_{n}=a+bi} swap( x n {\displaystyle x_{n}} ) on b + a i {\displaystyle b+ai} . Samas, swap( x n {\displaystyle x_{n}} ) on võrdne i x n ∗ {\displaystyle ix_{n}^{*}} . 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 U {\displaystyle \mathbf {U} } pikkusega N on selline: U m , n = 1 N ω N ( m − 1 ) ( n − 1 ) = 1 N e − 2 π i N ( m − 1 ) ( n − 1 ) . {\displaystyle \mathbf {U} _{m,n}={\frac {1}{\sqrt {N}}}\omega _{N}^{(m-1)(n-1)}={\frac {1}{\sqrt {N}}}e^{-{\frac {2\pi i}{N}}(m-1)(n-1)}.} See maatriks vastab maatriksite polünomiaalsele võrrandile: U 4 = I . {\displaystyle \mathbf {U} ^{4}=\mathbf {I} .} See tähendab, et omaväärtused λ {\displaystyle \lambda } võrrandile on: λ 4 = 1. {\displaystyle \lambda ^{4}=1.} Samas on U {\displaystyle \mathbf {U} } omaväärtused neljandad ühe juured: λ {\displaystyle \lambda } 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: Kui juhuslik suurus Xk on piiratud: ∑ n = 0 N − 1 | X n | 2 = 1   , {\displaystyle \sum _{n=0}^{N-1}|X_{n}|^{2}=1~,} siis P n = | X n | 2 {\displaystyle P_{n}=|X_{n}|^{2}} võib esindada diskreetse tõenäosuse n-i massi-funktsiooni koos tõenäosuse massi-funktsiooni funktsiooniga, mis on saadud transformeeritud muutujast, Q m = N | x m | 2   . {\displaystyle Q_{m}=N|x_{m}|^{2}~.} Pidevate funktsioonide P ( x ) {\displaystyle P(x)} ja Q ( k ) {\displaystyle Q(k)} jaoks väidab Heisenbergi määramatuse printsiip, et D 0 ( X ) D 0 ( x ) ≥ 1 16 π 2 {\displaystyle D_{0}(X)D_{0}(x)\geq {\frac {1}{16\pi ^{2}}}} kus D 0 ( X ) {\displaystyle D_{0}(X)} ja D 0 ( x ) {\displaystyle D_{0}(x)} on | X | 2 {\displaystyle |X|^{2}} ja | x | 2 {\displaystyle |x|^{2}} 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 H ( X ) = − ∑ n = 0 N − 1 P n ln ⁡ P n {\displaystyle H(X)=-\sum _{n=0}^{N-1}P_{n}\ln P_{n}} ja H ( x ) = − ∑ m = 0 N − 1 Q m ln ⁡ Q m   , {\displaystyle H(x)=-\sum _{m=0}^{N-1}Q_{m}\ln Q_{m}~,} ja entroopialine määramatuse printsiip muutub H ( X ) + H ( x ) ≥ ln ⁡ ( N )   . {\displaystyle H(X)+H(x)\geq \ln(N)~.} Kui x 0 , … , x N − 1 {\displaystyle x_{0},\ldots ,x_{N-1}} on reaalarvud, nagu nad on tavalises olukorras, siis DFT allub sümmeetriale: X N − k ≡ X − k = X k ∗ , {\displaystyle X_{N-k}\equiv X_{-k}=X_{k}^{*},}   kus X ∗ {\displaystyle X^{*}\,} 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. 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: X k = ∑ n = 0 N − 1 x n e − 2 π i N ( k + b ) ( n + a ) k = 0 , … , N − 1. {\displaystyle X_{k}=\sum _{n=0}^{N-1}x_{n}e^{-{\frac {2\pi i}{N}}(k+b)(n+a)}\quad \quad k=0,\dots ,N-1.} Kõige tihedamini kasutatakse nihet 1 / 2 {\displaystyle 1/2} proovi võrra. Tavaline DFT vastab perioodilisele signaalile nii aja kui ka sageduse domeenis, a = 1 / 2 {\displaystyle a=1/2} ( b = 1 ) {\displaystyle (b=1)} esitab vastu perioodilist signaali ( X k + N = − X k {\displaystyle X_{k+N}=-X_{k}} ) ja vastupidi, kui b = 1 / 2 {\displaystyle b=1/2} ( a = 1 ) {\displaystyle (a=1)} . On olemas ka erijuht a = b = 1 / 2 {\displaystyle a=b=1/2} , 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 a = b = − ( N − 1 ) / 2 {\displaystyle a=b=-(N-1)/2} , 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. Tavaline DFT tegeleb ühemõõtmelisega andmete massiiviga x n {\displaystyle x_{n}} kuna see on funktsioon täpselt ühe diskreetse muutujaga n. Mitmemõõtmeline DFT tegeleb mitmemõõtmelise massiiviga x n 1 , n 2 , … , n d {\displaystyle x_{n_{1},n_{2},\dots ,n_{d}}} ja avaldub d diskreetsete muutujatega funktsiooniks n ℓ = 0 , 1 , … , N ℓ − 1 {\displaystyle n_{\ell }=0,1,\dots ,N_{\ell }-1} iga ℓ {\displaystyle \ell } 1 , 2 , … , d {\displaystyle 1,2,\dots ,d} sees on defineeritud: X k 1 , k 2 , … , k d = ∑ n 1 = 0 N 1 − 1 ( ω N 1   k 1 n 1 ∑ n 2 = 0 N 2 − 1 ( ω N 2   k 2 n 2 ⋯ ∑ n d = 0 N d − 1 ω N d   k d n d ⋅ x n 1 , n 2 , … , n d ) ) , {\displaystyle X_{k_{1},k_{2},\dots ,k_{d}}=\sum _{n_{1}=0}^{N_{1}-1}\left(\omega _{N_{1}}^{~k_{1}n_{1}}\sum _{n_{2}=0}^{N_{2}-1}\left(\omega _{N_{2}}^{~k_{2}n_{2}}\cdots \sum _{n_{d}=0}^{N_{d}-1}\omega _{N_{d}}^{~k_{d}n_{d}}\cdot x_{n_{1},n_{2},\dots ,n_{d}}\right)\right)\,,} kus ω N ℓ = exp ⁡ ( − 2 π i / N ℓ ) {\displaystyle \omega _{N_{\ell }}=\exp(-2\pi i/N_{\ell })} ja d väljundi indeksid on k ℓ = 0 , 1 , … , N ℓ − 1 {\displaystyle k_{\ell }=0,1,\dots ,N_{\ell }-1} . Natuke kompaktsemalt on see väljendatud kui vektor, kus n = ( n 1 , n 2 , … , n d ) {\displaystyle \mathbf {n} =(n_{1},n_{2},\dots ,n_{d})} ja k = ( k 1 , k 2 , … , k d ) {\displaystyle \mathbf {k} =(k_{1},k_{2},\dots ,k_{d})} on d-mõõtmelised vektorid indeksitega nullist N − 1 {\displaystyle \mathbf {N} -1} , kus N − 1 = ( N 1 − 1 , N 2 − 1 , … , N d − 1 ) {\displaystyle \mathbf {N} -1=(N_{1}-1,N_{2}-1,\dots ,N_{d}-1)} : X k = ∑ n = 0 N − 1 e − 2 π i k ⋅ ( n / N ) x n , {\displaystyle X_{\mathbf {k} }=\sum _{\mathbf {n} =\mathbf {0} }^{\mathbf {N} -1}e^{-2\pi i\mathbf {k} \cdot (\mathbf {n} /\mathbf {N} )}x_{\mathbf {n} }\,,} kus n / N {\displaystyle \mathbf {n} /\mathbf {N} } on n / N = ( n 1 / N 1 , … , n d / N d ) {\displaystyle \mathbf {n} /\mathbf {N} =(n_{1}/N_{1},\dots ,n_{d}/N_{d})} ja summa tähistab pesastatud summeerimist üleval olevas valemis. Pöördvõrdeline mitmemõõtmeline DFT avaldub samamoodi nagu ühe mõõtme korral: x n = 1 ∏ ℓ = 1 d N ℓ ∑ k = 0 N − 1 e 2 π i n ⋅ ( k / N ) X k . {\displaystyle x_{\mathbf {n} }={\frac {1}{\prod _{\ell =1}^{d}N_{\ell }}}\sum _{\mathbf {k} =\mathbf {0} }^{\mathbf {N} -1}e^{2\pi i\mathbf {n} \cdot (\mathbf {k} /\mathbf {N} )}X_{\mathbf {k} }\,.} DFT väljendab sisendit x n {\displaystyle x_{n}} sinusoidide superpositsiooniga, mitmemõõtmeline DFT väljendab sisendit tasandi lainete superpositsiooniga, või mitmemõõtmeliste sinusoididega. Ostsillatsiooni suund on k / N {\displaystyle \mathbf {k} /\mathbf {N} } ja amplituudid on X k {\displaystyle X_{\mathbf {k} }} . 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 x n 1 , n 2 {\displaystyle x_{n_{1},n_{2}}} on N 1 {\displaystyle N_{1}} sõltumatu ridade DFT-d (näiteks mööda n 2 {\displaystyle n_{2}} ) arvutatud esimesena uueks massiiviks y n 1 , k 2 {\displaystyle y_{n_{1},k_{2}}} . Järgmisena N 2 {\displaystyle N_{2}} sõltumatu veergude DFT-d (mööda n 1 {\displaystyle n_{1}} ) arvutatakse, et saada lõpptulemust X k 1 , k 2 {\displaystyle X_{k_{1},k_{2}}} . 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. Kui sisend koosneb reaalsetest arvudest x n 1 , n 2 , … , n d {\displaystyle x_{n_{1},n_{2},\dots ,n_{d}}} , DFT väljund omab konjugatiivset sümmeetriat nagu ühemõõtmelisel juhul: X k 1 , k 2 , … , k d = X N 1 − k 1 , N 2 − k 2 , … , N d − k d ∗ , {\displaystyle X_{k_{1},k_{2},\dots ,k_{d}}=X_{N_{1}-k_{1},N_{2}-k_{2},\dots ,N_{d}-k_{d}}^{*},} kus tärn tähendab kompleksset konjugatsiooni ja ℓ {\displaystyle \ell } -is indeks on absoluutväärtus N ℓ {\displaystyle N_{\ell }} (iga ℓ = 1 , 2 , … , d {\displaystyle \ell =1,2,\ldots ,d} jaoks). 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. 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 . Kui DFT-d kasutatakse spektraalanalüüsiks, siis { x n } {\displaystyle \{x_{n}\}\,} jada tavaliselt kujutab piiratud koguse ühtlaste aja vahedega paigutatud mingi signaali proove x ( t ) {\displaystyle x(t)\,} , kus t on aeg. Üleminek pidevalt ajalt proovidele muudab x ( t ) {\displaystyle x(t)\,} 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. 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. 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 e i n x {\displaystyle e^{inx}} , mis on diferentseerimise tulemuste funktsioonide hulk: d ( e i n x ) / d x = i n e i n x {\displaystyle {{\text{d}}{\big (}e^{inx}{\big )}}/{\text{d}}x=ine^{inx}} . Seega Fourier' esindamises, diferentseerimine on lihtne – see on korrutamine väärtusega i n {\displaystyle in} . 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. 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, c = a ∗ b {\displaystyle \mathbf {c} =\mathbf {a} *\mathbf {b} } Kus c on koefitsientide vektor c(x), ja konvolutsiooni operaator ∗ {\displaystyle *\,} on c n = ∑ m = 0 d − 1 a m b n − m   m o d   d n = 0 , 1 … , d − 1 {\displaystyle c_{n}=\sum _{m=0}^{d-1}a_{m}b_{n-m\ \mathrm {mod} \ d}\qquad \qquad \qquad n=0,1\dots ,d-1} Aga konvolutsioon muutub korrutamiseks DFT all: F ( c ) = F ( a ) F ( b ) {\displaystyle {\mathcal {F}}(\mathbf {c} )={\mathcal {F}}(\mathbf {a} ){\mathcal {F}}(\mathbf {b} )} 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 c = F − 1 ( F ( a ) F ( b ) ) . {\displaystyle \mathbf {c} ={\mathcal {F}}^{-1}({\mathcal {F}}(\mathbf {a} ){\mathcal {F}}(\mathbf {b} )).} 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 d {\displaystyle d} olema väiksem täisarv, mis on suurem, kui sisend-polünoomi algtegurite summa. 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. 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. 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. Palju DFT omadustest sõltuvad ainult sellest, et e − 2 π i N {\displaystyle e^{-{\frac {2\pi i}{N}}}} 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)). 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 { 0 , 1 , … , N 1 − 1 } × ⋯ × { 0 , 1 , … , N d − 1 } → C . {\displaystyle \{0,1,\ldots ,N_{1}-1\}\times \cdots \times \{0,1,\ldots ,N_{d}-1\}\to \mathbb {C} .} Siis tavalist DFT-d vaadeldakse tsüklilise rühma Fourier' teisendusena, ja mitmemõõtmeline DFT on tsükliliste rühmade summa Fourier' teisendus. Selles kontekstis W N {\displaystyle W_{N}} defineeritakse nägu N-is primitiivne ühe juur, W N = e − 2 π i / N {\displaystyle W_{N}=e^{-2\pi i/N}} , saab järgmist vormi: X k = ∑ n = 0 N − 1 x n ⋅ W N k n {\displaystyle X_{k}=\sum _{n=0}^{N-1}x_{n}\cdot W_{N}^{kn}} DFT definitsiooni saab ka kirjeldada DFT maatriksi abil nagu lineaarne transformatsioon piiratud-mõõtmelises vektorruumis. Kui DFT on skaleeritud sobivalt, siis see muutub ühtlaseks maatriksiks ja XK on × koefitsiendid ortonormaalsel alusel. Smith, Steven W. (1999). "Chapter 8: The Discrete Fourier Transform". The Scientist and Engineer's Guide to Digital Signal Processing (Second ed.). San Diego, Calif.: California Technical Publishing. ISBN 0-9660176-3-3. Vaadatud 31.10.2016. Brigham, E. Oran (1988). The fast Fourier transform and its applications. Englewood Cliffs, N.J.: Prentice Hall. ISBN 0-13-307505-2. Strang, Gilbert (1994). "Wavelets". American Scientist. 82 (3): 253. Vaadatud 31.10.2016. This is the most important numerical algorithm of our lifetime... Sahidullah; Saha, Goutam (2012). "A Novel Windowing Technique for Efficient Computation of MFCC for Speaker Recognition". IEEE Signal Processing Letters. 20: 149–152. Vaadatud 31.10.2016. Бахурин Сергей. "Дискретное преобразование Фурье (ДПФ)". Vaadatud 31.10.2016. J. Cooley, P. Lewis, and P. Welch (1969). "The finite Fourier transform". IEEE Trans. Audio Electroacoustics. 17 (2): 77–85.{{cite journal}}: CS1 hooldus: mitu nime: autorite loend (link) Oppenheim, Alan V.; Schafer, R. W.; and Buck, J. R. (1999). Discrete-time signal processing. Upper Saddle River, N.J.: Prentice Hall.{{cite book}}: CS1 hooldus: mitu nime: autorite loend (link) Ricardo, Henry J. (2016). "A Modern Introduction to Differential Equations". Lk 428 Бахурин Сергей (2015). "Свойства дискретного преобразования Фурье (ДПФ)" (vene). Vaadatud 31.10.2016. P. Duhamel; B. Piron; J. M. Etcheto (1988). "On computing the inverse DFT". IEEE Trans. Acoust., Speech and Sig. Processing. 36 (2): 285–286. Juan G. Vargas-Rubio; Balu Santhanam (2005). "On the multiangle centered discrete fractional Fourier transform". IEEE Sig. Proc. Lett. 12 (4): 273–276. Nussbaumer, Henri J. (1982). Fast Fourier Transform and Convolution Algorithms (Second Corrected and Updated Edition. ed.). Springer-Verlag. Lk 134–137. Arfken, G. (1985) "Convolution Theorem." §15.5 in Mathematical Methods for Physicists, 3rd ed. Orlando, FL: Academic Press, pp. 810-814, Vaadatud 2016-10-31 G.B. Wright, M. Javed, H. Montanelli, and L.N. Trefethen,(2015), "Extension of Chebfun to periodic functions," SIAM. J. Sci. Comput., 37 , C554-C573 Vaadatud 31-10-2016 Kamisetty Ramam Rao; Patrick C. Yip (2000). The Transform and Data Compression Handbook. CRC Press. ISBN 978-1-4200-3738-8. Vaadatud 31.10.2016. Julius O. Smith (2007). Mathematics of the Discrete Fourier Transform (DFT): With Audio Applications. Julius Smith. ISBN 978-0-9745607-4-8. Vaadatud 31.10.2016. TE 302 DISCRETE SIGNALS AND SYSTEMS 2004, Vaadatud 31-10-2016 J. H. McClellan; T. W. Parks (1972). "Eigenvalues and eigenvectors of the discrete Fourier transformation". IEEE Trans. Audio Electroacoust. 20 (1): 66–74. Magdy Tawfik Hanna, Nabila Philip Attalla Seif, and Waleed Abd El Maguid Ahmed (2004). "Hermite-Gaussian-like eigenvectors of the discrete Fourier transform matrix based on the singular-value decomposition of its orthogonal projection matrices". IEEE Trans. Circ. Syst. I. 51 (11): 2245–2254.{{cite journal}}: CS1 hooldus: mitu nime: autorite loend (link) Massar, S.; Spindel, P. (2008). "Uncertainty Relation for the Discrete Fourier Transform". Physical Review Letters. 100 (19). DeBrunner, Victor; Havlicek, Joseph P.; Przebinda, Tomasz; Özaydin, Murad (2005). "Entropy-Based Uncertainty Measures for L 2 ( R n ) , ℓ 2 ( Z ) {\displaystyle L^{2}(\mathbb {R} ^{n}),\ell ^{2}(\mathbb {Z} )} , and ℓ 2 ( Z / N Z ) {\displaystyle \ell ^{2}(\mathbb {Z} /N\mathbb {Z} )} With a Hirschman Optimal Transform for ℓ 2 ( Z / N Z ) {\displaystyle \ell ^{2}(\mathbb {Z} /N\mathbb {Z} )} " (PDF). IEEE Transactions on Signal Processing. 53 (8): 2690. Vaadatud 31.10.2016. Donoho, D.L.; Stark, P.B (1989). "Uncertainty principles and signal recovery". SIAM Journal on Applied Mathematics. 49 (3): 906–931. Santhanam, Balu; Santhanam, Thalanayar S. (1988) "Discrete Gauss-Hermite functions and eigenvectors of the centered discrete Fourier transform", Proceedings of the 32nd IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2007, SPTM-P12.4), vol. III, pp. 1385-1388. Vaadatud 31-10-2016 Akansu, Ali N.; Agirman-Tosun, Handan (2010) "Generalized Discrete Fourier Transform With Nonlinear Phase", IEEE Transactions on Signal Processing, vol. 58, no. 9, pp. 4547-4556, Vaadatud 31-10-2016 Richard tolimieri; Myoung An; Chao Lu (2012). Mathematics of Multidimensional Fourier Transform Algorithms. Springer Science & Business Media. ISBN 978-1-4684-0205-6. Vaadatud 31.10.2016. C. Sidney Burrus, Ivan Selesnick, Markus Pueschel, Matteo Frigo, and Steven G. Johnson (2008). Fast Fourier Transforms, Connexions Shamgar Gurevich; Ronny Hadani; Nir Sochen (2008). "The finite harmonic oscillator and its applications to sequences, communication and radar". IEEE Transactions on Information Theory. 54 (9): 4239–4253. David Salomon (20. märts 2007). Data Compression: The Complete Reference. Springer Science & Business Media. ISBN 978-1-84628-603-2. Vaadatud 31.10.2016. Nakhle H. Asmar (2016). "10". Partial Differential Equations with Fourier Series and Boundary Value Problems: Third Edition. Courier Dover Publications. ISBN 978-0-486-80737-9. Vaadatud 31.10.2016. J.A. Storer (2001). "5". An Introduction to Data Structures and Algorithms. Springer Science & Business Media. ISBN 978-0-8176-4253-2. Vaadatud 31.10.2016. Umberto Cherubini; Pietro Rossi; Sabrina Mulinacci (2010). Fourier Transform Methods in Finance. John Wiley & Sons. Lk 208. ISBN 978-0-470-68492-4. Vaadatud 31.10.2016. Smith, Stephen W (1997). "13.Convolution". The Scientist and Engineer's Guide to Digital Signal Processing (1 ed.). California Technical Publishing. ISBN 0966017633. Vaadatud 31.10.2016. Serre, Jean-Pierre: ''Linear Representations of Finite Groups.'' Springer Verlag, New York 1977, ISBN 0-387-90190-6.Jean-Pierre Serre (2012). Linear Representations of Finite Groups. Springer Science & Business Media. ISBN 978-1-4684-9458-7. Vaadatud 31.10.2016. Vladimir P. Gerdt; Evgenii V. Vorozhtsov; Ernst W. Mayr (2013). Computer Algebra in Scientific Computing: 15th International Workshop, CASC 2013, Berlin, Germany, September 9-13, 2013, Proceedings. Springer. ISBN 978-3-319-02297-0. Vaadatud 31.10.2016. Terras, Audrey (1999), Fourier Analysis on Finite Groups and Applications, Cambridge University Press, lk 251, ISBN 978-0-521-45718-7 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