Discrete Fourier transform: Difference between revisions

From Wikipedia
Jump to navigation Jump to search
imported>18thcenturyelectrician
 
imported>BrownWill
added data on fractional version
 
Line 1: Line 1:
{{Short description|Function in discrete mathematics}}
{{Short description|Function in discrete mathematics}}
{{distinguish|text=the [[discrete-time Fourier transform]]}}
{{distinguish|text=the [[discrete-time Fourier transform]]}}
{{Fourier transforms}}
[[File:From Continuous To Discrete Fourier Transform.gif|class=skin-invert-image|thumb|400px|Fig 1: Relationship between the (continuous) [[Fourier transform]] and the discrete Fourier transform.{{br}}'''Left:''' A continuous function (top) and its Fourier transform (bottom).{{br}}'''Center-left:''' [[Periodic summation]] of the original function (top).  Fourier transform (bottom) is zero except at discrete points.  The inverse transform is a sum of sinusoids called [[Fourier series]]. {{br}}'''Center-right:''' Original function is discretized (multiplied by a [[Dirac comb]]) (top).  Its Fourier transform (bottom) is a periodic summation ([[Discrete-time Fourier transform|DTFT]]) of the original transform.{{br}}'''Right:''' The DFT (bottom) computes discrete samples of the continuous DTFT.  The inverse DFT (top) is a periodic summation of the original samples.  The [[Fast Fourier transform|FFT]] algorithm computes one cycle of the DFT and its inverse is one cycle of the DFT inverse.]]


[[File:Fourier transform, Fourier series, DTFT, DFT.svg|class=skin-invert-image|thumb|400px|Fig 2: Depiction of a Fourier transform (upper left) and its periodic summation (DTFT) in the lower left corner.  The spectral sequences at (a) upper right and (b) lower right are respectively computed from (a) one cycle of the periodic summation of s(t) and (b) one cycle of the periodic summation of the s(nT) sequence. The respective formulas are (a) the [[Fourier series]] <u>integral</u> and (b) the '''DFT''' <u>summation</u>.  Its similarities to the original transform, S(f), and its relative computational ease are often the motivation for computing a DFT sequence.]]
[[File:DFT 2sin(t) + cos(4t) 25 points.svg|thumb|Discrete Fourier Transform of the sum of a sine and a cosine with different frequencies. This plot illustrates how the DFT of a real signal is symmetric around the middle point, and so only half of the transform points are needed to reconstruct the original signal. It also illustrates how the phase of the sinusoids determines if their DFT components are real or imaginary. ]]
In [[mathematics]], the '''discrete Fourier transform''' ('''DFT''') is a discrete version of the [[Fourier transform]] that converts a finite sequence of numbers into another sequence of the same length, representing the amplitude and phase of different [[frequency]] components. In this way, it changes data from a description in terms of sampled values to a description in terms of oscillations. The inverse discrete Fourier transform reverses this process and recovers the original sequence.


In [[mathematics]], the '''discrete Fourier transform''' ('''DFT''') converts a finite sequence of equally-spaced [[Sampling (signal processing)|samples]] of a [[function (mathematics)|function]] into a same-length sequence of equally-spaced samples of the [[discrete-time Fourier transform]] (DTFT), which is a [[complex number|complex-valued]] function of frequency. The interval at which the DTFT is sampled is the reciprocal of the duration of the input sequence.{{efn-ua|
For data sampled at equally spaced points, the DFT can be understood more precisely as converting between sample values and the coefficients of a [[trigonometric polynomial]] that interpolates those values. It is therefore a basic tool for numerical work with smooth [[periodic function]]s, which can often be approximated well by trigonometric polynomials. In practice, the DFT is usually computed by efficient [[fast Fourier transform]] (FFT) algorithms.
Equivalently, it is the ratio of the sampling frequency and the number of samples.}}<ref>Taboga, Marco (2021). "Discrete Fourier Transform - Frequencies", Lectures on matrix algebra. https://www.statlect.com/matrix-algebra/discrete-Fourier-transform-frequencies.</ref>&nbsp; An inverse DFT (IDFT) is a [[Fourier series]], using the DTFT samples as coefficients of [[complex number|complex]] [[Sine wave|sinusoid]]s at the corresponding DTFT frequencies. It has the same sample-values as the original input sequence.  The DFT is therefore said to be a [[frequency domain]] representation of the original input sequence.  If the original sequence spans all the non-zero values of a function, its DTFT is continuous (and periodic), and the DFT provides discrete samples of one cycle. If the original sequence is one cycle of a periodic function, the DFT provides all the non-zero values of one DTFT cycle.


The DFT is used in the [[Fourier analysis]] of many practical applications.<ref name=Strang/> In [[digital signal processing]], the function is any quantity or [[signal (information theory)|signal]] that varies over time, such as the pressure of a [[sound wave]], a [[radio]] signal, or daily [[temperature]] readings, sampled over a finite time interval (often defined by a [[window function]]<ref name=Sahidullah/>). In [[image processing]], the samples can be the values of [[pixel]]s along a row or column of a [[raster image]]. The DFT is also used to efficiently solve [[partial differential equations]], and to perform other operations such as [[convolution]]s or multiplying large integers.
{{Fourier transforms}}
The DFT is used in many practical applications of [[Fourier analysis]].<ref name=Strang/> In [[digital signal processing]], the input is often a sampled quantity or [[signal (information theory)|signal]] that varies over time, such as the pressure of a [[sound wave]], a [[radio]] signal, or daily [[temperature]] readings, sampled over a finite time interval (often defined by a [[window function]]<ref name=Sahidullah/>). In [[image processing]], the samples can be the values of [[pixel]]s along a row or column of a [[raster image]]. The DFT is also used to efficiently solve [[partial differential equations]], and to perform other operations such as [[convolution]]s or multiplying large integers.


Since it deals with a finite amount of data, it can be implemented in [[computer]]s by [[numerical algorithm]]s or even dedicated [[digital circuit|hardware]]. These implementations usually employ efficient [[fast Fourier transform]] (FFT) algorithms;<ref name=Cooley/> so much so that the terms "FFT" and "DFT" are often used interchangeably. Prior to its current usage, the "FFT" [[initialism]] may have also been used for the ambiguous term "[[Finite Fourier transform (disambiguation)|finite Fourier transform]]".
Since the DFT deals with a finite amount of data, it can be implemented in [[computer]]s by [[numerical algorithm]]s or even dedicated [[digital circuit|hardware]]. These implementations usually employ efficient [[fast Fourier transform]] (FFT) algorithms;<ref name=Cooley/> so much so that the terms "FFT" and "DFT" are often used interchangeably. Prior to its current usage, the "FFT" [[initialism]] may have also been used for the ambiguous term "[[Finite Fourier transform (disambiguation)|finite Fourier transform]]".


==Definition==
==Definition==
Line 24: Line 22:
}}
}}


The transform is sometimes denoted by the symbol <math>\mathcal{F}</math>, as in <math>\mathbf{X} = \mathcal{F} \left \{ \mathbf{x} \right \} </math> or <math>\mathcal{F} \left ( \mathbf{x} \right )</math> or <math>\mathcal{F} \mathbf{x}</math>.{{efn-ua|
The transform is sometimes denoted by the symbol <math>\mathcal{F}</math>, as in <math>\mathbf{X} = \mathcal{F} \left \{ \mathbf{x} \right \} </math> or <math>\mathcal{F} \left ( \mathbf{x} \right )</math> or <math>\mathcal{F} \mathbf{x}</math>.
As a [[linear transformation]] on a [[Dimension (vector space)|finite-dimensional vector space]], the DFT expression can also be written in terms of a [[DFT matrix]]; when scaled appropriately it becomes a [[unitary matrix]] and the ''X''<sub>''k''</sub> can thus be viewed as coefficients of ''x'' in an [[orthonormal basis]].}}
 
As a [[linear transformation]] on a [[Dimension (vector space)|finite-dimensional vector space]], the DFT expression can also be written in terms of a [[DFT matrix]]. When scaled appropriately, it becomes a [[unitary matrix]], and the DFT can thus be viewed as a transformation from one [[orthonormal basis]] to another.
 
The inverse transform is given by:
{{Equation box 1|title=Inverse transform
|indent =: |cellpadding= 6 |border |border colour = #0073CF |background colour=#F5FFFA
|equation = {{NumBlk|:|<math>x_n = \frac{1}{N} \sum_{k=0}^{N-1} X_k \cdot e^{i2\pi \tfrac{k}{N} n}</math> &nbsp; &nbsp;
|{{EquationRef|Eq.2}}}}
}}
 
{{EquationNote|Eq.2}} is also <math>N</math>-periodic (in index <math>n</math>).  In {{EquationNote|Eq.2}}, each <math>X_k</math> is a complex number whose polar coordinates are the amplitude and phase of a complex sinusoidal component <math>\left(e^{i 2 \pi \tfrac{k}{N}n}\right)</math> of the function <math>x_n</math>. (See [[Discrete Fourier series]].) The sinusoid's [[frequency]] is <math>k</math> cycles per <math>N</math> samples.
 
The normalization factor multiplying the DFT and inverse DFT (IDFT), here 1 and <math>\tfrac{1}{N}</math>, and the signs of the exponents are the most common [[sign convention|conventions]]. The only actual requirements of these conventions are that the DFT and IDFT have opposite-sign exponents and that the product of their normalization factors be <math>\tfrac{1}{N}.</math> An uncommon  normalization of <math>\sqrt{\tfrac{1}{N}}</math> for both the DFT and IDFT makes the transform-pair unitary.
 
{{EquationNote|Eq.1}} can also be evaluated outside the domain <math>k \in [0,N-1]</math>, and that extended sequence is <math>N</math>-[[periodic sequence|periodic]]. Accordingly, other sequences of <math>N</math> indices are sometimes used,  such as <math display="inline">\left[-\frac{N}{2}, \frac{N}{2} - 1\right]</math> (if <math>N</math> is even) and <math display="inline">\left[-\frac{N-1}{2}, \frac{N-1}{2}\right]</math> (if <math>N</math> is odd), which amounts to swapping the left and right halves of the result of the transform.<ref name="mathworks" />
 
=== DFT including sampling interval ===
Using the standard definition of the DFT omits the sampling interval (or sampling distance) <math>\Delta t</math> in cases where the index corresponds to time via <math>n \Delta t = t</math>.
 
To relate the DFT coefficients to the continuous Fourier transform of sampled data, the sampling interval can be included explicitly as
 
: <math>\tilde{X}_k = \Delta t \sum_{n=0}^{N-1} x_n \cdot e^{-i2\pi \tfrac{k}{N}n}</math>
 
Most software libraries compute the unscaled DFT coefficients <math>X_k</math>, including their corresponding [[Fast Fourier transform|FFT]] implementations. The scaled coefficients can therefore be obtained as <math>\tilde{X}_k = \Delta t \cdot X_k</math>.
 
The corresponding inverse transform then becomes:
 
: <math>x_n = \Delta f \sum_{k=0}^{N-1} \tilde{X}_k \cdot e^{i2\pi \tfrac{k}{N} n}</math>
 
Where <math> \Delta f = \frac{1}{\Delta t N} </math>.
 
Using the inverse discrete Fourier transform as implemented in most software libraries, this can equivalently be written as:
: <math>x_n = \frac{1}{\Delta t} \operatorname{IDFT}(\tilde{X})</math>
 
When applying the DFT to physical data, the sampling interval <math>\Delta t</math> (or equivalently <math>\Delta f</math>) is an essential part of the signal definition. Including the sampling interval ensures correct amplitude, energy, and frequency interpretation, particularly when combining or comparing data from different sources.
 
===Interpretations===
[[File:From Continuous To Discrete Fourier Transform.gif|class=skin-invert-image|thumb|400px|Fig 1: Relationship between the (continuous) [[Fourier transform]] and the discrete Fourier transform.{{br}}'''Left:''' A continuous function (top) and its Fourier transform (bottom).{{br}}'''Center-left:''' [[Periodic summation]] of the original function (top).  Fourier transform (bottom) is zero except at discrete points.  The inverse transform is a sum of sinusoids called [[Fourier series]]. {{br}}'''Center-right:''' Original function is discretized (multiplied by a [[Dirac comb]]) (top).  Its Fourier transform (bottom) is a periodic summation ([[Discrete-time Fourier transform|DTFT]]) of the original transform.{{br}}'''Right:''' The DFT (bottom) computes discrete samples of the continuous DTFT.  The inverse DFT (top) is a periodic summation of the original samples.  The [[Fast Fourier transform|FFT]] algorithm computes one cycle of the DFT and its inverse is one cycle of the DFT inverse.]]
 
[[File:Fourier transform, Fourier series, DTFT, DFT.svg|class=skin-invert-image|thumb|400px|Fig 2: Depiction of a Fourier transform (upper left) and its periodic summation (DTFT) in the lower left corner.  The spectral sequences at (a) upper right and (b) lower right are respectively computed from (a) one cycle of the periodic summation of s(t) and (b) one cycle of the periodic summation of the s(nT) sequence. The respective formulas are (a) the [[Fourier series]] <u>integral</u> and (b) the '''DFT''' <u>summation</u>. Its similarities to the original transform, S(f), and its relative computational ease are often the motivation for computing a DFT sequence.]]
 
The DFT can be regarded as transforming a finite sequence of equally-spaced [[Sampling (signal processing)|samples]] of a [[function (mathematics)|function]] into a same-length sequence of equally-spaced samples of the [[discrete-time Fourier transform]] (DTFT), which is a [[complex number|complex-valued]] function of frequency. The interval at which the DTFT is sampled is the reciprocal of the duration of the input sequence.{{efn-ua|
Equivalently, it is the ratio of the sampling frequency and the number of samples.}}<ref>{{Cite web |title=Discrete Fourier Transform frequencies |url=https://www.statlect.com/matrix-algebra/discrete-Fourier-transform-frequencies |access-date=2025-11-25 |website=www.statlect.com}}</ref> An inverse DFT (IDFT) is a [[Fourier series]], using the DTFT samples as coefficients of [[complex number|complex]] [[Sine wave|sinusoid]]s at the corresponding DTFT frequencies. It has the same sample-values as the original input sequence. The DFT is therefore said to be a [[frequency domain]] representation of the original input sequence.  If the original sequence spans all the non-zero values of a function, its DTFT is continuous (and periodic), and the DFT provides discrete samples of one cycle. If the original sequence is one cycle of a [[periodic function]], the DFT provides all the non-zero values of one DTFT cycle.


{{EquationNote|Eq.1}} can be interpreted or derived in various ways, for example:{{unordered list|
{{EquationNote|Eq.1}} can be interpreted or derived in various ways, for example:{{unordered list|
Line 35: Line 75:
| It is the discrete analog of the formula for the coefficients of a [[Fourier series]]:
| It is the discrete analog of the formula for the coefficients of a [[Fourier series]]:
:<math>C_k = \frac{1}{P}\int_P x(t)e^{-i 2\pi \tfrac{k}{P} t}\, dt.</math>
:<math>C_k = \frac{1}{P}\int_P x(t)e^{-i 2\pi \tfrac{k}{P} t}\, dt.</math>
}}{{EquationNote|Eq.1}} can also be evaluated outside the domain <math>k \in [0,N-1]</math>, and that extended sequence is <math>N</math>-[[periodic sequence|periodic]]. Accordingly, other sequences of <math>N</math> indices are sometimes used,  such as <math display="inline">\left[-\frac{N}{2}, \frac{N}{2} - 1\right]</math> (if <math>N</math> is even) and <math display="inline">\left[-\frac{N-1}{2}, \frac{N-1}{2}\right]</math> (if <math>N</math> is odd), which amounts to swapping the left and right halves of the result of the transform.<ref name="mathworks" />
The inverse transform is given by:
{{Equation box 1|title=Inverse transform
|indent =: |cellpadding= 6 |border |border colour = #0073CF |background colour=#F5FFFA
|equation = {{NumBlk|:|<math>x_n = \frac{1}{N} \sum_{k=0}^{N-1} X_k \cdot e^{i2\pi \tfrac{k}{N} n}</math> &nbsp; &nbsp;
|{{EquationRef|Eq.2}}}}
}}
}}
{{EquationNote|Eq.2}}. is also <math>N</math>-periodic (in index n).  In {{EquationNote|Eq.2}}, each <math>X_k</math> is a complex number whose polar coordinates are the amplitude and phase of a complex sinusoidal component <math>\left(e^{i 2 \pi \tfrac{k}{N}n}\right)</math> of function <math>x_n.</math> (see [[Discrete Fourier series]])  The sinusoid's [[frequency]] is <math>k</math> cycles per <math>N</math> samples.
The normalization factor multiplying the DFT and IDFT (here 1 and <math>\tfrac{1}{N}</math>) and the signs of the exponents are the most common [[sign convention|conventions]]. The only actual requirements of these conventions are that the DFT and IDFT have opposite-sign exponents and that the product of their normalization factors be <math>\tfrac{1}{N}.</math> An uncommon  normalization of <math>\sqrt{\tfrac{1}{N}}</math> for both the DFT and IDFT makes the transform-pair unitary.


==Example==
==Example==
Line 107: Line 136:


===Real and imaginary part===
===Real and imaginary part===
This table shows some mathematical operations on <math>x_n</math> in the time domain and the corresponding effects on its DFT <math>X_k</math> in the frequency domain.
This table shows some mathematical operations on <math>x_n</math> in the [[time domain]] and the corresponding effects on its DFT <math>X_k</math> in the frequency domain.


{| class="wikitable"
{| class="wikitable"
Line 148: Line 177:
:<math>\sum_{n=0}^{N-1} x_n y^*_n = \frac{1}{N} \sum_{k=0}^{N-1} X_k Y^*_k</math>
:<math>\sum_{n=0}^{N-1} x_n y^*_n = \frac{1}{N} \sum_{k=0}^{N-1} X_k Y^*_k</math>


where the star denotes [[Complex conjugate|complex conjugation]]. The [[Plancherel theorem]] is a special case of Parseval's theorem and states:
where the star denotes [[Complex conjugate|complex conjugation]].<ref name="Gbur">{{cite book|first=Greg |last=Gbur |author-link=Greg Gbur |title=Mathematical Methods for Optical Physics and Engineering |publisher=Cambridge University Press |year=2011 |isbn=978-0-521-51610-5 |page=432}}</ref> The [[Plancherel theorem]] is a special case of Parseval's theorem and states:


:<math>\sum_{n=0}^{N-1} |x_n|^2 = \frac{1}{N} \sum_{k=0}^{N-1} |X_k|^2.</math>
:<math>\sum_{n=0}^{N-1} |x_n|^2 = \frac{1}{N} \sum_{k=0}^{N-1} |X_k|^2.</math>
Line 163: Line 192:


===Shift theorem===
===Shift theorem===
Multiplying <math>x_n</math> by a ''linear phase'' <math>e^{\frac{i 2\pi}{N} nm}</math> for some integer ''m'' corresponds to a ''circular shift'' of the output <math>X_k</math>: <math>X_k</math> is replaced by <math>X_{k-m}</math>, where the subscript is interpreted [[modular arithmetic|modulo]] ''N'' (i.e., periodically). Similarly, a [[circular shift]] of the input <math>x_n</math> corresponds to multiplying the output <math>X_k</math> by a [[linear phase]]. Mathematically, if <math>\{x_n\}</math> represents the vector '''x''' then
Multiplying <math>x_n</math> by a ''linear phase'' <math>e^{\frac{i 2\pi}{N} nm}</math> for some integer ''m'' corresponds to a ''circular shift'' of the output <math>X_k</math>: <math>X_k</math> is replaced by <math>X_{k-m}</math>, where the subscript is interpreted [[modular arithmetic|modulo]] ''N'' (i.e., periodically).<ref name="Gbur"/> Similarly, a [[circular shift]] of the input <math>x_n</math> corresponds to multiplying the output <math>X_k</math> by a [[linear phase]]. Mathematically, if <math>\{x_n\}</math> represents the vector '''x''' then


:if <math>\mathcal{F}(\{x_n\})_k=X_k</math>
:if <math>\mathcal{F}(\{x_n\})_k=X_k</math>
Line 170: Line 199:


===Circular convolution theorem and cross-correlation theorem===
===Circular convolution theorem and cross-correlation theorem===
{{anchor|Circular convolution theorem}}
{{anchor|Cross-correlation theorem}}
{{Main|Convolution theorem#Functions of a discrete variable (sequences)}}
{{Main|Convolution theorem#Functions of a discrete variable (sequences)}}


The [[DTFT#Convolution|convolution theorem]] for the [[discrete-time Fourier transform]] (DTFT) indicates that a convolution of two sequences can be obtained as the inverse transform of the product of the individual transforms. An important simplification occurs when one of sequences is N-periodic, denoted here by <math>y_{_N},</math> because <math>\scriptstyle \text{DTFT} \displaystyle \{y_{_N}\}</math> is non-zero at only discrete frequencies (see {{slink|DTFT#Periodic_data}}), and therefore so is its product with the continuous function <math>\scriptstyle \text{DTFT} \displaystyle \{x\}.</math>&nbsp; That leads to a considerable simplification of the inverse transform.
The [[DTFT#Convolution|convolution theorem]] for the [[discrete-time Fourier transform]] (DTFT) indicates that a convolution of two sequences can be obtained as the inverse transform of the product of the individual transforms. An important simplification occurs when one of sequences is N-periodic, denoted here by <math>y_{_N},</math> because <math>\scriptstyle \text{DTFT} \displaystyle \{y_{_N}\}</math> is non-zero at only discrete frequencies (see {{slink|DTFT#Periodic_data}}), and therefore so is its product with the [[continuous function]] <math>\scriptstyle \text{DTFT} \displaystyle \{x\}.</math> That leads to a considerable simplification of the inverse transform.


:<math>x * y_{_N}\ =\ \scriptstyle{\rm DTFT}^{-1} \displaystyle \left[\scriptstyle{\rm DTFT} \displaystyle \{x\}\cdot \scriptstyle{\rm DTFT} \displaystyle \{y_{_N}\}\right]\ =\ \scriptstyle{\rm DFT}^{-1} \displaystyle \left[\scriptstyle{\rm DFT} \displaystyle \{x_{_N}\}\cdot \scriptstyle{\rm DFT} \displaystyle \{y_{_N}\}\right],</math>
:<math>x * y_{_N}\ =\ \scriptstyle{\rm DTFT}^{-1} \displaystyle \left[\scriptstyle{\rm DTFT} \displaystyle \{x\}\cdot \scriptstyle{\rm DTFT} \displaystyle \{y_{_N}\}\right]\ =\ \scriptstyle{\rm DFT}^{-1} \displaystyle \left[\scriptstyle{\rm DFT} \displaystyle \{x_{_N}\}\cdot \scriptstyle{\rm DFT} \displaystyle \{y_{_N}\}\right],</math>
Line 204: Line 235:
=== Uniqueness of the Discrete Fourier Transform ===
=== Uniqueness of the Discrete Fourier Transform ===


As seen above, the discrete Fourier transform has the fundamental property of carrying convolution into componentwise product. A natural question is whether it is the only one with this ability. It has been shown <ref>{{cite book |last1=Amiot |first1=Emmanuel |title=Music through Fourier Space |series=Computational Music Science |date=2016 |publisher=Springer |location=Zürich |isbn=978-3-319-45581-5 |page=8 |doi=10.1007/978-3-319-45581-5 |s2cid=6224021 |url=https://link.springer.com/book/10.1007/978-3-319-45581-5 |ref=Theorem 1.11}}</ref><ref name=Baraquin/> that any linear transform that turns convolution into pointwise product is the DFT up to a permutation of coefficients. Since the number of permutations of n elements equals n!, there exists exactly n! linear and invertible maps with the same fundamental property as the DFT with respect to convolution.
As seen above, the discrete Fourier transform has the fundamental property of carrying convolution into componentwise product. A natural question is whether it is the only one with this ability. It has been shown <ref>{{cite book |last1=Amiot |first1=Emmanuel |title=Music through Fourier Space |series=Computational Music Science |date=2016 |publisher=Springer |location=Zürich |isbn=978-3-319-45581-5 |page=8 |doi=10.1007/978-3-319-45581-5 |s2cid=6224021 |url=https://link.springer.com/book/10.1007/978-3-319-45581-5 |ref=Theorem 1.11}}</ref><ref name=Baraquin/> that any linear transform that turns convolution into pointwise product is the DFT up to a permutation of coefficients. Since the number of permutations of n elements equals n!, there exist exactly n! linear and invertible maps with the same fundamental property as the DFT with respect to convolution.


=== Convolution theorem duality ===
=== Convolution theorem duality ===
Line 302: Line 333:
A useful property of the DFT is that the inverse DFT can be easily expressed in terms of the (forward) DFT, via several well-known "tricks".  (For example, in computations, it is often convenient to only implement a fast Fourier transform corresponding to one transform direction and then to get the other transform direction from the first.)
A useful property of the DFT is that the inverse DFT can be easily expressed in terms of the (forward) DFT, via several well-known "tricks".  (For example, in computations, it is often convenient to only implement a fast Fourier transform corresponding to one transform direction and then to get the other transform direction from the first.)


First, we can compute the inverse DFT by reversing all but one of the inputs (Duhamel ''et al.'', 1988):
First, we can compute the inverse DFT by reversing all but one of the inputs:<ref name="Duhamel">{{cite journal
|author1=P. Duhamel |author2=B. Piron |author3=J. M. Etcheto | title = On computing the inverse DFT
| journal =IEEE Transactions on Acoustics, Speech, and Signal Processing
| volume = 36 | issue = 2 | pages = 285–286 | year = 1988
| doi = 10.1109/29.1519
|bibcode=1988ITASS..36..285D }}</ref>


:<math>\mathcal{F}^{-1}(\{x_n\}) = \frac{1}{N}\mathcal{F}(\{x_{N - n}\})</math>
:<math>\mathcal{F}^{-1}(\{x_n\}) = \frac{1}{N}\mathcal{F}(\{x_{N - n}\})</math>
Line 316: Line 352:
:<math>\mathcal{F}^{-1}(\mathbf{x}) = \frac{1}{N}\operatorname{swap}(\mathcal{F}(\operatorname{swap}(\mathbf{x})))</math>
:<math>\mathcal{F}^{-1}(\mathbf{x}) = \frac{1}{N}\operatorname{swap}(\mathcal{F}(\operatorname{swap}(\mathbf{x})))</math>


That is, the inverse transform is the same as the forward transform with the real and imaginary parts swapped for both input and output, up to a normalization (Duhamel ''et al.'', 1988).
That is, the inverse transform is the same as the forward transform with the real and imaginary parts swapped for both input and output, up to a normalization.<ref name="Duhamel"/>


The conjugation trick can also be used to define a new transform, closely related to the DFT, that is [[Involution (mathematics)|involutory]]—that is, which is its own inverse.  In particular, <math>T(\mathbf{x}) = \mathcal{F}\left(\mathbf{x}^*\right) / \sqrt{N}</math> is clearly its own inverse: <math>T(T(\mathbf{x})) = \mathbf{x}</math>.  A closely related involutory transformation (by a factor of <math display=inline>\frac{1 + i}{\sqrt{2}}</math>) is <math>H(\mathbf{x}) = \mathcal{F}\left((1 + i) \mathbf{x}^*\right) / \sqrt{2N}</math>, since the <math>(1 + i)</math> factors in <math>H(H(\mathbf{x}))</math> cancel the 2.  For real inputs <math>\mathbf{x}</math>, the real part of <math>H(\mathbf{x})</math> is none other than the [[discrete Hartley transform]], which is also involutory.
The conjugation trick can also be used to define a new transform, closely related to the DFT, that is [[Involution (mathematics)|involutory]]—that is, which is its own inverse.  In particular, <math>T(\mathbf{x}) = \mathcal{F}\left(\mathbf{x}^*\right) / \sqrt{N}</math> is clearly its own inverse: <math>T(T(\mathbf{x})) = \mathbf{x}</math>.  A closely related involutory transformation (by a factor of <math display=inline>\frac{1 + i}{\sqrt{2}}</math>) is <math>H(\mathbf{x}) = \mathcal{F}\left((1 + i) \mathbf{x}^*\right) / \sqrt{2N}</math>, since the <math>(1 + i)</math> factors in <math>H(H(\mathbf{x}))</math> cancel the 2.  For real inputs <math>\mathbf{x}</math>, the real part of <math>H(\mathbf{x})</math> is none other than the [[discrete Hartley transform]], which is also involutory.
Line 322: Line 358:
=== Eigenvalues and eigenvectors ===
=== Eigenvalues and eigenvectors ===


The [[eigenvalue]]s of the DFT matrix are simple and well-known, whereas the [[eigenvector]]s are complicated, not unique, and are the subject of ongoing research. Explicit formulas are given with a significant amount of number theory.<ref>{{cite journal |last1=Morton |first1=Patrick |title=On the eigenvectors of Schur's matrix |journal=Journal of Number Theory |date=1980 |volume=12 |issue=1 |pages=122–127 |doi=10.1016/0022-314X(80)90083-9 |url=https://dx.doi.org/10.1016/0022-314X%2880%2990083-9|hdl=2027.42/23371 |hdl-access=free }}</ref>
The [[eigenvalue]]s of the DFT matrix are simple and well-known, whereas the [[eigenvector]]s are complicated, not unique, and are the subject of ongoing research. Explicit formulas are given with a significant amount of number theory.<ref>{{cite journal |last1=Morton |first1=Patrick |title=On the eigenvectors of Schur's matrix |journal=Journal of Number Theory |date=1980 |volume=12 |issue=1 |pages=122–127 |doi=10.1016/0022-314X(80)90083-9 |hdl=2027.42/23371 |hdl-access=free }}</ref>


Consider the unitary form <math>\mathbf{U}</math> defined above for the DFT of length ''N'', where
Consider the unitary form <math>\mathbf{U}</math> defined above for the DFT of length ''N'', where
Line 361: Line 397:
(\lambda-i)^{\left\lfloor \tfrac {N-1}{4}\right\rfloor}.</math>
(\lambda-i)^{\left\lfloor \tfrac {N-1}{4}\right\rfloor}.</math>


No simple analytical formula for general eigenvectors is known.  Moreover, the eigenvectors are not unique because any linear combination of eigenvectors for the same eigenvalue is also an eigenvector for that eigenvalue.  Various researchers have proposed different choices of eigenvectors, selected to satisfy useful properties like [[orthogonality]] and to have "simple" forms (e.g., McClellan and Parks, 1972; Dickinson and Steiglitz, 1982; Grünbaum, 1982; Atakishiyev and Wolf, 1997; Candan ''et al.'', 2000; Hanna ''et al.'', 2004; Gurevich and Hadani, 2008).
No simple analytical formula for general eigenvectors is known.  Moreover, the eigenvectors are not unique because any [[linear combination]] of eigenvectors for the same eigenvalue is also an eigenvector for that eigenvalue.  Various researchers have proposed different choices of eigenvectors, selected to satisfy useful properties like [[orthogonality]] and to have "simple" forms (e.g., McClellan and Parks, 1972; Dickinson and Steiglitz, 1982; Grünbaum, 1982; Candan ''et al.'', 2000; Hanna ''et al.'', 2004; Gurevich and Hadani, 2008).<ref name=":0">{{cite journal |author1=Natig M. Atakishiyev |author2=Kurt Bernardo Wolf |year=1997 |title=Fractional Fourier-Kravchuk transform |journal=Journal of the Optical Society of America A |volume=14 |issue=7 |pages=1467–1477 |bibcode=1997JOSAA..14.1467A |doi=10.1364/JOSAA.14.001467}}</ref>


One method to construct DFT eigenvectors to an eigenvalue <math>\lambda</math> is based on the linear combination of operators:<ref>Bose, N. K. "Eigenvectors and eigenvalues of 1-D and nD DFT matrices." [[AEU — International Journal of Electronics and Communications]] 55.2 (2001): 131-133.</ref><ref name="candan">Candan, Ç. (2011). On the eigenstructure of DFT matrices [DSP education]. IEEE Signal Processing Magazine, 28(2), 105-108.</ref><ref name="pei">Pei, S. C., Ding, J. J., Hsue, W. L., & Chang, K. W. (2008). Generalized commuting matrices and their eigenvectors for DFTs, offset DFTs, and other periodic operations. IEEE Transactions on Signal Processing, 56(8), 3891-3904.</ref>
One method to construct DFT eigenvectors to an eigenvalue <math>\lambda</math> is based on the linear combination of operators:<ref>Bose, N. K. "Eigenvectors and eigenvalues of 1-D and nD DFT matrices." [[AEU — International Journal of Electronics and Communications]] 55.2 (2001): 131-133.</ref><ref name="candan">Candan, Ç. (2011). On the eigenstructure of DFT matrices [DSP education]. IEEE Signal Processing Magazine, 28(2), 105-108.</ref><ref name="pei">Pei, S. C., Ding, J. J., Hsue, W. L., & Chang, K. W. (2008). Generalized commuting matrices and their eigenvectors for DFTs, offset DFTs, and other periodic operations. IEEE Transactions on Signal Processing, 56(8), 3891-3904.</ref>


<math> \mathcal{P}_\lambda=\frac{1}{4}\left( \mathbf{I}+\lambda^{-1}\mathbf{U}+\lambda^{-2}\mathbf{U}^2+\lambda^{-3} \mathbf{U}^3\right)</math>
: <math> \mathcal{P}_\lambda=\frac{1}{4}\left( \mathbf{I}+\lambda^{-1}\mathbf{U}+\lambda^{-2}\mathbf{U}^2+\lambda^{-3} \mathbf{U}^3\right)</math>


For an arbitrary vector <math>\mathbf{v}</math>, vector <math>\mathbf{u}(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}</math> satisfies:
For an arbitrary vector <math>\mathbf{v}</math>, vector <math>\mathbf{u}(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}</math> satisfies:


<math> \textbf{U}\mathbf{u}(\lambda)=\lambda \mathbf{u}(\lambda) </math>
: <math> \textbf{U}\mathbf{u}(\lambda)=\lambda \mathbf{u}(\lambda) </math>


hence, vector <math>\mathbf{u}(\lambda)</math> is, indeed, the eigenvector of DFT matrix <math>\mathbf{U}</math>. Operators <math> \mathcal{P}_{\lambda} </math> project vectors onto subspaces which are orthogonal for each value of <math>\lambda</math>.<ref name="candan"/> That is, for two eigenvectors, <math>\mathbf{u}(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}</math> and <math>\mathbf{u}'(\lambda')=\mathcal{P}_{\lambda'}\mathbf{v}'</math> we have:
hence, vector <math>\mathbf{u}(\lambda)</math> is, indeed, the eigenvector of DFT matrix <math>\mathbf{U}</math>. Operators <math> \mathcal{P}_{\lambda} </math> project vectors onto subspaces which are orthogonal for each value of <math>\lambda</math>.<ref name="candan"/> That is, for two eigenvectors, <math>\mathbf{u}(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}</math> and <math>\mathbf{u}'(\lambda')=\mathcal{P}_{\lambda'}\mathbf{v}'</math> we have:


<math>\mathbf{u}^\dagger(\lambda) \mathbf{u}'(\lambda')= \delta_{\lambda\lambda'}\mathbf{u}^\dagger(\lambda) \mathbf{v}' </math>
: <math>\mathbf{u}^\dagger(\lambda) \mathbf{u}'(\lambda')= \delta_{\lambda\lambda'}\mathbf{u}^\dagger(\lambda) \mathbf{v}' </math>


However, in general, projection operator method does not produce orthogonal eigenvectors within one subspace.<ref name="pei"/> The operator <math>\mathcal{P}_{\lambda}</math> can be seen as a matrix, whose columns are eigenvectors of <math>\mathbf{U}</math>, but they are not orthogonal. When a set of vectors <math>\{\mathbf{v}_n\}_{n=1,\dots,N_{\lambda}}</math>, spanning <math>N_{\lambda}</math>-dimensional space (where <math>N_{\lambda}</math> is the multiplicity of eigenvalue <math>\lambda</math>) is chosen to generate the set of eigenvectors <math>\{\mathbf{u}_n(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}_n\}_{n=1,\dots,N_{\lambda}}</math> to eigenvalue <math>\lambda</math>, the mutual orthogonality of <math>\mathbf{u}_n(\lambda)</math> is not guaranteed. However, the orthogonal set can be obtained by further applying orthogonalization algorithm to the set <math>\{\mathbf{u}_n(\lambda)\}_{n=1,\dots,N_{\lambda}}</math>, e.g. [[Gram-Schmidt process]].<ref>Erseghe, T., & Cariolaro, G. (2003). An orthonormal class of exact and simple DFT eigenvectors with a high degree of symmetry. IEEE transactions on signal processing, 51(10), 2527-2539.</ref>
However, in general, projection operator method does not produce orthogonal eigenvectors within one subspace.<ref name="pei"/> The operator <math>\mathcal{P}_{\lambda}</math> can be seen as a matrix, whose columns are eigenvectors of <math>\mathbf{U}</math>, but they are not orthogonal. When a set of vectors <math>\{\mathbf{v}_n\}_{n=1,\dots,N_{\lambda}}</math>, spanning <math>N_{\lambda}</math>-dimensional space (where <math>N_{\lambda}</math> is the multiplicity of eigenvalue <math>\lambda</math>) is chosen to generate the set of eigenvectors <math>\{\mathbf{u}_n(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}_n\}_{n=1,\dots,N_{\lambda}}</math> to eigenvalue <math>\lambda</math>, the mutual orthogonality of <math>\mathbf{u}_n(\lambda)</math> is not guaranteed. However, the orthogonal set can be obtained by further applying orthogonalization algorithm to the set <math>\{\mathbf{u}_n(\lambda)\}_{n=1,\dots,N_{\lambda}}</math>, e.g. [[Gram-Schmidt process]].<ref>Erseghe, T., & Cariolaro, G. (2003). An orthonormal class of exact and simple DFT eigenvectors with a high degree of symmetry. IEEE transactions on signal processing, 51(10), 2527-2539.</ref>


A straightforward approach to obtain DFT eigenvectors is to discretize an eigenfunction of the continuous [[Fourier transform]],
A straightforward approach to obtain DFT eigenvectors is to discretize an eigenfunction of the continuous [[Fourier transform]], of which the most famous is the [[Gaussian function]]. Since [[periodic summation]] of the function means discretizing its frequency spectrum and discretization means periodic summation of the spectrum, the discretized and periodically summed Gaussian function yields an eigenvector of the discrete transform:
of which the most famous is the [[Gaussian function]].
Since [[periodic summation]] of the function means discretizing its frequency spectrum
and discretization means periodic summation of the spectrum,
the discretized and periodically summed Gaussian function yields an eigenvector of the discrete transform:
* <math>F(m) = \sum_{k\in\mathbb{Z}} \exp\left(-\frac{\pi\cdot(m+N\cdot k)^2}{N}\right).</math>
* <math>F(m) = \sum_{k\in\mathbb{Z}} \exp\left(-\frac{\pi\cdot(m+N\cdot k)^2}{N}\right).</math>


Line 387: Line 419:
* <math>F(m) = \frac1{\sqrt{N}}\vartheta_3\left(\frac{\pi m}N, \exp\left(-\frac{\pi}N \right)\right).</math>
* <math>F(m) = \frac1{\sqrt{N}}\vartheta_3\left(\frac{\pi m}N, \exp\left(-\frac{\pi}N \right)\right).</math>


Several other simple closed-form analytical eigenvectors for special DFT period ''N'' were found (Kong, 2008 and Casper-Yakimov, 2024):
Several other simple closed-form analytical eigenvectors for special DFT period ''N'' were found (Casper-Yakimov, 2024):<ref>{{cite journal |author=F.N. Kong |year=2008 |title=Analytic Expressions of Two Discrete Hermite-Gaussian Signals |journal=IEEE Transactions on Circuits and Systems II: Express Briefs |volume=55 |issue=1 |pages=56–60 |bibcode=2008ITCSE..55...56K |doi=10.1109/TCSII.2007.909865 |s2cid=5154718}}</ref>


For DFT period ''N'' = 2''L'' + 1 = 4''K'' + 1, where ''K'' is an integer, the following is an eigenvector of DFT:
For DFT period ''N'' = 2''L'' + 1 = 4''K'' + 1, where ''K'' is an integer, the following is an eigenvector of DFT:
Line 398: Line 430:
For DFT period ''N'' = 4''K'' - 1, where ''K'' is an integer, the following are eigenvectors of DFT:
For DFT period ''N'' = 4''K'' - 1, where ''K'' is an integer, the following are eigenvectors of DFT:
* <math>F(m) = \sin\left(\frac{2\pi}{N}m\right)\prod_{s=K+1}^{3K-2} \sin\left(\frac{\pi(s-m)}{N}\right)</math>
* <math>F(m) = \sin\left(\frac{2\pi}{N}m\right)\prod_{s=K+1}^{3K-2} \sin\left(\frac{\pi(s-m)}{N}\right)</math>
* <math>F(m) = \left(\cos\left(\frac{2\pi}{N}m\right)-\cos\left(\frac{2\pi}{N}K\right)\pm\sin\left(\frac{2\pi}{N}K\right)\right)\prod_{s=K+1}^{3K-2} \sin\left(\frac{\pi(s-m)}{N}\right)</math>
* <math>F(m) = \left(\cos\left(\frac{2\pi}{N}m\right)-\cos\left(\frac{2\pi}{N} K \right) \pm \sin\left(\frac{2\pi}{N}K\right)\right)\prod_{s=K+1}^{3K-2} \sin\left(\frac{\pi(s-m)}{N}\right)</math>


The choice of eigenvectors of the DFT matrix has become important in recent years in order to define a discrete analogue of the [[fractional Fourier transform]]—the DFT matrix can be taken to fractional powers by exponentiating the eigenvalues (e.g., Rubio and Santhanam, 2005). For the [[continuous Fourier transform]], the natural orthogonal eigenfunctions are the [[Hermite function]]s, so various discrete analogues of these have been employed as the eigenvectors of the DFT, such as the [[Kravchuk polynomials]] (Atakishiyev and Wolf, 1997).  The "best" choice of eigenvectors to define a fractional discrete Fourier transform remains an open question, however.
The choice of eigenvectors of the DFT matrix has become important in recent years in order to define a discrete analogue of the [[fractional Fourier transform]]—the DFT matrix can be taken to fractional powers by exponentiating the eigenvalues.<ref name=":1">{{cite journal |author1=Juan G. Vargas-Rubio |author2=Balu Santhanam |year=2005 |title=On the multiangle centered discrete fractional Fourier transform |journal=IEEE Signal Processing Letters |volume=12 |issue=4 |pages=273–276 |bibcode=2005ISPL...12..273V |doi=10.1109/LSP.2005.843762 |s2cid=1499353}}</ref> For the [[continuous Fourier transform]], the natural orthogonal eigenfunctions are the [[Hermite function]]s, so various discrete analogues of these have been employed as the eigenvectors of the DFT, such as the [[Kravchuk polynomials]].<ref name=":0" /> The "best" choice of eigenvectors to define a fractional discrete Fourier transform remains an open question, however. Attempts were made to perform the [[fractional Fourier transform]] using [[Vandermonde matrix#Confluent Vandermonde matrices|confluent Vandermonde matrix]] <ref>{{cite journal |last1=Moya-Cessa  |first1=H. |last2=Soto-Eguibar |first2=F. |date=2018 |title=Discrete fractional Fourier transform: Vandermonde approach|journal=IMA Journal of Applied Mathematics |volume=83|issue=6 |pages=908–916 |doi=10.1093/imamat/hxy028  }}</ref>.


=== Uncertainty principles ===
=== Uncertainty principles ===
Line 424: Line 456:
:<math>H(X)+H(x) \ge \ln(N) .</math>
:<math>H(X)+H(x) \ge \ln(N) .</math>


The equality is obtained for <math>P_n</math> equal to translations and modulations of a suitably normalized [[Kronecker comb]] of period <math>A</math> where <math>A</math> is any exact integer divisor of <math>N</math>. The probability mass function <math>Q_m</math> will then be proportional to a suitably translated [[Kronecker comb]] of period <math>B=N/A</math>.<ref name=DeBrunner/>
The equality is obtained for <math>P_n</math> equal to translations and modulations of a suitably normalized [[Kronecker comb]] of period <math>A</math> where <math>A</math> is any exact integer divisor of <math>N</math>. The probability mass function <math>Q_m</math> will then be proportional to a suitably translated Kronecker comb of period <math>B=N/A</math>.<ref name=DeBrunner/>


==== Deterministic uncertainty principle ====
==== Deterministic uncertainty principle ====
Line 444: Line 476:
:<math>X_k = \sum_{n=0}^{N-1} x_n e^{-\frac{i 2 \pi}{N} (k+b) (n+a)} \quad \quad k = 0, \dots, N-1.</math>
:<math>X_k = \sum_{n=0}^{N-1} x_n e^{-\frac{i 2 \pi}{N} (k+b) (n+a)} \quad \quad k = 0, \dots, N-1.</math>


Most often, shifts of <math>1/2</math> (half a sample) are used.
Most often, shifts of <math>1/2</math> (half a sample) are used. While the ordinary DFT corresponds to a periodic signal in both time and frequency domains, <math>a=1/2</math> produces a signal that is anti-periodic in frequency domain (<math>X_{k+N} = - X_k</math>) and vice versa for <math>b=1/2</math>. Thus, the specific case of <math>a = b = 1/2</math> is known as an ''odd-time odd-frequency'' discrete Fourier transform (or O<sup>2</sup> DFT). Such shifted transforms are most often used for symmetric data, to represent different boundary symmetries, and for real-symmetric data they correspond to different forms of the discrete [[discrete cosine transform|cosine]] and [[discrete sine transform|sine]] transforms.
While the ordinary DFT corresponds to a periodic signal in both time and frequency domains, <math>a=1/2</math> produces a signal that is anti-periodic in frequency domain (<math>X_{k+N} = - X_k</math>) and vice versa for <math>b=1/2</math>.
Thus, the specific case of <math>a = b = 1/2</math> is known as an ''odd-time odd-frequency'' discrete Fourier transform (or O<sup>2</sup> DFT).
Such shifted transforms are most often used for symmetric data, to represent different boundary symmetries, and for real-symmetric data they correspond to different forms of the discrete [[discrete cosine transform|cosine]] and [[discrete sine transform|sine]] transforms.


Another interesting choice is <math>a=b=-(N-1)/2</math>, which is called the '''centered DFT''' (or '''CDFT'''). The centered DFT has the useful property that, when ''N'' is a multiple of four, all four of its eigenvalues (see above) have equal multiplicities (Rubio and Santhanam, 2005)<ref name=Santhanam/>
Another interesting choice is <math>a=b=-(N-1)/2</math>, which is called the '''centered DFT''' (or '''CDFT'''). The centered DFT has the useful property that, when ''N'' is a multiple of four, all four of its eigenvalues (see above) have equal multiplicities.<ref name=Santhanam/><ref name=":1" />


The term GDFT is also used for the non-linear phase extensions of DFT. Hence, GDFT method provides a generalization for constant amplitude orthogonal block transforms including linear and non-linear phase types. GDFT is a framework
The term GDFT is also used for the non-linear phase extensions of DFT. Hence, GDFT method provides a generalization for constant amplitude orthogonal block transforms including linear and non-linear phase types. GDFT is a framework to improve time and frequency domain properties of the traditional DFT, e.g. auto/cross-correlations, by the addition of the properly designed phase shaping function (non-linear, in general) to the original linear phase functions.<ref name=Akansu/>
to improve time and frequency domain properties of the traditional DFT, e.g. auto/cross-correlations, by the addition of the properly designed phase shaping function (non-linear, in general) to the original linear phase functions (Akansu and Agirman-Tosun, 2010).<ref name=Akansu/>


The discrete Fourier transform can be viewed as a special case of the [[z-transform]], evaluated on the [[unit circle]] in the complex plane; more general z-transforms correspond to ''complex'' shifts ''a'' and ''b'' above.
The discrete Fourier transform can be viewed as a special case of the [[z-transform]], evaluated on the [[unit circle]] in the complex plane; more general z-transforms correspond to ''complex'' shifts ''a'' and ''b'' above.


[[File:DirectAndFourierSpaceLocations.png|class=skin-invert-image|right|thumb|500px|Discrete transforms embedded in time & space.]]
[[File:DirectAndFourierSpaceLocations.png|class=skin-invert-image|right|thumb|500px|Discrete transforms embedded in time and space]]
 
==Multidimensional DFT==<!-- This section is linked from [[Fast Fourier transform]] -->
==Multidimensional DFT==<!-- This section is linked from [[Fast Fourier transform]] -->
The ordinary DFT transforms a one-dimensional sequence or [[matrix (mathematics)|array]] <math>x_n</math> that is a function of exactly one discrete variable ''n''.  The multidimensional DFT of a multidimensional array <math>x_{n_1, n_2, \dots, n_d}</math> that is a function of ''d'' discrete variables <math>n_\ell = 0, 1, \dots, N_\ell-1</math> for <math>\ell</math> in <math>1, 2, \dots, d</math> is defined by:
The ordinary DFT transforms a one-dimensional sequence or [[matrix (mathematics)|array]] <math>x_n</math> that is a function of exactly one discrete variable ''n''.  The multidimensional DFT of a multidimensional array <math>x_{n_1, n_2, \dots, n_d}</math> that is a function of ''d'' discrete variables <math>n_\ell = 0, 1, \dots, N_\ell-1</math> for <math>\ell</math> in <math>1, 2, \dots, d</math> is defined by:
Line 490: Line 519:
=== Spectral analysis ===
=== Spectral analysis ===


When the DFT is used for [[signal spectral analysis]], the <math>\{x_n\}</math> sequence usually represents a finite set of uniformly spaced time-samples of some signal <math>x(t)\,</math>, where <math>t</math> represents time.  The conversion from continuous time to samples (discrete-time) changes the underlying [[continuous Fourier transform|Fourier transform]] of <math>x(t)</math> into a [[discrete-time Fourier transform]] (DTFT), which generally entails a type of distortion called [[aliasing]].  Choice of an appropriate sample-rate (see ''[[Nyquist rate]]'') is the key to minimizing that distortion.  Similarly, the conversion from a very long (or infinite) sequence to a manageable size entails a type of distortion called ''[[Spectral leakage|leakage]]'', which is manifested as a loss of detail (a.k.a. resolution) in the DTFT.  Choice of an appropriate sub-sequence length is the primary key to minimizing that effect.  When the available data (and time to process it) is more than the amount needed to attain the desired frequency resolution, a standard technique is to perform multiple DFTs, for example to create a [[spectrogram]].  If the desired result is a power spectrum and noise or randomness is present in the data, averaging the magnitude components of the multiple DFTs is a useful procedure to reduce the [[variance]] of the spectrum (also called a [[periodogram]] in this context); two examples of such techniques are the [[Welch method]] and the [[Bartlett method]]; the general subject of estimating the power spectrum of a noisy signal is called [[spectral estimation]].
When the DFT is used for [[signal spectral analysis]], the <math>\{x_n\}</math> sequence usually represents a [[finite set]] of uniformly spaced time-samples of some signal <math>x(t)\,</math>, where <math>t</math> represents time.  The conversion from continuous time to samples (discrete-time) changes the underlying [[continuous Fourier transform|Fourier transform]] of <math>x(t)</math> into a [[discrete-time Fourier transform]] (DTFT), which generally entails a type of distortion called [[aliasing]].  Choice of an appropriate sample-rate (see ''[[Nyquist rate]]'') is the key to minimizing that distortion.  Similarly, the conversion from a very long (or infinite) sequence to a manageable size entails a type of distortion called ''[[Spectral leakage|leakage]]'', which is manifested as a loss of detail (a.k.a. resolution) in the DTFT.  Choice of an appropriate sub-sequence length is the primary key to minimizing that effect.  When the available data (and time to process it) is more than the amount needed to attain the desired frequency resolution, a standard technique is to perform multiple DFTs, for example to create a [[spectrogram]].  If the desired result is a power spectrum and noise or randomness is present in the data, averaging the magnitude components of the multiple DFTs is a useful procedure to reduce the [[variance]] of the spectrum (also called a [[periodogram]] in this context); two examples of such techniques are the [[Welch method]] and the [[Bartlett method]]; the general subject of estimating the power spectrum of a noisy signal is called [[spectral estimation]].


A final source of distortion (or perhaps ''illusion'') is the DFT itself, because it is just a discrete sampling of the DTFT, which is a function of a continuous frequency domain.  That can be mitigated by increasing the resolution of the DFT.  That procedure is illustrated at {{slink|Discrete-time Fourier transform|Sampling the DTFT|nopage=y}}.
A final source of distortion (or perhaps ''illusion'') is the DFT itself, because it is just a discrete sampling of the DTFT, which is a function of a continuous frequency domain.  That can be mitigated by increasing the resolution of the DFT.  That procedure is illustrated at {{slink|Discrete-time Fourier transform|Sampling the DTFT|nopage=y}}.
* The procedure is sometimes referred to as ''zero-padding'', which is a particular implementation used in conjunction with the [[fast Fourier transform]] (FFT) algorithm.  The inefficiency of performing multiplications and additions with zero-valued "samples" is more than offset by the inherent efficiency of the FFT.
* The procedure is sometimes referred to as ''zero-padding'', which is a particular implementation used in conjunction with the [[fast Fourier transform]] (FFT) algorithm.  The inefficiency of performing multiplications and additions with zero-valued "samples" is more than offset by the inherent efficiency of the FFT.
* As already stated, leakage imposes a limit on the inherent resolution of the DTFT, so there is a practical limit to the benefit that can be obtained from a fine-grained DFT.
* As already stated, leakage imposes a limit on the inherent resolution of the DTFT, so there is a practical limit to the benefit that can be obtained from a fine-grained DFT.
'''Steps to Perform Spectral Analysis of Audio Signal'''
'''1.Recording and Pre-Processing the Audio Signal'''
Begin by recording the audio signal, which could be a spoken password, [[music]], or any other [[sound]]. Once recorded, the audio signal is denoted as x[n], where n represents the discrete time index. To enhance the accuracy of spectral analysis, any unwanted noise should be reduced using appropriate [[Filter design|filtering techniques.]]
'''2.Plotting the Original Time-Domain Signal'''
After [[noise]] reduction, the audio signal is plotted in the time domain to visualize its characteristics over time. This helps in understanding the amplitude variations of the signal as a [[function of time]], which provides an initial insight into the signal's behavior.
'''3.Transforming the Signal from Time Domain to Frequency Domain'''
The next step is to transform the audio signal from the time domain to the frequency domain using the Discrete Fourier Transform (DFT). The DFT is defined as:
<math>X[k] = \sum_{n=0}^{N-1} x[n] \cdot e^{-j \frac{2 \pi}{N}kn}</math>
where N is the total number of samples, k represents the frequency index, and X[k] is the complex-valued frequency spectrum of the signal. The DFT allows for decomposing the signal into its constituent frequency components, providing a representation that indicates which frequencies are present and their respective magnitudes.
'''4.Plotting the Magnitude Spectrum'''
The magnitude of the frequency-domain representation X[k] is plotted to analyze the spectral content. The magnitude spectrum shows how the energy of the signal is distributed across different frequencies, which is useful for identifying prominent frequency components. It is calculated as:
<math>|X[k]| = \sqrt{\text{Re}(X[k])^2 + \text{Im}(X[k])^2}</math>
=== Example ===
Analyze a discrete-time audio signal in the frequency domain using the DFT to identify its frequency components
==== Given Data ====
Let's consider a simple discrete-time audio signal represented as:
<math>x[n] = \{ 1, 0.5, -0.5, -1 \}</math>
where n represents discrete time samples of the signal.
'''1.Time-Domain Signal Representation'''
The given time-domain signal is:
<math display="inline">x[0] = 1, \quad x[1] = 0.5, \quad x[2] = -0.5, \quad x[3] = -1
</math>
===== 2.DFT Calculation =====
The DFT is calculated using the formula:
<math>X[k] = \sum_{n=0}^{N-1} x[n] \cdot e^{-j \frac{2 \pi}{N}kn}</math>
where N is the number of samples (in this case, N=4).
Let's compute X[k] for k=0,1,2,3
For k=0:
<math>X[0] = 1 \cdot e^{-j \frac{2\pi}{4} \cdot 0 \cdot 0} + 0.5 \cdot e^{-j \frac{2\pi}{4} \cdot 0 \cdot 1} + (-0.5) \cdot e^{-j \frac{2\pi}{4} \cdot 0 \cdot 2} + (-1) \cdot e^{-j \frac{2\pi}{4} \cdot 0 \cdot 3}</math>
<math>X[0] = 1 + 0.5 - 0.5 - 1 = 0</math>
For k=1:
<math>X[1] = 1 \cdot e^{-j \frac{2\pi}{4} \cdot 1 \cdot 0} + 0.5 \cdot e^{-j \frac{2\pi}{4} \cdot 1 \cdot 1} + (-0.5) \cdot e^{-j \frac{2\pi}{4} \cdot 1 \cdot 2} + (-1) \cdot e^{-j \frac{2\pi}{4} \cdot 1 \cdot 3}
</math>
<math>X[1] = 1 + 0.5(-j) + (-0.5)(-1) + (-1)(j)
</math>
<math>X[1] = 1 - 0.5j + 0.5 - j = 1.5 - 1.5j
</math>
For k=2:
<math>X[2] = 1 \cdot e^{-j \frac{2\pi}{4} \cdot 2 \cdot 0} + 0.5 \cdot e^{-j \frac{2\pi}{4} \cdot 2 \cdot 1} + (-0.5) \cdot e^{-j \frac{2\pi}{4} \cdot 2 \cdot 2} + (-1) \cdot e^{-j \frac{2\pi}{4} \cdot 2 \cdot 3}</math>
<math>X[2] = 1 + 0.5(-1) + (-0.5)(1) + (-1)(-1)
</math>
<math>X[2] = 1 - 0.5 - 0.5 + 1 = 1
</math>
For k=3:
<math>X[3] = 1 \cdot e^{-j \frac{2\pi}{4} \cdot 3 \cdot 0} + 0.5 \cdot e^{-j \frac{2\pi}{4} \cdot 3 \cdot 1} + (-0.5) \cdot e^{-j \frac{2\pi}{4} \cdot 3 \cdot 2} + (-1) \cdot e^{-j \frac{2\pi}{4} \cdot 3 \cdot 3}
</math>
<math>X[3] = 1 + 0.5j + (-0.5)(-1) + (-1)(-j)
</math>
<math>X[3] = 1 + 0.5j + 0.5 + j = 1.5 + 1.5j
</math>
===== 3.Magnitude Spectrum =====
The magnitude of X[k] represents the strength of each frequency component:
<math>|X[0]| = 0, \quad |X[1]| = \sqrt{(1.5)^2 + (-1.5)^2} = \sqrt{4.5} \approx 2.12
</math>
<math>|X[2]| = 1, \quad |X[3]| = \sqrt{(1.5)^2 + (1.5)^2} = \sqrt{4.5} \approx 2.12</math>
The resulting frequency components indicate the distribution of signal energy at different frequencies. The peaks in the magnitude spectrum correspond to dominant frequencies in the original signal.


=== Optics, diffraction, and tomography ===
=== Optics, diffraction, and tomography ===


The discrete Fourier transform is widely used with spatial frequencies in modeling the way that light, electrons, and other probes travel through optical systems and scatter from objects in two and three dimensions. The dual (direct/reciprocal) vector space of three dimensional objects further makes available a three dimensional reciprocal lattice, whose construction from translucent object shadows (via the [[Projection-slice theorem|Fourier slice theorem]]) allows tomographic reconstruction of three dimensional objects with a wide range of applications e.g. in modern medicine.
The discrete Fourier transform is widely used with spatial frequencies in modeling the way that light, electrons, and other probes travel through optical systems and scatter from objects in two and three dimensions. The dual (direct/reciprocal) vector space of three dimensional objects further makes available a three dimensional [[reciprocal lattice]], whose construction from translucent object shadows (via the [[Projection-slice theorem|Fourier slice theorem]]) allows tomographic reconstruction of three dimensional objects with a wide range of applications e.g. in modern medicine.


=== Filter bank ===
=== Filter bank ===
Line 604: Line 534:
===Data compression===
===Data compression===
The field of digital signal processing relies heavily on operations in the frequency domain (i.e. on the Fourier transform). For example, several [[lossy compression|lossy]] image and sound compression methods employ the discrete Fourier transform: the signal is cut into short segments, each is transformed, and then the Fourier coefficients of high frequencies, which are assumed to be unnoticeable, are discarded. The decompressor computes the inverse transform based on this reduced number of Fourier coefficients. (Compression applications often use a specialized form of the DFT, the [[discrete cosine transform]] or sometimes the [[modified discrete cosine transform]].)
The field of digital signal processing relies heavily on operations in the frequency domain (i.e. on the Fourier transform). For example, several [[lossy compression|lossy]] image and sound compression methods employ the discrete Fourier transform: the signal is cut into short segments, each is transformed, and then the Fourier coefficients of high frequencies, which are assumed to be unnoticeable, are discarded. The decompressor computes the inverse transform based on this reduced number of Fourier coefficients. (Compression applications often use a specialized form of the DFT, the [[discrete cosine transform]] or sometimes the [[modified discrete cosine transform]].)
Some relatively recent compression algorithms, however, use [[wavelet transform]]s, which give a more uniform compromise between time and frequency domain than obtained by chopping data into segments and transforming each segment.  In the case of [[JPEG2000]], this avoids the spurious image features that appear when images are highly compressed with the original [[JPEG]].
Some relatively recent compression algorithms, however, use [[wavelet transform]]s, which give a more uniform compromise between time and frequency domain than obtained by chopping data into segments and transforming each segment.  In the case of [[JPEG2000]], this avoids the spurious image features that appear when images are highly compressed with the original [[JPEG]].


===Partial differential equations===
===Partial differential equations===
Discrete Fourier transforms are often used to solve [[partial differential equations]], where again the DFT is used as an approximation for the [[Fourier series]] (which is recovered in the limit of infinite ''N''). The advantage of this approach is that it expands the signal in complex exponentials <math>e^{inx}</math>, which are eigenfunctions of differentiation: <math>{\text{d} \big( e^{inx} \big) }/\text{d}x = in e^{inx}</math>. Thus, in the Fourier representation, differentiation is simple—we just multiply by <math>in</math>.  (However, the choice of <math>n</math> is not unique due to aliasing; for the method to be convergent, a choice similar to that in the [[#Trigonometric interpolation polynomial|trigonometric interpolation]] section above should be used.) A [[linear differential equation]] with constant coefficients is transformed into an easily solvable algebraic equation. One then uses the inverse DFT to transform the result back into the ordinary spatial representation. Such an approach is called a [[spectral method]].
Discrete Fourier transforms are often used to solve [[partial differential equations]], where again the DFT is used as an approximation for the [[Fourier series]] (which is recovered in the limit of infinite ''N''). The advantage of this approach is that it expands the signal in complex exponentials <math>e^{inx}</math>, which are eigenfunctions of differentiation: <math>{\text{d} \big( e^{inx} \big) }/\text{d}x = in e^{inx}</math>. Thus, in the Fourier representation, differentiation is simple—we just multiply by <math>in</math>.  (However, the choice of <math>n</math> is not unique due to aliasing; for the method to be convergent, a choice similar to that in the [[#Trigonometric interpolation polynomial|trigonometric interpolation]] section above should be used.) A [[linear differential equation]] with constant coefficients is transformed into an easily solvable [[algebraic equation]]. One then uses the inverse DFT to transform the result back into the ordinary spatial representation. Such an approach is called a [[spectral method]].


===Polynomial multiplication===
===Polynomial multiplication===
Line 617: Line 548:
Where '''c''' is the vector of coefficients for ''c''(''x''), and the convolution operator <math>*\,</math> is defined so
Where '''c''' is the vector of coefficients for ''c''(''x''), and the convolution operator <math>*\,</math> is defined so


:<math>c_n = \sum_{m=0}^{d-1}a_m b_{n-m\ \mathrm{mod}\ d} \qquad\qquad\qquad n=0,1\dots,d-1</math>
:<math>c_n = \sum_{m=0}^{d-1}a_m b_{n-m\ \mathrm{mod}\ d} \qquad\qquad\qquad n=0,1,\dots,d-1</math>


But convolution becomes multiplication under the DFT:
But convolution becomes multiplication under the DFT:
Line 697: Line 628:
=== Other fields ===
=== Other fields ===
{{Main|Discrete Fourier transform (general)|Number-theoretic transform}}
{{Main|Discrete Fourier transform (general)|Number-theoretic transform}}
Many of the properties of the DFT only depend on the fact that <math>e^{-\frac{i 2 \pi}{N}}</math> is a [[primitive root of unity]], sometimes denoted <math>\omega_N</math> or <math>W_N</math> (so that <math>\omega_N^N = 1</math>).  Such properties include the completeness, orthogonality, Plancherel/Parseval, periodicity, shift, convolution, and unitarity properties above, as well as many FFT algorithms. For this reason, the discrete Fourier transform can be defined by using roots of unity in [[field (mathematics)|fields]] other than the complex numbers, and such generalizations are commonly called ''number-theoretic transforms'' (NTTs) in the case of [[finite field]]s. For more information, see [[number-theoretic transform]] and [[discrete Fourier transform (general)]].
Many of the properties of the DFT only depend on the fact that <math>e^{-\frac{i 2 \pi}{N}}</math> is a [[primitive root of unity]], sometimes denoted <math>\omega_N</math> or <math>W_N</math> (so that <math>\omega_N^N = 1</math>).  Such properties include the completeness, orthogonality, Plancherel/Parseval, periodicity, shift, convolution, and unitarity properties above, as well as many FFT algorithms. For this reason, the discrete Fourier transform can be defined by using roots of unity in [[field (mathematics)|fields]] other than the complex numbers, and such generalizations are commonly called ''number-theoretic transforms'' (NTTs) in the case of [[finite field]]s. For more information, see [[number-theoretic transform]] and [[discrete Fourier transform (general)]].


=== Other finite groups ===
=== Other finite groups ===
{{Main|Fourier transform on finite groups}}
{{Main|Fourier transform on finite groups}}
The standard DFT acts on a sequence ''x''<sub>0</sub>, ''x''<sub>1</sub>, ..., ''x''<sub>''N''−1</sub> of complex numbers, which can be viewed as a function {0, 1, ..., ''N'' − 1} → '''C'''. The multidimensional DFT acts on multidimensional sequences, which can be viewed as functions
The standard DFT acts on a sequence ''x''<sub>0</sub>, ''x''<sub>1</sub>, ..., ''x''<sub>''N''−1</sub> of complex numbers, which can be viewed as a function {0, 1, ..., ''N'' − 1} → '''C'''. The multidimensional DFT acts on multidimensional sequences, which can be viewed as functions
:<math> \{0, 1, \ldots, N_1-1\} \times \cdots \times \{0, 1, \ldots, N_d-1\} \to \mathbb{C}. </math>
:<math> \{0, 1, \ldots, N_1-1\} \times \cdots \times \{0, 1, \ldots, N_d-1\} \to \mathbb{C}. </math>
Line 709: Line 642:
==Alternatives==
==Alternatives==
{{Main|Discrete wavelet transform}}
{{Main|Discrete wavelet transform}}
{{further|Discrete wavelet transform#Comparison with Fourier transform}} There are various alternatives to the DFT for various applications, prominent among which are [[wavelet]]s. The analog of the DFT is the [[discrete wavelet transform]] (DWT). From the point of view of [[time–frequency analysis]], a key limitation of the Fourier transform is that it does not include ''location'' information, only ''frequency'' information, and thus has difficulty in representing transients. As wavelets have location as well as frequency, they are better able to represent location, at the expense of greater difficulty representing frequency. For details, see [[Discrete wavelet transform#Comparison with Fourier transform|comparison of the discrete wavelet transform with the discrete Fourier transform]].
{{further|Discrete wavelet transform#Comparison with Fourier transform}} There are various alternatives to the DFT for various applications, prominent among which are [[wavelet]]s. The analog of the DFT is the [[discrete wavelet transform]] (DWT). From the point of view of [[time–frequency analysis]], a key limitation of the Fourier transform is that it does not include ''location'' information, only ''frequency'' information, and thus has difficulty in representing transients. As wavelets have location as well as frequency, they are better able to represent location, at the expense of greater difficulty representing frequency. For details, see [[Discrete wavelet transform#Comparison with Fourier transform|comparison of the discrete wavelet transform with the discrete Fourier transform]].


Line 741: Line 675:
  |journal=IEEE Transactions on Audio and Electroacoustics
  |journal=IEEE Transactions on Audio and Electroacoustics
  |volume=17 |issue=2 |pages=77–85 |year=1969
  |volume=17 |issue=2 |pages=77–85 |year=1969
  |doi=10.1109/TAU.1969.1162036}}
  |doi=10.1109/TAU.1969.1162036
|bibcode=1969ITAuE..17...77C
}}
</ref>
</ref>
<ref name=mathworks>
<ref name=mathworks>
Line 747: Line 683:
</ref>
</ref>
<ref name=ProakisManolakis>
<ref name=ProakisManolakis>
{{Citation |last1 =Proakis |first1 =John G. |last2 =Manolakis |first2 =Dimitri G. |title =Digital Signal Processing: Principles, Algorithms and Applications |place=Upper Saddle River, NJ |publisher=Prentice-Hall International |year=1996 |edition=3 |language=en |id=sAcfAQAAIAAJ |isbn=9780133942897 |bibcode=1996dspp.book.....P |url-access=registration |url=https://archive.org/details/digitalsignalpro00proa}}
{{Citation |last1 =Proakis |first1 =John G. |last2 =Manolakis |first2 =Dimitri G. |title =Digital Signal Processing: Principles, Algorithms and Applications |place=Upper Saddle River, NJ |publisher=Prentice-Hall International |year=1996 |edition=3 |language=en |id=sAcfAQAAIAAJ |isbn=978-0-13-394289-7 |bibcode=1996dspp.book.....P |url-access=registration |url=https://archive.org/details/digitalsignalpro00proa}}
</ref>
</ref>
<ref name=Oppenheim>
<ref name=Oppenheim>
Line 784: Line 720:
</ref>
</ref>
<ref name=Massar>
<ref name=Massar>
{{Cite journal |last1=Massar |first1=S. |last2=Spindel |first2=P. |doi=10.1103/PhysRevLett.100.190401 |title=Uncertainty Relation for the Discrete Fourier Transform |journal=Physical Review Letters |volume=100 |issue=19 |year=2008 |pmid=18518426 |arxiv=0710.0723 |bibcode=2008PhRvL.100s0401M |page=190401|s2cid=10076374 }}
{{Cite journal |last1=Massar |first1=S. |last2=Spindel |first2=P. |doi=10.1103/PhysRevLett.100.190401 |title=Uncertainty Relation for the Discrete Fourier Transform |journal=Physical Review Letters |volume=100 |issue=19 |year=2008 |pmid=18518426 |arxiv=0710.0723 |bibcode=2008PhRvL.100s0401M |article-number=190401|s2cid=10076374 }}
</ref>
</ref>
<ref name=DeBrunner>
<ref name=DeBrunner>
Line 790: Line 726:
</ref>
</ref>
<ref name=Donoho>
<ref name=Donoho>
{{cite journal |last1=Donoho |first1=D.L. |last2=Stark |first2=P.B |s2cid=115142886 |year=1989 |title=Uncertainty principles and signal recovery |journal=SIAM Journal on Applied Mathematics |volume=49 |issue=3 |pages=906–931 |doi=10.1137/0149053}}
{{cite journal |last1=Donoho |first1=D.L. |last2=Stark |first2=P.B |s2cid=115142886 |year=1989 |title=Uncertainty principles and signal recovery |journal=SIAM Journal on Applied Mathematics |volume=49 |issue=3 |pages=906–931 |doi=10.1137/0149053 |bibcode=1989SJAM...49..906D }}
</ref>
</ref>
<ref name=Santhanam>
<ref name=Santhanam>
Line 805: Line 741:
   | title=Uniqueness of the discrete Fourier transform
   | title=Uniqueness of the discrete Fourier transform
   | journal= Signal Processing
   | journal= Signal Processing
   | volume = 209 | pages = 109041 | year=2023
   | volume = 209 | article-number = 109041 | year=2023
   | issn=0165-1684
   | issn=0165-1684
   | doi=10.1016/j.sigpro.2023.109041| doi-access=free
   | doi=10.1016/j.sigpro.2023.109041| doi-access=free
Line 843: Line 779:
  | pages = [https://archive.org/details/introductiontoal00corm_691/page/n844 822]–848
  | pages = [https://archive.org/details/introductiontoal00corm_691/page/n844 822]–848
  | title-link = Introduction to Algorithms | author2-link = Charles E. Leiserson }} esp. section 30.2: The DFT and FFT, pp.&nbsp;830–838.
  | title-link = Introduction to Algorithms | author2-link = Charles E. Leiserson }} esp. section 30.2: The DFT and FFT, pp.&nbsp;830–838.
* {{cite journal
|author1=P. Duhamel |author2=B. Piron |author3=J. M. Etcheto | title = On computing the inverse DFT
| journal =IEEE Transactions on Acoustics, Speech, and Signal Processing
| volume = 36 | issue = 2 | pages = 285–286 | year = 1988
| doi = 10.1109/29.1519
}}
* {{cite journal
* {{cite journal
  |author1=J. H. McClellan |author2=T. W. Parks | title = Eigenvalues and eigenvectors of the discrete Fourier transformation
  |author1=J. H. McClellan |author2=T. W. Parks | title = Eigenvalues and eigenvectors of the discrete Fourier transformation
Line 860: Line 790:
  | volume = 30 | issue = 1 | pages = 25–31 | year = 1982
  | volume = 30 | issue = 1 | pages = 25–31 | year = 1982
  | doi = 10.1109/TASSP.1982.1163843
  | doi = 10.1109/TASSP.1982.1163843
  | url = http://www.cs.princeton.edu/~ken/Eigenvectors82.pdf|citeseerx=10.1.1.434.5279 }} (Note that this paper has an apparent typo in its table of the eigenvalue multiplicities: the +''i''/−''i'' columns are interchanged.  The correct table can be found in McClellan and Parks, 1972, and is easily confirmed numerically.)
  |bibcode=1982ITASS..30...25D | url = http://www.cs.princeton.edu/~ken/Eigenvectors82.pdf|citeseerx=10.1.1.434.5279 }} (Note that this paper has an apparent typo in its table of the eigenvalue multiplicities: the +''i''/−''i'' columns are interchanged.  The correct table can be found in McClellan and Parks, 1972, and is easily confirmed numerically.)
* {{cite journal
* {{cite journal
  | author = F. A. Grünbaum
  | author = F. A. Grünbaum
Line 869: Line 799:
  | doi-access = free
  | doi-access = free
  }}
  }}
* {{cite journal
|author1=Natig M. Atakishiyev |author2=Kurt Bernardo Wolf | title = Fractional Fourier-Kravchuk transform
| journal =Journal of the Optical Society of America A
| volume = 14 | issue = 7 | pages = 1467–1477 | year = 1997
| doi = 10.1364/JOSAA.14.001467
|bibcode = 1997JOSAA..14.1467A }}
* {{cite journal
* {{cite journal
  |author1=C. Candan |author2=M. A. Kutay |author3=H. M.Ozaktas | title = The discrete fractional Fourier transform
  |author1=C. Candan |author2=M. A. Kutay |author3=H. M.Ozaktas | title = The discrete fractional Fourier transform
Line 887: Line 811:
  | volume = 51 | issue = 11 | pages = 2245–2254 | year = 2004
  | volume = 51 | issue = 11 | pages = 2245–2254 | year = 2004
  | doi = 10.1109/TCSI.2004.836850
  | doi = 10.1109/TCSI.2004.836850
| bibcode = 2004ITCSE..51.2245H
  | s2cid = 14468134
  | s2cid = 14468134
  }}
  }}
Line 906: Line 831:
  | arxiv=0808.1495
  | arxiv=0808.1495
|bibcode=2008arXiv0808.1495G |s2cid=6037080 }}
|bibcode=2008arXiv0808.1495G |s2cid=6037080 }}
* {{cite journal
|author1=Juan G. Vargas-Rubio |author2=Balu Santhanam | title = On the multiangle centered discrete fractional Fourier transform
| journal =IEEE Signal Processing Letters
| volume = 12 | issue = 4 | pages = 273–276 | year = 2005
| doi = 10.1109/LSP.2005.843762
|bibcode = 2005ISPL...12..273V |s2cid=1499353 }}
* {{cite journal
| author = F.N. Kong
| title = Analytic Expressions of Two Discrete Hermite-Gaussian Signals
| journal =IEEE Transactions on Circuits and Systems II: Express Briefs
| volume = 55 | issue = 1 | pages = 56–60 | year = 2008
| doi = 10.1109/TCSII.2007.909865
| s2cid = 5154718
}}
* {{cite arXiv
* {{cite arXiv
  | last1 = Casper
  | last1 = Casper
Line 930: Line 841:
  | class = math.CA
  | class = math.CA
}}
}}
* "Digital Signal Processing<ref>{{Cite web |title=Digital Signal Processing |url=https://r.search.yahoo.com/_ylt=AwrOtbNIhxZn4TASxeJXNyoA;_ylu=Y29sbwNncTEEcG9zAzQEdnRpZAMEc2VjA3Ny/RV=2/RE=1730739273/RO=10/RU=https://assets.cambridge.org/97811084/18447/frontmatter/9781108418447_frontmatter.pdf/RK=2/RS=sx950n9ftvPcKIy.eiDqv6gBrW8- |website=r.search.yahoo.com}}</ref>" by Thomas Holton.


==External links==
==External links==

Latest revision as of 12:15, 23 May 2026

File:DFT 2sin(t) + cos(4t) 25 points.svg
Discrete Fourier Transform of the sum of a sine and a cosine with different frequencies. This plot illustrates how the DFT of a real signal is symmetric around the middle point, and so only half of the transform points are needed to reconstruct the original signal. It also illustrates how the phase of the sinusoids determines if their DFT components are real or imaginary.

In mathematics, the discrete Fourier transform (DFT) is a discrete version of the Fourier transform that converts a finite sequence of numbers into another sequence of the same length, representing the amplitude and phase of different frequency components. In this way, it changes data from a description in terms of sampled values to a description in terms of oscillations. The inverse discrete Fourier transform reverses this process and recovers the original sequence.

For data sampled at equally spaced points, the DFT can be understood more precisely as converting between sample values and the coefficients of a trigonometric polynomial that interpolates those values. It is therefore a basic tool for numerical work with smooth periodic functions, which can often be approximated well by trigonometric polynomials. In practice, the DFT is usually computed by efficient fast Fourier transform (FFT) algorithms.

Template:Fourier transforms The DFT is used in many practical applications of Fourier analysis.[1] In digital signal processing, the input is often a sampled quantity or signal that varies over time, such as the pressure of a sound wave, a radio signal, or daily temperature readings, sampled over a finite time interval (often defined by a window function[2]). In image processing, the samples can be the values of pixels along a row or column of a raster image. The DFT is also used to efficiently solve partial differential equations, and to perform other operations such as convolutions or multiplying large integers.

Since the DFT deals with a finite amount of data, it can be implemented in computers by numerical algorithms or even dedicated hardware. These implementations usually employ efficient fast Fourier transform (FFT) algorithms;[3] so much so that the terms "FFT" and "DFT" are often used interchangeably. Prior to its current usage, the "FFT" initialism may have also been used for the ambiguous term "finite Fourier transform".

Definition

The discrete Fourier transform transforms a sequence of N complex numbers Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left \{ \mathbf{x}_n \right \} := x_0, x_1, \ldots, x_{N-1}} into another sequence of complex numbers, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left \{ \mathbf{X}_k \right \} := X_0, X_1, \ldots, X_{N-1},} which is defined by:

Template:Equation box 1

The transform is sometimes denoted by the symbol Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}} , as in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{X} = \mathcal{F} \left \{ \mathbf{x} \right \} } or Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F} \left ( \mathbf{x} \right )} or Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F} \mathbf{x}} .

As a linear transformation on a finite-dimensional vector space, the DFT expression can also be written in terms of a DFT matrix. When scaled appropriately, it becomes a unitary matrix, and the DFT can thus be viewed as a transformation from one orthonormal basis to another.

The inverse transform is given by: Template:Equation box 1

Eq.2 is also Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} -periodic (in index Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} ). In Eq.2, each Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} is a complex number whose polar coordinates are the amplitude and phase of a complex sinusoidal component Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left(e^{i 2 \pi \tfrac{k}{N}n}\right)} of the function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} . (See Discrete Fourier series.) The sinusoid's frequency is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k} cycles per Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} samples.

The normalization factor multiplying the DFT and inverse DFT (IDFT), here 1 and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tfrac{1}{N}} , and the signs of the exponents are the most common conventions. The only actual requirements of these conventions are that the DFT and IDFT have opposite-sign exponents and that the product of their normalization factors be Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tfrac{1}{N}.} An uncommon normalization of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sqrt{\tfrac{1}{N}}} for both the DFT and IDFT makes the transform-pair unitary.

Eq.1 can also be evaluated outside the domain Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k \in [0,N-1]} , and that extended sequence is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} -periodic. Accordingly, other sequences of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} indices are sometimes used, such as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle \left[-\frac{N}{2}, \frac{N}{2} - 1\right]} (if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} is even) and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle \left[-\frac{N-1}{2}, \frac{N-1}{2}\right]} (if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} is odd), which amounts to swapping the left and right halves of the result of the transform.[4]

DFT including sampling interval

Using the standard definition of the DFT omits the sampling interval (or sampling distance) Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta t} in cases where the index corresponds to time via Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n \Delta t = t} .

To relate the DFT coefficients to the continuous Fourier transform of sampled data, the sampling interval can be included explicitly as

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tilde{X}_k = \Delta t \sum_{n=0}^{N-1} x_n \cdot e^{-i2\pi \tfrac{k}{N}n}}

Most software libraries compute the unscaled DFT coefficients Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} , including their corresponding FFT implementations. The scaled coefficients can therefore be obtained as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \tilde{X}_k = \Delta t \cdot X_k} .

The corresponding inverse transform then becomes:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n = \Delta f \sum_{k=0}^{N-1} \tilde{X}_k \cdot e^{i2\pi \tfrac{k}{N} n}}

Where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta f = \frac{1}{\Delta t N} } .

Using the inverse discrete Fourier transform as implemented in most software libraries, this can equivalently be written as:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n = \frac{1}{\Delta t} \operatorname{IDFT}(\tilde{X})}

When applying the DFT to physical data, the sampling interval Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta t} (or equivalently Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta f} ) is an essential part of the signal definition. Including the sampling interval ensures correct amplitude, energy, and frequency interpretation, particularly when combining or comparing data from different sources.

Interpretations

File:From Continuous To Discrete Fourier Transform.gif
Fig 1: Relationship between the (continuous) Fourier transform and the discrete Fourier transform.
Left: A continuous function (top) and its Fourier transform (bottom).
Center-left: Periodic summation of the original function (top). Fourier transform (bottom) is zero except at discrete points. The inverse transform is a sum of sinusoids called Fourier series.
Center-right: Original function is discretized (multiplied by a Dirac comb) (top). Its Fourier transform (bottom) is a periodic summation (DTFT) of the original transform.
Right: The DFT (bottom) computes discrete samples of the continuous DTFT. The inverse DFT (top) is a periodic summation of the original samples. The FFT algorithm computes one cycle of the DFT and its inverse is one cycle of the DFT inverse.
File:Fourier transform, Fourier series, DTFT, DFT.svg
Fig 2: Depiction of a Fourier transform (upper left) and its periodic summation (DTFT) in the lower left corner. The spectral sequences at (a) upper right and (b) lower right are respectively computed from (a) one cycle of the periodic summation of s(t) and (b) one cycle of the periodic summation of the s(nT) sequence. The respective formulas are (a) the Fourier series integral and (b) the DFT summation. Its similarities to the original transform, S(f), and its relative computational ease are often the motivation for computing a DFT sequence.

The DFT can be regarded as transforming a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a complex-valued function of frequency. The interval at which the DTFT is sampled is the reciprocal of the duration of the input sequence.Template:Efn-ua[5] An inverse DFT (IDFT) is a Fourier series, using the DTFT samples as coefficients of complex sinusoids at the corresponding DTFT frequencies. It has the same sample-values as the original input sequence. The DFT is therefore said to be a frequency domain representation of the original input sequence. If the original sequence spans all the non-zero values of a function, its DTFT is continuous (and periodic), and the DFT provides discrete samples of one cycle. If the original sequence is one cycle of a periodic function, the DFT provides all the non-zero values of one DTFT cycle.

Eq.1 can be interpreted or derived in various ways, for example:

  • It completely describes the discrete-time Fourier transform (DTFT) of an Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} -periodic sequence, which comprises only discrete frequency components.Template:Efn-ua (Using the DTFT with periodic data)
  • It can also provide uniformly spaced samples of the continuous DTFT of a finite length sequence. (§ Sampling the DTFT)
  • It is the cross correlation of the input sequence, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} , and a complex sinusoid at frequency Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle \frac{k}{N}.} Thus it acts like a matched filter for that frequency.
  • It is the discrete analog of the formula for the coefficients of a Fourier series:
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_k = \frac{1}{P}\int_P x(t)e^{-i 2\pi \tfrac{k}{P} t}\, dt.}

Example

This example demonstrates how to apply the DFT to a sequence of length Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N = 4} and the input vector

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{x} = \begin{pmatrix} x_0 \\ x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} 1 \\ 2-i \\ -i \\ -1+2i \end{pmatrix}. }

Calculating the DFT of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{x}} using Eq.1

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{align} X_0 &= e^{-i 2 \pi 0 \cdot 0 / 4} \cdot 1 + e^{-i 2 \pi 0 \cdot 1 / 4} \cdot (2-i) + e^{-i 2 \pi 0 \cdot 2 / 4} \cdot (-i) + e^{-i 2 \pi 0 \cdot 3 / 4} \cdot (-1+2i) = 2 \\ X_1 &= e^{-i 2 \pi 1 \cdot 0 / 4} \cdot 1 + e^{-i 2 \pi 1 \cdot 1 / 4} \cdot (2-i) + e^{-i 2 \pi 1 \cdot 2 / 4} \cdot (-i) + e^{-i 2 \pi 1 \cdot 3 / 4} \cdot (-1+2i) = -2-2i \\ X_2 &= e^{-i 2 \pi 2 \cdot 0 / 4} \cdot 1 + e^{-i 2 \pi 2 \cdot 1 / 4} \cdot (2-i) + e^{-i 2 \pi 2 \cdot 2 / 4} \cdot (-i) + e^{-i 2 \pi 2 \cdot 3 / 4} \cdot (-1+2i) = -2i \\ X_3 &= e^{-i 2 \pi 3 \cdot 0 / 4} \cdot 1 + e^{-i 2 \pi 3 \cdot 1 / 4} \cdot (2-i) + e^{-i 2 \pi 3 \cdot 2 / 4} \cdot (-i) + e^{-i 2 \pi 3 \cdot 3 / 4} \cdot (-1+2i) = 4+4i \end{align}}

results in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{X} = \begin{pmatrix} X_0 \\ X_1 \\ X_2 \\ X_3 \end{pmatrix} = \begin{pmatrix} 2 \\ -2-2i \\ -2i \\ 4+4i \end{pmatrix}. }

Properties

Linearity

The DFT is a linear transform, i.e. if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\{x_n\})_k=X_k} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\{y_n\})_k=Y_k} , then for any complex numbers Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle a,b} :

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\{a x_n + b y_n\})_k=a X_k + b Y_k}

Time and frequency reversal

Reversing the time (i.e. replacing Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} by Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N-n} )Template:Efn-ua in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} corresponds to reversing the frequency (i.e. Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k} by Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N-k} ).[6]: p.421  Mathematically, if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{x_n\}} represents the vector x then

if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\{x_n\})_k=X_k}
then Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\{ x_{N-n} \})_k=X_{N-k}}

Conjugation in time

If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\{x_n\})_k = X_k} then Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\{ x_n^* \})_k = X_{N-k}^*} .[6]: p.423 

Real and imaginary part

This table shows some mathematical operations on Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} in the time domain and the corresponding effects on its DFT Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} in the frequency domain.

Property Time domain
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n}
Frequency domain
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k}
Real part in time Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \operatorname{Re}{\left(x_n\right)}} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{1}{2}\left(X_k + X^*_{N-k}\right)}
Imaginary part in time Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \operatorname{Im}{\left(x_n\right)}} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{1}{2i}\left(X_k - X^*_{N-k}\right)}
Real part in frequency Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{1}{2}\left(x_n + x^*_{N-n}\right)} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \operatorname{Re}{\left(X_k\right)}}
Imaginary part in frequency Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{1}{2i}\left(x_n - x^*_{N-n}\right)} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \operatorname{Im}{\left(X_k\right)}}

Orthogonality

The vectors Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u_k = \left[\left. e^{ \frac{i 2\pi}{N} kn} \;\right|\; n=0,1,\ldots,N-1 \right]^\mathsf{T}} , for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k=0,1,\ldots,N-1} , form an orthogonal basis over the set of N-dimensional complex vectors:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u^\mathsf{T}_k u_{k'}^* = \sum_{n=0}^{N-1} \left(e^{ \frac{i 2\pi}{N} kn}\right) \left(e^{\frac{i 2\pi}{N} (-k')n}\right) = \sum_{n=0}^{N-1} e^{ \frac{i 2\pi}{N} (k-k') n} = N~\delta_{kk'} }

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \delta_{kk'}} is the Kronecker delta. (In the last step, the summation is trivial if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k=k'} , where it is 1 + 1 + ⋯ = N, and otherwise is a geometric series that can be explicitly summed to obtain zero.) This orthogonality condition can be used to derive the formula for the IDFT from the definition of the DFT, and is equivalent to the unitarity property below.

The Plancherel theorem and Parseval's theorem

If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle Y_k} are the DFTs of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y_n} respectively then Parseval's theorem states:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{n=0}^{N-1} x_n y^*_n = \frac{1}{N} \sum_{k=0}^{N-1} X_k Y^*_k}

where the star denotes complex conjugation.[7] The Plancherel theorem is a special case of Parseval's theorem and states:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{n=0}^{N-1} |x_n|^2 = \frac{1}{N} \sum_{k=0}^{N-1} |X_k|^2.}

These theorems are also equivalent to the unitary condition below.

Periodicity

The periodicity can be shown directly from the definition:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_{k+N} \ \triangleq \ \sum_{n=0}^{N-1} x_n e^{-\frac{i 2\pi}{N} (k+N) n} = \sum_{n=0}^{N-1} x_n e^{-\frac{i 2\pi}{N} k n} \underbrace{e^{-i 2 \pi n}}_{1} = \sum_{n=0}^{N-1} x_n e^{-\frac{i 2\pi}{N} k n} = X_k. }

Similarly, it can be shown that the IDFT formula leads to a periodic extension of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} .

Shift theorem

Multiplying Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} by a linear phase Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle e^{\frac{i 2\pi}{N} nm}} for some integer m corresponds to a circular shift of the output Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} : Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} is replaced by Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_{k-m}} , where the subscript is interpreted modulo N (i.e., periodically).[7] Similarly, a circular shift of the input Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} corresponds to multiplying the output Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} by a linear phase. Mathematically, if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{x_n\}} represents the vector x then

if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\{x_n\})_k=X_k}
then Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}\left(\left\{ x_n \cdot e^{\frac{i 2\pi}{N}n m} \right\}\right)_k=X_{k-m}}
and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}\left(\left\{x_{n-m}\right\}\right)_k=X_k \cdot e^{-\frac{i 2\pi}{N}k m}}

Circular convolution theorem and cross-correlation theorem

The convolution theorem for the discrete-time Fourier transform (DTFT) indicates that a convolution of two sequences can be obtained as the inverse transform of the product of the individual transforms. An important simplification occurs when one of sequences is N-periodic, denoted here by Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y_{_N},} because Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \scriptstyle \text{DTFT} \displaystyle \{y_{_N}\}} is non-zero at only discrete frequencies (see DTFT § Periodic data), and therefore so is its product with the continuous function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \scriptstyle \text{DTFT} \displaystyle \{x\}.} That leads to a considerable simplification of the inverse transform.

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x * y_{_N}\ =\ \scriptstyle{\rm DTFT}^{-1} \displaystyle \left[\scriptstyle{\rm DTFT} \displaystyle \{x\}\cdot \scriptstyle{\rm DTFT} \displaystyle \{y_{_N}\}\right]\ =\ \scriptstyle{\rm DFT}^{-1} \displaystyle \left[\scriptstyle{\rm DFT} \displaystyle \{x_{_N}\}\cdot \scriptstyle{\rm DFT} \displaystyle \{y_{_N}\}\right],}

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{_N}} is a periodic summation of the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x} sequence: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (x_{_N})_n\ \triangleq \sum_{m=-\infty}^{\infty} x_{(n-mN)}.}

Customarily, the DFT and inverse DFT summations are taken over the domain Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle [0,N-1]} . Defining those DFTs as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle Y} , the result is:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (x * y_{_N})_n \triangleq \sum_{\ell=-\infty}^{\infty}x_\ell \cdot (y_{_N})_{n-\ell} = \underbrace{\mathcal{F}^{-1}}_{\rm DFT^{-1}} \left \{ X\cdot Y \right \}_n.}

In practice, the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x} sequence is usually length N or less, and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y_{_N}} is a periodic extension of an N-length Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y} -sequence, which can also be expressed as a circular function:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (y_{_N})_n = \sum_{p=-\infty}^\infty y_{(n-pN)} = y_{(n\operatorname{mod}N)}, \quad n\in\mathbb{Z}.}

Then the convolution can be written as:

Template:Equation box 1

which gives rise to the interpretation as a circular convolution of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y.} [8][9] It is often used to efficiently compute their linear convolution. (see Circular convolution, Fast convolution algorithms, and Overlap-save)

Similarly, the cross-correlation of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y_{_N}} is given by:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (x \star y_{_N})_n \triangleq \sum_{\ell=-\infty}^{\infty} x_\ell^* \cdot (y_{_N})_{n+\ell} = \mathcal{F}^{-1} \left \{ X^* \cdot Y \right \}_n.}

Uniqueness of the Discrete Fourier Transform

As seen above, the discrete Fourier transform has the fundamental property of carrying convolution into componentwise product. A natural question is whether it is the only one with this ability. It has been shown [10][11] that any linear transform that turns convolution into pointwise product is the DFT up to a permutation of coefficients. Since the number of permutations of n elements equals n!, there exist exactly n! linear and invertible maps with the same fundamental property as the DFT with respect to convolution.

Convolution theorem duality

It can also be shown that:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F} \left \{ \mathbf{x\cdot y} \right \}_k \ \triangleq \sum_{n=0}^{N-1} x_n \cdot y_n \cdot e^{-i \frac{2\pi}{N} k n}}
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle =\frac{1}{N} (\mathbf{X * Y_N})_k, } which is the circular convolution of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{X}} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{Y}} .

Trigonometric interpolation polynomial

The trigonometric interpolation polynomial

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle p(t) = \begin{cases} \displaystyle\frac{1}{N} \left[ \begin{alignat}{3} X_0 + X_1 e^{i 2\pi t} + \cdots &+ X_{\frac{N}{2}-1} e^{i 2\pi\big(\!\frac{N}{2}-1\!\big) t} &\\ &+ X_{\frac{N}{2}} \cos(N\pi t) &\\ &+ X_{\frac{N}{2}+1} e^{-i 2\pi\big(\!\frac{N}{2}-1\!\big) t} &+ \cdots + X_{N-1} e^{-i 2\pi t} \end{alignat} \right] & N\text{ even} \\ \displaystyle\frac{1}{N} \left[ \begin{alignat}{3} X_0 + X_1 e^{i 2\pi t} + \cdots &+ X_{\frac{N-1}{2}} e^{i 2\pi\frac{N-1}{2} t} &\\ &+ X_{\frac{N+1}{2}} e^{-i 2\pi\frac{N-1}{2} t} &+ \cdots + X_{N-1} e^{-i 2\pi t} \end{alignat} \right] & N\text{ odd} \end{cases}}

where the coefficients Xk are given by the DFT of xn above, satisfies the interpolation property Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle p(n/N) = x_n} for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n = 0, \ldots, N-1} .

For even N, notice that the Nyquist component Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle \frac{X_{N/2}}{N} \cos(N\pi t)} is handled specially.

This interpolation is not unique: aliasing implies that one could add N to any of the complex-sinusoid frequencies (e.g. changing Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle e^{-it}} to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle e^{i(N-1)t}} ) without changing the interpolation property, but giving different values in between the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} points. The choice above, however, is typical because it has two useful properties. First, it consists of sinusoids whose frequencies have the smallest possible magnitudes: the interpolation is bandlimited. Second, if the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} are real numbers, then Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle p(t)} is real as well.

In contrast, the most obvious trigonometric interpolation polynomial is the one in which the frequencies range from 0 to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N-1} (instead of roughly Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle -N/2} to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle +N/2} as above), similar to the inverse DFT formula. This interpolation does not minimize the slope, and is not generally real-valued for real Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} ; its use is a common mistake.

The unitary DFT

Another way of looking at the DFT is to note that in the above discussion, the DFT can be expressed as the DFT matrix, a Vandermonde matrix, introduced by Sylvester in 1867,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{F} = \begin{bmatrix} \omega_N^{0 \cdot 0} & \omega_N^{0 \cdot 1} & \cdots & \omega_N^{0 \cdot (N-1)} \\ \omega_N^{1 \cdot 0} & \omega_N^{1 \cdot 1} & \cdots & \omega_N^{1 \cdot (N-1)} \\ \vdots & \vdots & \ddots & \vdots \\ \omega_N^{(N-1) \cdot 0} & \omega_N^{(N-1) \cdot 1} & \cdots & \omega_N^{(N-1) \cdot (N-1)} \\ \end{bmatrix} }

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \omega_N = e^{-i 2 \pi/N}} is a primitive Nth root of unity.

For example, in the case when Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N = 2} , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \omega_N = e^{-i \pi}=-1} , and

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{F} = \begin{bmatrix} 1 & 1 \\ 1 & -1 \\ \end{bmatrix}, }

(which is a Hadamard matrix) or when Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N = 4} as in the Discrete Fourier transform § Example above, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \omega_N = e^{-i \pi/2}=-i} , and

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{F} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & -i & -1 & i \\ 1 & -1 & 1 & -1 \\ 1 & i & -1 & -i \\ \end{bmatrix}. }

The inverse transform is then given by the inverse of the above matrix,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{F}^{-1}=\frac{1}{N}\mathbf{F}^*}

With unitary normalization constants Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle 1/\sqrt{N}} , the DFT becomes a unitary transformation, defined by a unitary matrix:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{align} \mathbf{U} &= \frac{1}{\sqrt{N}}\mathbf{F} \\ \mathbf{U}^{-1} &= \mathbf{U}^* \\ \left|\det(\mathbf{U})\right| &= 1 \end{align}}

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \det()} is the determinant function. The determinant is the product of the eigenvalues, which are always Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \pm 1} or Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \pm i} as described below. In a real vector space, a unitary transformation can be thought of as simply a rigid rotation of the coordinate system, and all of the properties of a rigid rotation can be found in the unitary DFT.

The orthogonality of the DFT is now expressed as an orthonormality condition (which arises in many areas of mathematics as described in root of unity):

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{m=0}^{N-1}U_{km}U_{mn}^* = \delta_{kn}}

If X is defined as the unitary DFT of the vector x, then

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k = \sum_{n=0}^{N-1} U_{kn} x_n}

and the Parseval's theorem is expressed as

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{n=0}^{N-1}x_n y_n^* = \sum_{k=0}^{N-1}X_k Y_k^*}

If we view the DFT as just a coordinate transformation which simply specifies the components of a vector in a new coordinate system, then the above is just the statement that the dot product of two vectors is preserved under a unitary DFT transformation. For the special case Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{x} = \mathbf{y}} , this implies that the length of a vector is preserved as well — this is just Plancherel theorem,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{n=0}^{N-1} |x_n|^2 = \sum_{k=0}^{N-1} |X_k|^2}

A consequence of the circular convolution theorem is that the DFT matrix F diagonalizes any circulant matrix.

Expressing the inverse DFT in terms of the DFT

A useful property of the DFT is that the inverse DFT can be easily expressed in terms of the (forward) DFT, via several well-known "tricks". (For example, in computations, it is often convenient to only implement a fast Fourier transform corresponding to one transform direction and then to get the other transform direction from the first.)

First, we can compute the inverse DFT by reversing all but one of the inputs:[12]

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}^{-1}(\{x_n\}) = \frac{1}{N}\mathcal{F}(\{x_{N - n}\})}

(As usual, the subscripts are interpreted modulo N; thus, for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n = 0} , we have Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{N-0} = x_0} .)

Second, one can also conjugate the inputs and outputs:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}^{-1}(\mathbf{x}) = \frac{1}{N}\mathcal{F}\left(\mathbf{x}^*\right)^*}

Third, a variant of this conjugation trick, which is sometimes preferable because it requires no modification of the data values, involves swapping real and imaginary parts (which can be done on a computer simply by modifying pointers). Define Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle \operatorname{swap}(x_n)} as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} with its real and imaginary parts swapped—that is, if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n = a + b i} then Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle \operatorname{swap}(x_n)} is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle b + a i} . Equivalently, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle \operatorname{swap}(x_n)} equals Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i x_n^*} . Then

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}^{-1}(\mathbf{x}) = \frac{1}{N}\operatorname{swap}(\mathcal{F}(\operatorname{swap}(\mathbf{x})))}

That is, the inverse transform is the same as the forward transform with the real and imaginary parts swapped for both input and output, up to a normalization.[12]

The conjugation trick can also be used to define a new transform, closely related to the DFT, that is involutory—that is, which is its own inverse. In particular, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle T(\mathbf{x}) = \mathcal{F}\left(\mathbf{x}^*\right) / \sqrt{N}} is clearly its own inverse: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle T(T(\mathbf{x})) = \mathbf{x}} . A closely related involutory transformation (by a factor of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle \frac{1 + i}{\sqrt{2}}} ) is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H(\mathbf{x}) = \mathcal{F}\left((1 + i) \mathbf{x}^*\right) / \sqrt{2N}} , since the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (1 + i)} factors in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H(H(\mathbf{x}))} cancel the 2. For real inputs Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{x}} , the real part of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H(\mathbf{x})} is none other than the discrete Hartley transform, which is also involutory.

Eigenvalues and eigenvectors

The eigenvalues of the DFT matrix are simple and well-known, whereas the eigenvectors are complicated, not unique, and are the subject of ongoing research. Explicit formulas are given with a significant amount of number theory.[13]

Consider the unitary form Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}} defined above for the DFT of length N, where

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}_{m,n} = \frac 1{\sqrt{N}}\omega_N^{(m-1)(n-1)} = \frac 1{\sqrt{N}}e^{-\frac{i 2\pi}N (m-1)(n-1)}.}

This matrix satisfies the matrix polynomial equation:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}^4 = \mathbf{I}.}

This can be seen from the inverse properties above: operating Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}} twice gives the original data in reverse order, so operating Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}} four times gives back the original data and is thus the identity matrix. This means that the eigenvalues Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \lambda} satisfy the equation:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \lambda^4 = 1.}

Therefore, the eigenvalues of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}} are the fourth roots of unity: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \lambda} is +1, −1, +i, or −i.

Since there are only four distinct eigenvalues for this Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N\times N} matrix, they have some multiplicity. The multiplicity gives the number of linearly independent eigenvectors corresponding to each eigenvalue. (There are N independent eigenvectors; a unitary matrix is never defective.)

The problem of their multiplicity was solved by McClellan and Parks (1972), although it was later shown to have been equivalent to a problem solved by Gauss (Dickinson and Steiglitz, 1982). The multiplicity depends on the value of N modulo 4, and is given by the following table:

Multiplicities of the eigenvalues λ of the unitary DFT matrix U as a function of the transform size N (in terms of an integer m).
size N λ = +1 λ = −1 λ = −i λ = +i
4m m + 1 m m m − 1
4m + 1 m + 1 m m m
4m + 2 m + 1 m + 1 m m
4m + 3 m + 1 m + 1 m + 1 m

Otherwise stated, the characteristic polynomial of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}} is:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \det (\lambda I - \mathbf{U})= (\lambda-1)^{\left\lfloor \tfrac {N+4}{4}\right\rfloor} (\lambda+1)^{\left\lfloor \tfrac {N+2}{4}\right\rfloor} (\lambda+i)^{\left\lfloor \tfrac {N+1}{4}\right\rfloor} (\lambda-i)^{\left\lfloor \tfrac {N-1}{4}\right\rfloor}.}

No simple analytical formula for general eigenvectors is known. Moreover, the eigenvectors are not unique because any linear combination of eigenvectors for the same eigenvalue is also an eigenvector for that eigenvalue. Various researchers have proposed different choices of eigenvectors, selected to satisfy useful properties like orthogonality and to have "simple" forms (e.g., McClellan and Parks, 1972; Dickinson and Steiglitz, 1982; Grünbaum, 1982; Candan et al., 2000; Hanna et al., 2004; Gurevich and Hadani, 2008).[14]

One method to construct DFT eigenvectors to an eigenvalue Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \lambda} is based on the linear combination of operators:[15][16][17]

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{P}_\lambda=\frac{1}{4}\left( \mathbf{I}+\lambda^{-1}\mathbf{U}+\lambda^{-2}\mathbf{U}^2+\lambda^{-3} \mathbf{U}^3\right)}

For an arbitrary vector Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{v}} , vector Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{u}(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}} satisfies:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \textbf{U}\mathbf{u}(\lambda)=\lambda \mathbf{u}(\lambda) }

hence, vector Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{u}(\lambda)} is, indeed, the eigenvector of DFT matrix Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}} . Operators Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{P}_{\lambda} } project vectors onto subspaces which are orthogonal for each value of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \lambda} .[16] That is, for two eigenvectors, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{u}(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{u}'(\lambda')=\mathcal{P}_{\lambda'}\mathbf{v}'} we have:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{u}^\dagger(\lambda) \mathbf{u}'(\lambda')= \delta_{\lambda\lambda'}\mathbf{u}^\dagger(\lambda) \mathbf{v}' }

However, in general, projection operator method does not produce orthogonal eigenvectors within one subspace.[17] The operator Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{P}_{\lambda}} can be seen as a matrix, whose columns are eigenvectors of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{U}} , but they are not orthogonal. When a set of vectors Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{\mathbf{v}_n\}_{n=1,\dots,N_{\lambda}}} , spanning Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N_{\lambda}} -dimensional space (where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N_{\lambda}} is the multiplicity of eigenvalue Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \lambda} ) is chosen to generate the set of eigenvectors Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{\mathbf{u}_n(\lambda)=\mathcal{P}_{\lambda}\mathbf{v}_n\}_{n=1,\dots,N_{\lambda}}} to eigenvalue Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \lambda} , the mutual orthogonality of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{u}_n(\lambda)} is not guaranteed. However, the orthogonal set can be obtained by further applying orthogonalization algorithm to the set Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{\mathbf{u}_n(\lambda)\}_{n=1,\dots,N_{\lambda}}} , e.g. Gram-Schmidt process.[18]

A straightforward approach to obtain DFT eigenvectors is to discretize an eigenfunction of the continuous Fourier transform, of which the most famous is the Gaussian function. Since periodic summation of the function means discretizing its frequency spectrum and discretization means periodic summation of the spectrum, the discretized and periodically summed Gaussian function yields an eigenvector of the discrete transform:

  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F(m) = \sum_{k\in\mathbb{Z}} \exp\left(-\frac{\pi\cdot(m+N\cdot k)^2}{N}\right).}

The closed form expression for the series can be expressed by Jacobi theta functions as

  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F(m) = \frac1{\sqrt{N}}\vartheta_3\left(\frac{\pi m}N, \exp\left(-\frac{\pi}N \right)\right).}

Several other simple closed-form analytical eigenvectors for special DFT period N were found (Casper-Yakimov, 2024):[19]

For DFT period N = 2L + 1 = 4K + 1, where K is an integer, the following is an eigenvector of DFT:

  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F(m) = \prod_{s=K+1}^L \left[\cos\left(\frac{2\pi}{N}m\right) - \cos\left(\frac{2\pi}{N}s\right)\right]}

For DFT period N = 2L = 4K, where K is an integer, the following are eigenvectors of DFT:

  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F(m) = \sin\left(\frac{2\pi}{N}m\right) \prod_{s=K+1}^{L-1}\left[\cos\left(\frac{2\pi}{N}m\right)- \cos\left(\frac{2\pi}{N}s\right)\right]}
  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F(m) = \cos\left(\frac{\pi}{N}m\right)\prod_{s=K+1}^{3K-1} \sin\left(\frac{\pi(s-m)}{N}\right)}

For DFT period N = 4K - 1, where K is an integer, the following are eigenvectors of DFT:

  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F(m) = \sin\left(\frac{2\pi}{N}m\right)\prod_{s=K+1}^{3K-2} \sin\left(\frac{\pi(s-m)}{N}\right)}
  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F(m) = \left(\cos\left(\frac{2\pi}{N}m\right)-\cos\left(\frac{2\pi}{N} K \right) \pm \sin\left(\frac{2\pi}{N}K\right)\right)\prod_{s=K+1}^{3K-2} \sin\left(\frac{\pi(s-m)}{N}\right)}

The choice of eigenvectors of the DFT matrix has become important in recent years in order to define a discrete analogue of the fractional Fourier transform—the DFT matrix can be taken to fractional powers by exponentiating the eigenvalues.[20] For the continuous Fourier transform, the natural orthogonal eigenfunctions are the Hermite functions, so various discrete analogues of these have been employed as the eigenvectors of the DFT, such as the Kravchuk polynomials.[14] The "best" choice of eigenvectors to define a fractional discrete Fourier transform remains an open question, however. Attempts were made to perform the fractional Fourier transform using confluent Vandermonde matrix [21].

Uncertainty principles

Probabilistic uncertainty principle

If the random variable Xk is constrained by

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{n=0}^{N-1} |X_n|^2 = 1 ,}

then

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_n=|X_n|^2}

may be considered to represent a discrete probability mass function of n, with an associated probability mass function constructed from the transformed variable,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle Q_m = N |x_m|^2 .}

For the case of continuous functions Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(x)} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle Q(k)} , the Heisenberg uncertainty principle states that

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle D_0(X)D_0(x)\ge\frac{1}{16\pi^2}}

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle D_0(X)} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle D_0(x)} are the variances of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle |X|^2} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle |x|^2} respectively, with the equality attained in the case of a suitably normalized Gaussian distribution. Although the variances may be analogously defined for the DFT, an analogous uncertainty principle is not useful, because the uncertainty will not be shift-invariant. Still, a meaningful uncertainty principle has been introduced by Massar and Spindel.[22]

However, the Hirschman entropic uncertainty will have a useful analog for the case of the DFT.[23] The Hirschman uncertainty principle is expressed in terms of the Shannon entropy of the two probability functions.

In the discrete case, the Shannon entropies are defined as

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H(X)=-\sum_{n=0}^{N-1} P_n\ln P_n}

and

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H(x)=-\sum_{m=0}^{N-1} Q_m\ln Q_m ,}

and the entropic uncertainty principle becomes[23]

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H(X)+H(x) \ge \ln(N) .}

The equality is obtained for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_n} equal to translations and modulations of a suitably normalized Kronecker comb of period Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle A} where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle A} is any exact integer divisor of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} . The probability mass function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle Q_m} will then be proportional to a suitably translated Kronecker comb of period Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle B=N/A} .[23]

Deterministic uncertainty principle

There is also a well-known deterministic uncertainty principle that uses signal sparsity (or the number of non-zero coefficients).[24] Let Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left\|x\right\|_0} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left\|X\right\|_0} be the number of non-zero elements of the time and frequency sequences Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_0,x_1,\ldots,x_{N-1}} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_0,X_1,\ldots,X_{N-1}} , respectively. Then,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N \leq \left\|x\right\|_0 \cdot \left\|X\right\|_0.}

As an immediate consequence of the inequality of arithmetic and geometric means, one also has Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2\sqrt{N} \leq \left\|x\right\|_0 + \left\|X\right\|_0} . Both uncertainty principles were shown to be tight for specifically chosen "picket-fence" sequences (discrete impulse trains), and find practical use for signal recovery applications.[24]

DFT of real and purely imaginary signals

  • If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_0, \ldots, x_{N-1}} are real numbers, as they often are in practical applications, then the DFT Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_0, \ldots, X_{N-1}} is even symmetric:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n \in \mathbb{R} \quad \forall n \in \{0,\ldots,N-1 \} \implies X_k = X_{-k \mod N}^* \quad \forall k \in \{0,\ldots,N-1 \}} , where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X^*\,} denotes complex conjugation.

It follows that for even Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_0} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_{N/2}} are real-valued, and the remainder of the DFT is completely specified by just Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N/2-1} complex numbers.

  • If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_0, \ldots, x_{N-1}} are purely imaginary numbers, then the DFT Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_0, \ldots, X_{N-1}} is odd symmetric:
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n \in i \mathbb{R} \quad \forall n \in \{0,\ldots,N-1 \} \implies X_k = -X_{-k \mod N}^* \quad \forall k \in \{0,\ldots,N-1 \}} , where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X^*\,} denotes complex conjugation.

Generalized DFT (shifted and non-linear phase)

It is possible to shift the transform sampling in time and/or frequency domain by some real shifts a and b, respectively. This is sometimes known as a generalized DFT (or GDFT), also called the shifted DFT or offset DFT, and has analogous properties to the ordinary DFT:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k = \sum_{n=0}^{N-1} x_n e^{-\frac{i 2 \pi}{N} (k+b) (n+a)} \quad \quad k = 0, \dots, N-1.}

Most often, shifts of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 1/2} (half a sample) are used. While the ordinary DFT corresponds to a periodic signal in both time and frequency domains, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle a=1/2} produces a signal that is anti-periodic in frequency domain (Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_{k+N} = - X_k} ) and vice versa for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle b=1/2} . Thus, the specific case of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle a = b = 1/2} is known as an odd-time odd-frequency discrete Fourier transform (or O2 DFT). Such shifted transforms are most often used for symmetric data, to represent different boundary symmetries, and for real-symmetric data they correspond to different forms of the discrete cosine and sine transforms.

Another interesting choice is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle a=b=-(N-1)/2} , which is called the centered DFT (or CDFT). The centered DFT has the useful property that, when N is a multiple of four, all four of its eigenvalues (see above) have equal multiplicities.[25][20]

The term GDFT is also used for the non-linear phase extensions of DFT. Hence, GDFT method provides a generalization for constant amplitude orthogonal block transforms including linear and non-linear phase types. GDFT is a framework to improve time and frequency domain properties of the traditional DFT, e.g. auto/cross-correlations, by the addition of the properly designed phase shaping function (non-linear, in general) to the original linear phase functions.[26]

The discrete Fourier transform can be viewed as a special case of the z-transform, evaluated on the unit circle in the complex plane; more general z-transforms correspond to complex shifts a and b above.

File:DirectAndFourierSpaceLocations.png
Discrete transforms embedded in time and space

Multidimensional DFT

The ordinary DFT transforms a one-dimensional sequence or array Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} that is a function of exactly one discrete variable n. The multidimensional DFT of a multidimensional array Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{n_1, n_2, \dots, n_d}} that is a function of d discrete variables Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n_\ell = 0, 1, \dots, N_\ell-1} for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \ell} in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 1, 2, \dots, d} is defined by:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\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) , }

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \omega_{N_\ell} = \exp(-i 2\pi/N_\ell)} as above and the d output indices run from Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k_\ell = 0, 1, \dots, N_\ell-1} . This is more compactly expressed in vector notation, where we define Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{n} = (n_1, n_2, \dots, n_d)} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{k} = (k_1, k_2, \dots, k_d)} as d-dimensional vectors of indices from 0 to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{N} - 1} , which we define as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{N} - 1 = (N_1 - 1, N_2 - 1, \dots, N_d - 1)} :

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_\mathbf{k} = \sum_{\mathbf{n}=\mathbf{0}}^{\mathbf{N}-1} e^{-i 2\pi \mathbf{k} \cdot (\mathbf{n} / \mathbf{N})} x_\mathbf{n} \, ,}

where the division Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{n} / \mathbf{N}} is defined as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{n} / \mathbf{N} = (n_1/N_1, \dots, n_d/N_d)} to be performed element-wise, and the sum denotes the set of nested summations above.

The inverse of the multi-dimensional DFT is, analogous to the one-dimensional case, given by:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_\mathbf{n} = \frac{1}{\prod_{\ell=1}^d N_\ell} \sum_{\mathbf{k}=\mathbf{0}}^{\mathbf{N}-1} e^{i 2\pi \mathbf{n} \cdot (\mathbf{k} / \mathbf{N})} X_\mathbf{k} \, .}

As the one-dimensional DFT expresses the input Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} as a superposition of sinusoids, the multidimensional DFT expresses the input as a superposition of plane waves, or multidimensional sinusoids. The direction of oscillation in space is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{k} / \mathbf{N}} . The amplitudes are Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_\mathbf{k}} . This decomposition is of great importance for everything from digital image processing (two-dimensional) to solving partial differential equations. The solution is broken up into plane waves.

The multidimensional DFT can be computed by the composition of a sequence of one-dimensional DFTs along each dimension. In the two-dimensional case Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{n_1,n_2}} the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N_1} independent DFTs of the rows (i.e., along Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n_2} ) are computed first to form a new array Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle y_{n_1,k_2}} . Then the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N_2} independent DFTs of y along the columns (along Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n_1} ) are computed to form the final result Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_{k_1,k_2}} . Alternatively the columns can be computed first and then the rows. The order is immaterial because the nested summations above commute.

An algorithm to compute a one-dimensional DFT is thus sufficient to efficiently compute a multidimensional DFT. This approach is known as the row-column algorithm. There are also intrinsically multidimensional FFT algorithms.

The real-input multidimensional DFT

For input data Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{n_1, n_2, \dots, n_d}} consisting of real numbers, the DFT outputs have a conjugate symmetry similar to the one-dimensional case above:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_{k_1, k_2, \dots, k_d} = X_{N_1 - k_1, N_2 - k_2, \dots, N_d - k_d}^* ,}

where the star again denotes complex conjugation and the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \ell} -th subscript is again interpreted modulo Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N_\ell} (for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \ell = 1,2,\ldots,d} ).

Applications

The DFT has seen wide usage across a large number of fields; we only sketch a few examples below (see also the references at the end). All applications of the DFT depend crucially on the availability of a fast algorithm to compute discrete Fourier transforms and their inverses, a fast Fourier transform.

Spectral analysis

When the DFT is used for signal spectral analysis, the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{x_n\}} sequence usually represents a finite set of uniformly spaced time-samples of some signal Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x(t)\,} , where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle t} represents time. The conversion from continuous time to samples (discrete-time) changes the underlying Fourier transform of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x(t)} into a discrete-time Fourier transform (DTFT), which generally entails a type of distortion called aliasing. Choice of an appropriate sample-rate (see Nyquist rate) is the key to minimizing that distortion. Similarly, the conversion from a very long (or infinite) sequence to a manageable size entails a type of distortion called leakage, which is manifested as a loss of detail (a.k.a. resolution) in the DTFT. Choice of an appropriate sub-sequence length is the primary key to minimizing that effect. When the available data (and time to process it) is more than the amount needed to attain the desired frequency resolution, a standard technique is to perform multiple DFTs, for example to create a spectrogram. If the desired result is a power spectrum and noise or randomness is present in the data, averaging the magnitude components of the multiple DFTs is a useful procedure to reduce the variance of the spectrum (also called a periodogram in this context); two examples of such techniques are the Welch method and the Bartlett method; the general subject of estimating the power spectrum of a noisy signal is called spectral estimation.

A final source of distortion (or perhaps illusion) is the DFT itself, because it is just a discrete sampling of the DTFT, which is a function of a continuous frequency domain. That can be mitigated by increasing the resolution of the DFT. That procedure is illustrated at § Sampling the DTFT.

  • The procedure is sometimes referred to as zero-padding, which is a particular implementation used in conjunction with the fast Fourier transform (FFT) algorithm. The inefficiency of performing multiplications and additions with zero-valued "samples" is more than offset by the inherent efficiency of the FFT.
  • As already stated, leakage imposes a limit on the inherent resolution of the DTFT, so there is a practical limit to the benefit that can be obtained from a fine-grained DFT.

Optics, diffraction, and tomography

The discrete Fourier transform is widely used with spatial frequencies in modeling the way that light, electrons, and other probes travel through optical systems and scatter from objects in two and three dimensions. The dual (direct/reciprocal) vector space of three dimensional objects further makes available a three dimensional reciprocal lattice, whose construction from translucent object shadows (via the Fourier slice theorem) allows tomographic reconstruction of three dimensional objects with a wide range of applications e.g. in modern medicine.

Filter bank

See § FFT filter banks and § Sampling the DTFT.

Data compression

The field of digital signal processing relies heavily on operations in the frequency domain (i.e. on the Fourier transform). For example, several lossy image and sound compression methods employ the discrete Fourier transform: the signal is cut into short segments, each is transformed, and then the Fourier coefficients of high frequencies, which are assumed to be unnoticeable, are discarded. The decompressor computes the inverse transform based on this reduced number of Fourier coefficients. (Compression applications often use a specialized form of the DFT, the discrete cosine transform or sometimes the modified discrete cosine transform.)

Some relatively recent compression algorithms, however, use wavelet transforms, which give a more uniform compromise between time and frequency domain than obtained by chopping data into segments and transforming each segment. In the case of JPEG2000, this avoids the spurious image features that appear when images are highly compressed with the original JPEG.

Partial differential equations

Discrete Fourier transforms are often used to solve partial differential equations, where again the DFT is used as an approximation for the Fourier series (which is recovered in the limit of infinite N). The advantage of this approach is that it expands the signal in complex exponentials Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle e^{inx}} , which are eigenfunctions of differentiation: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle {\text{d} \big( e^{inx} \big) }/\text{d}x = in e^{inx}} . Thus, in the Fourier representation, differentiation is simple—we just multiply by Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle in} . (However, the choice of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} is not unique due to aliasing; for the method to be convergent, a choice similar to that in the trigonometric interpolation section above should be used.) A linear differential equation with constant coefficients is transformed into an easily solvable algebraic equation. One then uses the inverse DFT to transform the result back into the ordinary spatial representation. Such an approach is called a spectral method.

Polynomial multiplication

Suppose we wish to compute the polynomial product c(x) = a(x) · b(x). The ordinary product expression for the coefficients of c involves a linear (acyclic) convolution, where indices do not "wrap around." This can be rewritten as a cyclic convolution by taking the coefficient vectors for a(x) and b(x) with constant term first, then appending zeros so that the resultant coefficient vectors a and b have dimension d > deg(a(x)) + deg(b(x)). Then,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{c} = \mathbf{a} * \mathbf{b}}

Where c is the vector of coefficients for c(x), and the convolution operator Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle *\,} is defined so

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\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}

But convolution becomes multiplication under the DFT:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathcal{F}(\mathbf{c}) = \mathcal{F}(\mathbf{a})\mathcal{F}(\mathbf{b})}

Here the vector product is taken elementwise. Thus the coefficients of the product polynomial c(x) are just the terms 0, ..., deg(a(x)) + deg(b(x)) of the coefficient vector

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{c} = \mathcal{F}^{-1}(\mathcal{F}(\mathbf{a})\mathcal{F}(\mathbf{b})).}

With a fast Fourier transform, the resulting algorithm takes O(N log N) arithmetic operations. Due to its simplicity and speed, the Cooley–Tukey FFT algorithm, which is limited to composite sizes, is often chosen for the transform operation. In this case, d should be chosen as the smallest integer greater than the sum of the input polynomial degrees that is factorizable into small prime factors (e.g. 2, 3, and 5, depending upon the FFT implementation).

Multiplication of large integers

The fastest known algorithms for the multiplication of very large integers use the polynomial multiplication method outlined above. Integers can be treated as the value of a polynomial evaluated specifically at the number base, with the coefficients of the polynomial corresponding to the digits in that base (ex. Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 123 = 1 \cdot 10^2 + 2 \cdot 10^1 + 3 \cdot 10^0} ). After polynomial multiplication, a relatively low-complexity carry-propagation step completes the multiplication.

Convolution

When data is convolved with a function with wide support, such as for downsampling by a large sampling ratio, because of the Convolution theorem and the FFT algorithm, it may be faster to transform it, multiply pointwise by the transform of the filter and then reverse transform it. Alternatively, a good filter is obtained by simply truncating the transformed data and re-transforming the shortened data set.

Some discrete Fourier transform pairs

Some DFT pairs
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n = \frac{1}{N}\sum_{k=0}^{N-1}X_k e^{i 2 \pi kn/N} } Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k = \sum_{n=0}^{N-1}x_n e^{-i 2 \pi kn/N} } Note
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n e^{i 2 \pi n\ell/N} \,} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_{k-\ell}\,} Frequency shift theorem
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{n-\ell}\,} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k e^{-i 2 \pi k\ell/N} \,} Time shift theorem
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n \in \mathbb{R}} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k=X_{N-k}^*\,} Real DFT
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle a^n\,} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left\{ \begin{matrix} N & \mbox{if } a = e^{i 2 \pi k/N} \\ \frac{1-a^N}{1-a \, e^{-i 2 \pi k/N} } & \mbox{otherwise} \end{matrix} \right. } from the geometric progression formula
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle {N-1 \choose n}\,} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left(1+e^{-i 2 \pi k/N} \right)^{N-1}\,} from the binomial theorem
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left\{ \begin{matrix} \frac{1}{W} & \mbox{if } 2n < W \mbox{ or } 2(N-n) < W \\ 0 & \mbox{otherwise} \end{matrix} \right. } Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left\{ \begin{matrix} 1 & \mbox{if } k = 0 \\ \frac{\sin\left(\frac{\pi W k}{N}\right)} {W \sin\left(\frac{\pi k}{N}\right)} & \mbox{otherwise} \end{matrix} \right. } Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_n} is a rectangular window function of W points centered on n=0, where W is an odd integer, and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} is a sinc-like function (specifically, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X_k} is a Dirichlet kernel)
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{j\in\mathbb{Z}} \exp\left(-\frac{\pi}{cN}\cdot(n+N\cdot j)^2\right)} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sqrt{cN} \cdot \sum_{j\in\mathbb{Z}} \exp\left(-\frac{\pi c}{N}\cdot(k+N\cdot j)^2\right)} Discretization and periodic summation of the scaled Gaussian functions for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c>0} . Since either Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c} or Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{1}{c}} is larger than one and thus warrants fast convergence of one of the two series, for large Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c} you may choose to compute the frequency spectrum and convert to the time domain using the discrete Fourier transform.

Generalizations

Representation theory

The DFT can be interpreted as a complex-valued representation of the finite cyclic group. In other words, a sequence of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} complex numbers can be thought of as an element of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} -dimensional complex space Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbb{C}^n} or equivalently a function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f} from the finite cyclic group of order Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} to the complex numbers, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbb{Z}_n \mapsto \mathbb{C}} . So Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f} is a class function on the finite cyclic group, and thus can be expressed as a linear combination of the irreducible characters of this group, which are the roots of unity.

From this point of view, one may generalize the DFT to representation theory generally, or more narrowly to the representation theory of finite groups.

More narrowly still, one may generalize the DFT by either changing the target (taking values in a field other than the complex numbers), or the domain (a group other than a finite cyclic group), as detailed in the sequel.

Other fields

Many of the properties of the DFT only depend on the fact that Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle e^{-\frac{i 2 \pi}{N}}} is a primitive root of unity, sometimes denoted Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \omega_N} or Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle W_N} (so that Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \omega_N^N = 1} ). Such properties include the completeness, orthogonality, Plancherel/Parseval, periodicity, shift, convolution, and unitarity properties above, as well as many FFT algorithms. For this reason, the discrete Fourier transform can be defined by using roots of unity in fields other than the complex numbers, and such generalizations are commonly called number-theoretic transforms (NTTs) in the case of finite fields. For more information, see number-theoretic transform and discrete Fourier transform (general).

Other finite groups

The standard DFT acts on a sequence x0, x1, ..., xN−1 of complex numbers, which can be viewed as a function {0, 1, ..., N − 1} → C. The multidimensional DFT acts on multidimensional sequences, which can be viewed as functions

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{0, 1, \ldots, N_1-1\} \times \cdots \times \{0, 1, \ldots, N_d-1\} \to \mathbb{C}. }

This suggests the generalization to Fourier transforms on arbitrary finite groups, which act on functions GC where G is a finite group. In this framework, the standard DFT is seen as the Fourier transform on a cyclic group, while the multidimensional DFT is a Fourier transform on a direct sum of cyclic groups.

Further, Fourier transform can be on cosets of a group.

Alternatives

There are various alternatives to the DFT for various applications, prominent among which are wavelets. The analog of the DFT is the discrete wavelet transform (DWT). From the point of view of time–frequency analysis, a key limitation of the Fourier transform is that it does not include location information, only frequency information, and thus has difficulty in representing transients. As wavelets have location as well as frequency, they are better able to represent location, at the expense of greater difficulty representing frequency. For details, see comparison of the discrete wavelet transform with the discrete Fourier transform.

See also

Notes

References

  1. Strang, Gilbert (May–June 1994). "Wavelets". American Scientist. 82 (3): 250–255. Bibcode:1994AmSci..82..250S. JSTOR 29775194. This is the most important numerical algorithm of our lifetime...
  2. Sahidullah, Md.; Saha, Goutam (Feb 2013). "A Novel Windowing Technique for Efficient Computation of MFCC for Speaker Recognition". IEEE Signal Processing Letters. 20 (2): 149–152. arXiv:1206.2437. Bibcode:2013ISPL...20..149S. doi:10.1109/LSP.2012.2235067. S2CID 10900793.
  3. J. Cooley, P. Lewis, and P. Welch (1969). "The finite Fourier transform". IEEE Transactions on Audio and Electroacoustics. 17 (2): 77–85. Bibcode:1969ITAuE..17...77C. doi:10.1109/TAU.1969.1162036.CS1 maint: multiple names: authors list (link)
  4. "Shift zero-frequency component to center of spectrum – MATLAB fftshift". mathworks.com. Natick, MA 01760: The MathWorks, Inc. Retrieved 10 March 2014.CS1 maint: location (link)
  5. "Discrete Fourier Transform frequencies". www.statlect.com. Retrieved 2025-11-25.
  6. 6.0 6.1 Proakis, John G.; Manolakis, Dimitri G. (1996), Digital Signal Processing: Principles, Algorithms and Applications (3 ed.), Upper Saddle River, NJ: Prentice-Hall International, Bibcode:1996dspp.book.....P, ISBN 978-0-13-394289-7, sAcfAQAAIAAJ
  7. 7.0 7.1 Gbur, Greg (2011). Mathematical Methods for Optical Physics and Engineering. Cambridge University Press. p. 432. ISBN 978-0-521-51610-5.
  8. Oppenheim, Alan V.; Schafer, Ronald W.; Buck, John R. (1999). Discrete-time signal processing (2nd ed.). Upper Saddle River, N.J.: Prentice Hall. p. 571. ISBN 0-13-754920-2.
  9. McGillem, Clare D.; Cooper, George R. (1984). Continuous and Discrete Signal and System Analysis (2 ed.). Holt, Rinehart and Winston. pp. 171–172. ISBN 0-03-061703-0.
  10. Amiot, Emmanuel (2016). Music through Fourier Space. Computational Music Science. Zürich: Springer. p. 8. doi:10.1007/978-3-319-45581-5. ISBN 978-3-319-45581-5. S2CID 6224021.
  11. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Suggestions' not found.
  12. 12.0 12.1 P. Duhamel; B. Piron; J. M. Etcheto (1988). "On computing the inverse DFT". IEEE Transactions on Acoustics, Speech, and Signal Processing. 36 (2): 285–286. Bibcode:1988ITASS..36..285D. doi:10.1109/29.1519.
  13. Morton, Patrick (1980). "On the eigenvectors of Schur's matrix". Journal of Number Theory. 12 (1): 122–127. doi:10.1016/0022-314X(80)90083-9. hdl:2027.42/23371.
  14. 14.0 14.1 Natig M. Atakishiyev; Kurt Bernardo Wolf (1997). "Fractional Fourier-Kravchuk transform". Journal of the Optical Society of America A. 14 (7): 1467–1477. Bibcode:1997JOSAA..14.1467A. doi:10.1364/JOSAA.14.001467.
  15. Bose, N. K. "Eigenvectors and eigenvalues of 1-D and nD DFT matrices." AEU — International Journal of Electronics and Communications 55.2 (2001): 131-133.
  16. 16.0 16.1 Candan, Ç. (2011). On the eigenstructure of DFT matrices [DSP education]. IEEE Signal Processing Magazine, 28(2), 105-108.
  17. 17.0 17.1 Pei, S. C., Ding, J. J., Hsue, W. L., & Chang, K. W. (2008). Generalized commuting matrices and their eigenvectors for DFTs, offset DFTs, and other periodic operations. IEEE Transactions on Signal Processing, 56(8), 3891-3904.
  18. Erseghe, T., & Cariolaro, G. (2003). An orthonormal class of exact and simple DFT eigenvectors with a high degree of symmetry. IEEE transactions on signal processing, 51(10), 2527-2539.
  19. F.N. Kong (2008). "Analytic Expressions of Two Discrete Hermite-Gaussian Signals". IEEE Transactions on Circuits and Systems II: Express Briefs. 55 (1): 56–60. Bibcode:2008ITCSE..55...56K. doi:10.1109/TCSII.2007.909865. S2CID 5154718.
  20. 20.0 20.1 Juan G. Vargas-Rubio; Balu Santhanam (2005). "On the multiangle centered discrete fractional Fourier transform". IEEE Signal Processing Letters. 12 (4): 273–276. Bibcode:2005ISPL...12..273V. doi:10.1109/LSP.2005.843762. S2CID 1499353.
  21. Moya-Cessa, H.; Soto-Eguibar, F. (2018). "Discrete fractional Fourier transform: Vandermonde approach". IMA Journal of Applied Mathematics. 83 (6): 908–916. doi:10.1093/imamat/hxy028.
  22. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Suggestions' not found.
  23. 23.0 23.1 23.2 DeBrunner, Victor; Havlicek, Joseph P.; Przebinda, Tomasz; Özaydin, Murad (2005). "Entropy-Based Uncertainty Measures for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle L^2(\mathbb{R}^n),\ell^2(\mathbb{Z})} , and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \ell^2(\mathbb{Z}/N\mathbb{Z})} With a Hirschman Optimal Transform for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \ell^2(\mathbb{Z}/N\mathbb{Z})} " (PDF). IEEE Transactions on Signal Processing. 53 (8): 2690. Bibcode:2005ITSP...53.2690D. doi:10.1109/TSP.2005.850329. S2CID 206796625. Retrieved 2011-06-23.
  24. 24.0 24.1 Donoho, D.L.; Stark, P.B (1989). "Uncertainty principles and signal recovery". SIAM Journal on Applied Mathematics. 49 (3): 906–931. Bibcode:1989SJAM...49..906D. doi:10.1137/0149053. S2CID 115142886.
  25. Santhanam, Balu; Santhanam, Thalanayar S. "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.
  26. Akansu, Ali N.; Agirman-Tosun, Handan "Generalized Discrete Fourier Transform With Nonlinear Phase", IEEE Transactions on Signal Processing, vol. 58, no. 9, pp. 4547–4556, Sept. 2010.

Further reading

Template:DSP