Date post: | 07-Apr-2018 |
Category: |
Documents |
Upload: | vijetasengar |
View: | 217 times |
Download: | 0 times |
of 24
8/6/2019 sujoyketan
1/24
Discrete Fourier transformFast Fourier transform& their application in
Signal Processing
A presentation bySujoy ketan Saha
8/6/2019 sujoyketan
2/24
8/6/2019 sujoyketan
3/24
DFT Definition: The sequence ofN complex numbers x0, ..., xN1 is
transformed into the sequence ofN complex numbers X0, ..., X
N
1by the DFT according to the formula
[1]:
The inverse discrete Fourier transform (IDFT) is given by
[2]:
NB:1.the normalization factor multiplying the DFT and IDFT (here 1 and 1/N)and the signs of the exponents are merely conventions.
2.A normalization of for both the DFT and IDFT makes thetransforms unitary, which has some theoretical advantages.
3.The convention of a negative sign in the exponent is often convenientbecause it means that X
k
is the amplitude of a "positive frequency" 2k/N. Equivalently, the DFT is often thought of as a matched filter: whenlooking for a frequency of +1, one correlates the incoming signal with afrequency of1.
http://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/Unitary_matrixhttp://en.wikipedia.org/wiki/Matched_filterhttp://en.wikipedia.org/wiki/Matched_filterhttp://en.wikipedia.org/wiki/Unitary_matrixhttp://en.wikipedia.org/wiki/Complex_number8/6/2019 sujoyketan
4/24
DFT: Properties:1. Completeness :
The discrete Fourier transform is an invertible, linear transformation
With denoting the set ofcomplex numbers. In other words, for anyN > 0, an n-dimensional complex vector has a DFT and an IDFTwhich are in turn n-dimensional complex vectors.
2. Orthogonality :The vectors form an orthogonal basis over the set of N-
dimensional complex vectors:
where is the Kronecker delta. This orthogonality condition canbe used to derive the formula for the IDFT from the definition of
the DFT.
http://en.wikipedia.org/wiki/Linear_transformationhttp://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/Orthogonalhttp://en.wikipedia.org/wiki/Kronecker_deltahttp://en.wikipedia.org/wiki/Kronecker_deltahttp://en.wikipedia.org/wiki/Orthogonalhttp://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/Linear_transformation8/6/2019 sujoyketan
5/24
DFT: Properties:3. Periodicity :
If the expression that defines the DFT is evaluated for all integers kinstead of just for then the resulting infinite
sequence is a periodic extension of the DFT, periodic with period N.
The periodicity can be shown directly from the definition:
where we have used the fact that e 2i = 1. In the same way it can
be shown that the IDFT formula leads to a periodic extension.
8/6/2019 sujoyketan
6/24
DFT: Properties:4. The shift theorem :
Multiplying xn by a linear phase for some integerm
corresponds to a circular shiftof the output Xk: X
kis replaced by
Xkm, where the subscript is interpreted modulo N(i.e. periodically).
Similarly, a circular shift of the input xn
corresponds to multiplying
the output Xk
by a linear phase. Mathematically, if {xn} represents the
vector x then
If
then
And
Where, the transform [DFT] is denoted by the symbol , as in
http://en.wikipedia.org/wiki/Modulohttp://en.wikipedia.org/wiki/Modulo8/6/2019 sujoyketan
7/24
DFT: Properties:5. Circular convolution theorem and cross-correlation
theorem :The cyclic or circular convolution x*y of the two
vectorsx = xk and y = yn is the vector x*y with components
where we continue y cyclically so that
The DFT turns cyclic convolutions into component-wisemultiplication.
That is, if , then
where capital letters (X, Y, Z) represent the DFTs of sequencesrepresented by small letters (x, y, z).
http://en.wikipedia.org/wiki/Circular_convolutionhttp://en.wikipedia.org/wiki/Circular_convolution8/6/2019 sujoyketan
8/24
DFT: Properties:
Circular convolution theorem and cross-correlationtheorem (contd.) :
NB:if a different normalization convention is adopted for the DFT
(e.g., the unitary normalization), then there will in general be aconstant factor multiplying the above relation
The direct evaluation of the convolution summation, above,would require O(N2) operations, but the DFT (via an FFT)provides an O(NlogN) method to compute the same thing.
It can be shown that ifzn is the cross-correlation ofxn and yn:
where the sum is again cyclic in m, then the discrete Fouriertransform ofzn is:
where capital letters are again used to signify the discrete Fouriertransform.
http://en.wikipedia.org/wiki/Cross-correlationhttp://en.wikipedia.org/wiki/Cross-correlation8/6/2019 sujoyketan
9/24
DFT: Properties:6.The unitary DFT :
Another way of looking at the DFT is to note that in the above
discussion, the DFT can be expressed as a Vandermonde matrix:
Where: is a primitive Nth root of unity.
The inverse transform is then given by the inverse of the above
matrix:
With unitary normalization constants the DFT becomes a
unitary transformation, defined by a unitary matrix: ;
; .
http://en.wikipedia.org/wiki/Vandermonde_matrixhttp://en.wikipedia.org/wiki/Roots_of_unityhttp://en.wikipedia.org/wiki/Unitary_operatorhttp://en.wikipedia.org/wiki/Unitary_transformationhttp://en.wikipedia.org/wiki/Unitary_transformationhttp://en.wikipedia.org/wiki/Unitary_operatorhttp://en.wikipedia.org/wiki/Roots_of_unityhttp://en.wikipedia.org/wiki/Vandermonde_matrix8/6/2019 sujoyketan
10/24
DFT: Properties:7. Expressing the inverse DFT in terms of the DFT :
Can be easily done via several well-known "tricks.1st: we can compute the inverse DFT by reversing the inputs:
2nd:one can also conjugate the inputs and outputs:
3rd:a variant of this conjugation trick, which is sometimes preferable becauseit requires no modification of the data values, involves swapping real andimaginary parts (which can be done on a computer simply by modifyingpointers). Define swap(xn) as xn with its real and imaginary parts
swappedthat is, ifxn = a + b i then swap(xn) is b + ai. Equivalently,swap(xn) equals.
then :
i.e. the inverse transform is the same as the forward transform with the realand imaginary parts swapped for both input and output, up to anormalization
http://en.wikipedia.org/wiki/Pointerhttp://en.wikipedia.org/wiki/Pointer8/6/2019 sujoyketan
11/24
DFT: Properties:8. 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.
Consider the unitary form defined above for the DFT of length N,
where
This matrix satisfies the equation:
operating twice gives the original data in reverse order, so
operating four times gives back the original data and is thusthe identity matrix. This means that the eigenvalues satisfy acharacteristic equation: 4 = 1.
SO,the eigenvalues of are the fourth roots of unity:
is +1, 1, +i, or i.
http://en.wikipedia.org/wiki/Eigenvaluehttp://en.wikipedia.org/wiki/Eigenvectorhttp://en.wikipedia.org/wiki/Identity_matrixhttp://en.wikipedia.org/wiki/Characteristic_equationhttp://en.wikipedia.org/wiki/Roots_of_unityhttp://en.wikipedia.org/wiki/Roots_of_unityhttp://en.wikipedia.org/wiki/Characteristic_equationhttp://en.wikipedia.org/wiki/Identity_matrixhttp://en.wikipedia.org/wiki/Eigenvectorhttp://en.wikipedia.org/wiki/Eigenvalue8/6/2019 sujoyketan
12/24
DFT:Properties:
Eigenvalues and eigenvectors (Contd):
Since there are only four distinct eigenvalues for this
matrix, they have some multiplicity. The multiplicity gives thenumber oflinearly independent eigenvectors corresponding toeach eigenvalues.
The multiplicity depends on the value ofN modulo 4
http://en.wikipedia.org/wiki/Algebraic_multiplicityhttp://en.wikipedia.org/wiki/Linearly_independenthttp://en.wikipedia.org/wiki/Modulohttp://en.wikipedia.org/wiki/Modulohttp://en.wikipedia.org/wiki/Linearly_independenthttp://en.wikipedia.org/wiki/Algebraic_multiplicity8/6/2019 sujoyketan
13/24
DFT: Properties: The real-input DFT:
If are real numbers, as they often are in practicalapplications, then the DFT obeys the symmetry:
where the star denotes complex conjugation and the subscripts are
interpreted modulo N.
Therefore, the DFT output for real inputs is half redundant, and oneobtains the complete information by only looking at roughly halfof the outputs . In this case, the "DC" element X0 is purely real,
and for evenN
the "Nyquist" elementX
N/ 2 is also real, so thereare exactly N non-redundant real numbers in the first half +Nyquist element of the complex output X.
Using Euler's formula, the interpolating trigonometric polynomial
can then be interpreted as a sum of sine and cosine functions.
http://en.wikipedia.org/wiki/Real_numberhttp://en.wikipedia.org/wiki/Euler%27s_formula_in_complex_analysishttp://en.wikipedia.org/wiki/Euler%27s_formula_in_complex_analysishttp://en.wikipedia.org/wiki/Real_number8/6/2019 sujoyketan
14/24
Generalized/shifted DFT: It is possible to shift the transform sampling in time and/or
frequency domain by some real shifts a and b, respectively.This is known as generalized DFT (or GDFT), also called the
shifted DFT or offset DFT , and has analogous properties to theordinary DFT:
8/6/2019 sujoyketan
15/24
Generalized/shifted DFT: Most often, shifts of 1 / 2 (half a sample) are used. While the
ordinary DFT corresponds to a periodic signal in both time andfrequency domains, a = 1 / 2 produces a signal that is anti-periodic in frequency domain (Xk + N = Xk) and vice-versa for b= 1 / 2. Thus, the specific case ofa = b = 1 / 2 is known as anodd-time odd-frequency discrete Fourier transform (or O2 DFT).
Such shifted transforms are most often used forsymmetric data, to represent different boundarysymmetries, and for real-symmetric data they correspondto different forms of the discrete cosine and sinetransforms.
Another interesting choice is a = b = (N 1) / 2, which iscalled the centered DFT (or CDFT). The centered DFT has theuseful property that, when N is a multiple of four, all four of itseigenvalues have equal multiplicities
http://en.wikipedia.org/wiki/Discrete_cosine_transformhttp://en.wikipedia.org/wiki/Discrete_sine_transformhttp://en.wikipedia.org/wiki/Discrete_sine_transformhttp://en.wikipedia.org/wiki/Discrete_cosine_transform8/6/2019 sujoyketan
16/24
Applications of DFT:
The DFT has seen wide usage across a large number of fields :
Spectral analysis,
Data compression,
Partial differential equations,
Multiplication of large integers,
Outline of DFT polynomial multiplication algorithm.
8/6/2019 sujoyketan
17/24
FFT: A Fast Fourier Transform (FFT) is an efficient algorithm to
compute the discrete Fourier transform (DFT) and its inverse.
Let x0, ...., xN-1 be complex numbers. The DFT is defined by theformula :
Evaluating these sums directly would take O(N2) arithmeticaloperations.
An FFT is an algorithm to compute the same result in only O(N logN) operations. In general, such algorithms depend upon thefactorization ofN, but (contrary to popular misconception) thereare O(N log N) FFTs for all N, even prime N.
http://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Discrete_Fourier_transformhttp://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/Factorizationhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Factorizationhttp://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/Discrete_Fourier_transformhttp://en.wikipedia.org/wiki/Algorithm8/6/2019 sujoyketan
18/24
FFT: Many FFT algorithms only depend on the fact that is a
primitive root of unity, and thus can be applied to analogoustransforms over any finite field, such as number-theoretictransforms.
Since the inverse DFT is the same as the DFT, but with theopposite sign in the exponent and a 1/N factor, any FFTalgorithm can easily be adapted for it as well.
http://en.wikipedia.org/wiki/Primitive_root_of_unityhttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Number-theoretic_transformhttp://en.wikipedia.org/wiki/Number-theoretic_transformhttp://en.wikipedia.org/wiki/Number-theoretic_transformhttp://en.wikipedia.org/wiki/Number-theoretic_transformhttp://en.wikipedia.org/wiki/Number-theoretic_transformhttp://en.wikipedia.org/wiki/Number-theoretic_transformhttp://en.wikipedia.org/wiki/Number-theoretic_transformhttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Primitive_root_of_unity8/6/2019 sujoyketan
19/24
The Cooley-Tukey algorithm:
By far the most common FFT is the Cooley-Tukey algorithm. This is adivide and conquer algorithm that recursively breaks down a DFT of any
composite size N = N1N2 into many smaller DFTs of sizes N1 and N2,along with O(N) multiplications by complex roots of unity traditionallycalled twiddle factors (after Gentleman and Sande, 1966).
This method (and the general idea of an FFT) was popularized by apublication ofJ. W. Cooley and J. W. Tukey in 1965, but it was later
discovered that those two authors had independently re-invented analgorithm known to Carl Friedrich Gauss around 1805 (and subsequentlyrediscovered several times in limited forms).
The most well-known use of the Cooley-Tukey algorithm is to divide thetransform into two pieces of size N/ 2 at each step, and is therefore
limited to power-of-two sizes, but any factorization can be used ingeneral (as was known to both Gauss and Cooley/Tukey). These arecalled the radix-2 and mixed-radix cases, respectively (and othervariants such as the split-radix FFT have their own names as well).Although the basic idea is recursive, most traditional implementationsrearrange the algorithm to avoid explicit recursion.
http://en.wikipedia.org/wiki/Cooley-Tukey_FFT_algorithmhttp://en.wikipedia.org/wiki/Divide_and_conquer_algorithmhttp://en.wikipedia.org/wiki/Recursionhttp://en.wikipedia.org/wiki/Composite_numberhttp://en.wikipedia.org/wiki/Roots_of_unityhttp://en.wikipedia.org/wiki/Twiddle_factorhttp://en.wikipedia.org/wiki/J._W._Cooleyhttp://en.wikipedia.org/wiki/J._W._Tukeyhttp://en.wikipedia.org/wiki/1965http://en.wikipedia.org/wiki/Carl_Friedrich_Gausshttp://en.wikipedia.org/wiki/1805http://en.wikipedia.org/wiki/Split-radix_FFThttp://en.wikipedia.org/wiki/Split-radix_FFThttp://en.wikipedia.org/wiki/1805http://en.wikipedia.org/wiki/Carl_Friedrich_Gausshttp://en.wikipedia.org/wiki/1965http://en.wikipedia.org/wiki/J._W._Tukeyhttp://en.wikipedia.org/wiki/J._W._Cooleyhttp://en.wikipedia.org/wiki/Twiddle_factorhttp://en.wikipedia.org/wiki/Roots_of_unityhttp://en.wikipedia.org/wiki/Composite_numberhttp://en.wikipedia.org/wiki/Recursionhttp://en.wikipedia.org/wiki/Divide_and_conquer_algorithmhttp://en.wikipedia.org/wiki/Cooley-Tukey_FFT_algorithm8/6/2019 sujoyketan
20/24
Other FFT algorithms:
Pr im e- fac to r FFT a lgor i t hm ,
Br u u n ' s FFT a lg o r i t h m , Rader 's FFT algo r i t h m ,
Bluest e in ' s FFT a lgo r i t hm .
http://en.wikipedia.org/wiki/Prime-factor_FFT_algorithmhttp://en.wikipedia.org/wiki/Bruun%27s_FFT_algorithmhttp://en.wikipedia.org/wiki/Rader%27s_FFT_algorithmhttp://en.wikipedia.org/wiki/Bluestein%27s_FFT_algorithmhttp://en.wikipedia.org/wiki/Bluestein%27s_FFT_algorithmhttp://en.wikipedia.org/wiki/Rader%27s_FFT_algorithmhttp://en.wikipedia.org/wiki/Bruun%27s_FFT_algorithmhttp://en.wikipedia.org/wiki/Prime-factor_FFT_algorithm8/6/2019 sujoyketan
21/24
Digital signal processing:
Digital signal processing (DSP) is the study ofsignals in a
digital representation and the processing methods of thesesignals. DSP inculdes subfields like: audio signal processing,control engineering, digital image processing and speechprocessing. RADAR Signal processing and communications signalprocessing are two other important subfields of DSP.
Since the goal of DSP is usually to measure or filter continuousreal-world analog signals, the first step is usually to convert thesignal from an analog to a digital form, by using an analog todigital converter. Often, the required output signal is another
analog output signal, which requires a digital to analogconverter.
http://en.wikipedia.org/wiki/Signal_%28information_theory%29http://en.wikipedia.org/wiki/Digitalhttp://en.wikipedia.org/wiki/Audio_signal_processinghttp://en.wikipedia.org/wiki/Control_engineeringhttp://en.wikipedia.org/wiki/Digital_image_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Analog_to_digital_converterhttp://en.wikipedia.org/wiki/Analog_to_digital_converterhttp://en.wikipedia.org/wiki/Digital_to_analog_converterhttp://en.wikipedia.org/wiki/Digital_to_analog_converterhttp://en.wikipedia.org/wiki/Digital_to_analog_converterhttp://en.wikipedia.org/wiki/Digital_to_analog_converterhttp://en.wikipedia.org/wiki/Analog_to_digital_converterhttp://en.wikipedia.org/wiki/Analog_to_digital_converterhttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Speech_processinghttp://en.wikipedia.org/wiki/Digital_image_processinghttp://en.wikipedia.org/wiki/Control_engineeringhttp://en.wikipedia.org/wiki/Audio_signal_processinghttp://en.wikipedia.org/wiki/Digitalhttp://en.wikipedia.org/wiki/Signal_%28information_theory%298/6/2019 sujoyketan
22/24
Digital signal processing:
The algorithms required for DSP are sometimes performed using
specialized computers, which make use of specializedmicroprocessors called digital signal processors (also abbreviatedDSP). These process signals in real time and are generallypurpose-designed application-specific integrated circuits (ASICs).When flexibility and rapid development are more important than
unit costs at high volume, DSP algorithms may also beimplemented using field-programmable gate arrays (FPGAs).
http://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Digital_signal_processorhttp://en.wikipedia.org/wiki/Real_timehttp://en.wikipedia.org/wiki/Application-specific_integrated_circuithttp://en.wikipedia.org/wiki/Field-programmable_gate_arrayhttp://en.wikipedia.org/wiki/Field-programmable_gate_arrayhttp://en.wikipedia.org/wiki/Application-specific_integrated_circuithttp://en.wikipedia.org/wiki/Real_timehttp://en.wikipedia.org/wiki/Digital_signal_processorhttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Algorithm8/6/2019 sujoyketan
23/24
DSP domains
In DSP, engineers usually study digital signals in one of the
following domains:
time domain (one-dimensional signals),
spatial domain (multidimensional signals),
frequency domain, autocorrelation domain, and
wavelet domains.
http://en.wikipedia.org/wiki/Time_domainhttp://en.wikipedia.org/wiki/Frequencyhttp://en.wikipedia.org/wiki/Autocorrelationhttp://en.wikipedia.org/wiki/Wavelethttp://en.wikipedia.org/wiki/Wavelethttp://en.wikipedia.org/wiki/Autocorrelationhttp://en.wikipedia.org/wiki/Frequencyhttp://en.wikipedia.org/wiki/Time_domain8/6/2019 sujoyketan
24/24
DSP domains
A sequence of samples from a measuring device produces a time
or spatial domain representation, whereas a discrete Fourier transform produces the frequency
domain information, that is the frequency spectrum.
Autocorrelation is defined as the cross-correlation of the signal
with itself over varying intervals of time or space.
http://en.wikipedia.org/wiki/Discrete_Fourier_transformhttp://en.wikipedia.org/wiki/Frequency_spectrumhttp://en.wikipedia.org/wiki/Cross-correlationhttp://en.wikipedia.org/wiki/Cross-correlationhttp://en.wikipedia.org/wiki/Frequency_spectrumhttp://en.wikipedia.org/wiki/Discrete_Fourier_transform