SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Fast Fourier Transform (FFT)


              Elena Punskaya
       www-sigproc.eng.cam.ac.uk/~op205


                                Some material adapted from courses by
                                Prof. Simon Godsill, Dr. Arnaud Doucet,
                           Dr. Malcolm Macleod and Prof. Peter Rayner


                                                                          55
Computations for Evaluating the DFT


•  Discrete Fourier Transform and its Inverse can be
   computed on a digital computer




•  What are computational requirements?



                                                       56
Operation Count

How do we evaluate computational complexity?
     count the number of real multiplications and
     additions
     by ¨real¨ we mean either fixed-point or floating point
     operations depending on the specific hardware

      subtraction is considered equivalent to additions
      divisions are counted separately

  Other operations such as loading from memory, storing in
  memory, loop counting, indexing, etc are not counted
  (depends on implementation/architecture) – present
  overhead                                             57
Operation Count – Modern DSP



Modern DSP:
     a real multiplication and addition is a single machine
     cycle y=ax+b called MAC (multiply/accumulate)

      maximum number of multiplications and additions must
      be counted, not their sum

      traditional claim ¨multiplication is much more time-
      consuming than addition¨ becomes obsolete

                                                             58
Discrete Fourier Transform as a Vector Operation

Again, we have a sequence of sampled values x n and
transformed values Xp , given by




Let us denote:



 Then:

                     x


                                                      59
Matrix Interpretation of the DFT

This Equation can be rewritten in matrix form:

                       x



                                                                complex
as follows:                                                     numbers
                                                                can be
         X0                0   0         0
                                          …   0
                                                        x0      computed
         X1                0   1         2
                                          …
                                              N-1
                                                        x1      off-line
                =                                               and
         …                                …             …
                      …
                      …
                                     …

                                              …
                                                                stored
                               N-1   2(N-1)   (N-1) 2
         XN-1              0
                                         …              x N-1



                               N x N matrix                           60
DFT Evaluation – Operation Count

Multiplication of a complex N x N matrix by a complex
N-dimensional vector.

No attempt to save operations
                 N2     complex multiplications (¨x¨s)
                 N(N-1) complex additions (¨+¨s)

First row and first column are 1 however
                            2
        save 2N-1 ¨x¨s, (N-1) complex ¨x¨s & N(N-1) ¨+¨s

Complex ¨x¨: 4 real ¨x¨s and 2 real ¨+¨s;
                                 complex ¨+¨ : 2 real ¨+¨s
             2
Total: 4(N-1) real ¨x¨s & 4(N-0.5)(N-1) real ¨+¨s            61
DFT Computational Complexity


Thus, for the input sequence of length N the number of
arithmetic operations in direct computation of DFT is
proportional to N 2
                  .

For N=1000, about a million operations are needed!


 In 1960s such a number was considered prohibitive
 in most applications.




                                                         62
Discovery of the Fast Fourier Transform (FFT)

When in 1965 Cooley and Tukey ¨first¨ announced
discovery of Fast Fourier Transform (FFT) in 1965 it
revolutionised Digital Signal Processing.


They were actually 150 years late – the principle of the
FFT was later discovered in obscure section of one of
Gauss’ (as in Gaussian) own notebooks in 1806.


Their paper is the most cited mathematical paper ever
written.

                                                           63
The Fast Fourier Transform (FFT)

The FFT is a highly elegant and efficient algorithm,
which is still one of the most used algorithms in speech
processing, communications, frequency estimation, etc
– one of the most highly developed area of DSP.

There are many different types and variations.

They are just computational schemes for computing the
DFT – not new transforms!

Here we consider the most basic radix-2 algorithm
which requires N to be a power of 2.
                                                       64
FFT Derivation 1

Lets take the basic DFT equation:

Now, split the summation into two parts: one for even n and one for odd n:

                                                                      Take
                                                                      outside




                                                                          65
FFT Derivation 2

Thus, we have:




                                    66
FFT Derivation 3

Now, take the same equation again where we split the summation
into two parts: one for even n and one for odd n:




 And evaluate at frequencies p+N/2




                                                                 67
FFT Derivation 4

                   simplified




                                68
FFT Derivation 5




              =


              =


                   69
FFT Derivation - Butterfly


Or, in more compact form:




                                  (‘Butterfly’)




                                                  70
FFT Derivation - Redundancy




                              71
FFT Derivation - Computational Load

                                  for particular p




                                             72
Flow Diagram for a N=8 DFT

Input:                       Output:




                                       73
Further decomposition

We obtained

Now
      A0, A1, A2 , A3 - N/2-point DFT

          Ap =αp +WN/2p βp         Ap+N/2 =αp -WN/2p βp

                           - using redundancy just discovered

      B0, B1, B2 , B3 - N/2-point DFT
          Bp =α /p +WN/2p β /p       Bp+N/2 =α /p -WN/2p β /p

                           - using redundancy just discovered
Finally
          WN/2p =e-j2πp/N/2=e-j2π2p/N=WN2p
                                                                74
Flow Diagram for a N=8 DFT - Decomposition



           α0
           α1
           β0
           β1
           α /0
           α /1
           β /0
           β /1                         75
Further decomposition

We obtained

Now
      A0, A1, A2 , A3 - N/2-point DFT

          Ap =αp +WN/2p βp         Ap+N/2 =αp -WN/2p βp

                           - using redundancy just discovered

      B0, B1, B2 , B3 - N/2-point DFT
          Bp =α /p +WN/2p β /p       Bp+N/2 =α /p -WN/2p β /p

                           - using redundancy just discovered
Finally
          WN/2p =e-j2πp/N/2=e-j2π2p/N=WN2p
                                                                76
Flow Diagram for a N=8 DFT – Decomposition 2


         α0
         α1
         β0

         β1
         α /0
         α /1
         β /0
         β /1
                                        77
Bit-reversal




               78
FFT Derivation Summary

•  The FFT derivation relies on redundancy in the calculation
   of the basic DFT
•  A recursive algorithm is derived that repeatedly rearranges
   the problem into two simpler problems of half the size
•  Hence the basic algorithm operates on signals of length a
   power of 2, i.e.

                               (for some integer M)


•  At the bottom of the tree
 we have the classic FFT
`butterfly’ structure


                                                          79
Computational Load of full FFT algorithm

The type of FFT we have considered, where N = 2M, is
called a radix-2 FFT.

It has M = log2 N stages, each using N / 2 butterflies

Complex multiplication requires 4 real multiplications
                                  and 2 real additions

Complex addition/subtraction requires 2 real additions
Thus, butterfly requires 10 real operations.

Hence the radix-2 N-point FFT requires 10( N / 2 )log2 N
real operations compared to about 8N2 real operations
                                                         80
for the DFT.
Computational Load of full FFT algorithm

The radix-2 N-point FFT requires 10( N / 2 )log2 N real
operations compared to about 8N2 real operations for the
DFT.

This is a huge speed-up in typical applications, where N is
128 – 4096:

                         Direct DFT




                                        FFT

                                                         81
Further advantage of the FFT algorithm




Input                                            Output




                                                    82
The Inverse FFT (IFFT)

The IDFT is different from the DFT:




   •  it uses positive power of        instead of negative ones
   •  There is an additional division of each output value by N

Any FFT algorithm can be modified to perform the IDFT by
   •  using positive powers instead of negatives
   •  Multiplying each component of the output by 1 / N

Hence the algorithm is the same but computational load
increases due to N extra multiplications                   83
Many types of FFT
The form of FFT we have described is called “decimation in time”; there
is a form called “decimation in frequency” (but it has no advantages).

The "radix 2" FFT must have length N a power of 2. Slightly more efficient
is the "radix 4" FFT, in which 2-input 2-output butterflies are replaced by 4-
input 4-output units. The transform length must then be a power of 4
(more restrictive).

A completely different type of algorithm, the Winograd Fourier Transform
Algorithm (WFTA), can be used for FFT lengths equal to the product of a
number of mutually prime factors (e.g. 9*7*5 = 315 or 5*16 = 80). The
WFTA uses fewer multipliers, but more adders, than a similar-length FFT.

Efficient algorithms exist for FFTing real (not complex) data at about 60%
the effort of the same-sized complex-data FFT.

The Discrete Cosine and Sine Transforms (DCT and DST) are
                                                                       84
similar real-signal algorithms used in image coding.
Applications of the FFT
There FFT is surely the most widely used signal processing
algorithm of all. It is the basic building block for a large
percentage of algorithms in current usage

Specific examples include:
•  Spectrum analysis – used for analysing and detecting
signals
•  Coding – audio and speech signals are often coded in the
frequency domain using FFT variants (MP3, …)
•  Another recent application is in a modulation scheme called
OFDM, which is used for digital TV broadcasting (DVB) and
digital radio (audio) broadcasting (DAB).
•  Background noise reduction for mobile telephony, speech
and audio signals is often implemented in the frequency
domain using FFTs                                         85
Practical Spectral Analysis

•  Say, we have a symphony recording over 40 minutes
   long – about 2500 seconds
•  Compact-disk recordings are sampled at 44.1 kHz and
   are in stereo, but say we combine both channels into a
   single one by summing them at each time point
•  Are we to compute the DFT of a sequence one hundred
   million samples long?
      a)  unrealistic – speed and storage
             requirements are too high
      b)  useless – we will get a very much noiselike
          wide-band spectrum covering the range from 20
          Hz to 20 kHz at high resolution including all
          notes of all instruments with their harmonics 86
Short-Time Spectral Analysis

•  We actually want a sequence of short DFTs, each
   showing the spectrum of a signal of relatively short
   interval
•  If violin plays note E during this interval – spectrum
   would exhibit energies at not the frequency of note E
   (329 Hz) and characteristic harmonics of the violin
•  If the interval is short enough – we may be able to
   track note-to-note changes
•  If the frequency resolution is high enough – we will be
   able to identify musical instruments playing

Remember: our – ear – excellent spectrum analyser?

                                                        87
Short-Time Spectral Analysis – Computational Load


  •  If we take a time interval of about 93 milliseconds
     (signal of length 4096) the frequency resolution will
     be 11 Hz (adequate)
  •  The number of distinct intervals in the symphony is
     40 x 60/0.093 - about 26,000
  •  We may choose to be conservative and overlap the
     intervals (say 50%)
  •  In total, need to compute 52,000 FFTs of length 4096

                  the entire computation will be done in
                  considerably less time than the music
         itself
    Short-time spectral analysis also use windowing   (more on
    this later)                                                  88
Case Study: Spectral analysis of a Musical Signal


                                                  Sample rate is
                                                  10.025 kHz
                                                  (T=1/10,025 s)




  Extract a short segment
                                     Load this into Matlab as a vector x


                                           Take an FFT, N=512

                                           X=fft(x(1:512));
Looks almost
periodic over short time                                           89
interval
Case Study: Spectral analysis of a Musical Signal, FFT


                                Note Conjugate symmetry
       Symmetric                as data are real:




       Symmetric                      Anti-Symmetric



                                                          90
Case Study: Spectral analysis of a Musical Signal - Frequencies




                                                         91
The Effect of data length N


                                       Low
N=32                                   resolution
                  FFT




N=128              FFT




N=1024            FFT                   High
                                        resolution

                                              92
The DFT approximation to the DTFT


DTFT at frequency             :            DFT:




•  Ideally the DFT should be a `good’ approximation to the DTFT

•  Intuitively the approximation gets better as the number of data
   points N increases

•  This is illustrated in the previous slide – resolution gets better as
   N increases (more, narrower, peaks in spectrum).

•    How to evaluate this analytically?
       View the truncation in the summation as a multiplication by a
       rectangle window function
                                                                      93
Analysis




           94
Pre-multiplying by rectangular window




                                        95
Spectrum of the windowed signal




                                  96
Fourier Transform of the Rectangular Window




                                         97
Rectangular Window Spectrum




N=32                      Central `Lobe’


                                Sidelobes




                                            98
Rectangular Window Spectrum – Lobe Width




N=32

N=16


N=8

N=4



                        Lobe width inversely
                        Proportional to N
                                               99
Now, imagine what happens when the sum of two frequency components is DFT-ed:




The DTFT is given by a train of delta functions:




 Hence the windowed spectrum is just the convolution of the window spectrum with
 the delta functions:




                                                                        100
DFT for the data


Both components
separately




Both components
Together




                                     101
                         ωΤ
Brief summary



•    The rectangular window introduces broadening of any frequency
     components (`smearing’) and sidelobes that may overlap with other
     frequency components (`leakage’).
•    The effect improves as N increases
•    However, the rectangle window has poor properties and better choices
     of wn can lead to better spectral properties (less leakage, in particular)
     – i.e. instead of just truncating the summation, we can pre-multiply by a
     suitable window function wn that has better frequency domain
     properties.
•    More on window design in the filter design section of the course – see
     later




                                                                            102
Summary so far …
•  The Fourier Transform (FT) is a way of transforming
   a continuous signal into the frequency domain

•  The Discrete Time Fourier Transform (DTFT) is a
   Fourier Transform of a sampled signal

•  The Discrete Fourier Transform (DFT) is a discrete
   numerical equivalent using sums instead of integrals
   that can be computed on a digital computer

•  The FFT is a highly elegant and efficient algorithm,
   which is still one of the most used algorithms in
   speech processing, communications, frequency
   estimation, etc – one of the most highly developed
   area of DSP
                                                          103
Thank you!



             104

Más contenido relacionado

La actualidad más candente

Properties of fourier transform
Properties of fourier transformProperties of fourier transform
Properties of fourier transformNisarg Amin
 
Lecture 15 DCT, Walsh and Hadamard Transform
Lecture 15 DCT, Walsh and Hadamard TransformLecture 15 DCT, Walsh and Hadamard Transform
Lecture 15 DCT, Walsh and Hadamard TransformVARUN KUMAR
 
Discrete Time Fourier Transform
Discrete Time Fourier TransformDiscrete Time Fourier Transform
Discrete Time Fourier TransformWaqas Afzal
 
FILTER DESIGN
FILTER DESIGNFILTER DESIGN
FILTER DESIGNnaimish12
 
Chapter 9 computation of the dft
Chapter 9 computation of the dftChapter 9 computation of the dft
Chapter 9 computation of the dftmikeproud
 
Fourier transforms
Fourier transformsFourier transforms
Fourier transformsIffat Anjum
 
Basics of Digital Filters
Basics of Digital FiltersBasics of Digital Filters
Basics of Digital Filtersop205
 
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)Amr E. Mohamed
 
Design of IIR filters
Design of IIR filtersDesign of IIR filters
Design of IIR filtersop205
 
Design of digital filters
Design of digital filtersDesign of digital filters
Design of digital filtersNaila Bibi
 
5. convolution and correlation of discrete time signals
5. convolution and correlation of discrete time signals 5. convolution and correlation of discrete time signals
5. convolution and correlation of discrete time signals MdFazleRabbi18
 
Windowing techniques of fir filter design
Windowing techniques of fir filter designWindowing techniques of fir filter design
Windowing techniques of fir filter designRohan Nagpal
 
DIGITAL SIGNAL PROCESSING
DIGITAL SIGNAL PROCESSINGDIGITAL SIGNAL PROCESSING
DIGITAL SIGNAL PROCESSINGSnehal Hedau
 
Fir filter design (windowing technique)
Fir filter design (windowing technique)Fir filter design (windowing technique)
Fir filter design (windowing technique)Bin Biny Bino
 

La actualidad más candente (20)

Fourier Transform
Fourier TransformFourier Transform
Fourier Transform
 
Properties of fourier transform
Properties of fourier transformProperties of fourier transform
Properties of fourier transform
 
Lecture 15 DCT, Walsh and Hadamard Transform
Lecture 15 DCT, Walsh and Hadamard TransformLecture 15 DCT, Walsh and Hadamard Transform
Lecture 15 DCT, Walsh and Hadamard Transform
 
Properties of dft
Properties of dftProperties of dft
Properties of dft
 
Discrete Time Fourier Transform
Discrete Time Fourier TransformDiscrete Time Fourier Transform
Discrete Time Fourier Transform
 
Fft ppt
Fft pptFft ppt
Fft ppt
 
FILTER BANKS
FILTER BANKSFILTER BANKS
FILTER BANKS
 
FILTER DESIGN
FILTER DESIGNFILTER DESIGN
FILTER DESIGN
 
Chapter 9 computation of the dft
Chapter 9 computation of the dftChapter 9 computation of the dft
Chapter 9 computation of the dft
 
Fourier transforms
Fourier transformsFourier transforms
Fourier transforms
 
Basics of Digital Filters
Basics of Digital FiltersBasics of Digital Filters
Basics of Digital Filters
 
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
 
Design of IIR filters
Design of IIR filtersDesign of IIR filters
Design of IIR filters
 
Design of digital filters
Design of digital filtersDesign of digital filters
Design of digital filters
 
5. convolution and correlation of discrete time signals
5. convolution and correlation of discrete time signals 5. convolution and correlation of discrete time signals
5. convolution and correlation of discrete time signals
 
Windowing techniques of fir filter design
Windowing techniques of fir filter designWindowing techniques of fir filter design
Windowing techniques of fir filter design
 
Dft,fft,windowing
Dft,fft,windowingDft,fft,windowing
Dft,fft,windowing
 
DIGITAL SIGNAL PROCESSING
DIGITAL SIGNAL PROCESSINGDIGITAL SIGNAL PROCESSING
DIGITAL SIGNAL PROCESSING
 
quantization
quantizationquantization
quantization
 
Fir filter design (windowing technique)
Fir filter design (windowing technique)Fir filter design (windowing technique)
Fir filter design (windowing technique)
 

Destacado

Representation of complex number
Representation of complex numberRepresentation of complex number
Representation of complex numberAshraful Tauhid
 
Fourier Series for Continuous Time & Discrete Time Signals
Fourier Series for Continuous Time & Discrete Time SignalsFourier Series for Continuous Time & Discrete Time Signals
Fourier Series for Continuous Time & Discrete Time SignalsJayanshu Gundaniya
 
KMP Pattern Matching algorithm
KMP Pattern Matching algorithmKMP Pattern Matching algorithm
KMP Pattern Matching algorithmKamal Nayan
 
Boyer–Moore string search algorithm
Boyer–Moore string search algorithmBoyer–Moore string search algorithm
Boyer–Moore string search algorithmHamid Shekarforoush
 
Rabin Karp - String Matching Algorithm
Rabin Karp - String Matching AlgorithmRabin Karp - String Matching Algorithm
Rabin Karp - String Matching AlgorithmSyed Owais Ali Chishti
 
Boyer-Moore-Algorithmus
Boyer-Moore-AlgorithmusBoyer-Moore-Algorithmus
Boyer-Moore-AlgorithmusMartin Szugat
 
Rabin karp string matching algorithm
Rabin karp string matching algorithmRabin karp string matching algorithm
Rabin karp string matching algorithmGajanand Sharma
 

Destacado (14)

Properties of Fourier transform
Properties of Fourier transformProperties of Fourier transform
Properties of Fourier transform
 
Fft
FftFft
Fft
 
1. introduction to complex numbers
1. introduction to complex numbers1. introduction to complex numbers
1. introduction to complex numbers
 
Representation of complex number
Representation of complex numberRepresentation of complex number
Representation of complex number
 
Fourier Series for Continuous Time & Discrete Time Signals
Fourier Series for Continuous Time & Discrete Time SignalsFourier Series for Continuous Time & Discrete Time Signals
Fourier Series for Continuous Time & Discrete Time Signals
 
KMP Pattern Matching algorithm
KMP Pattern Matching algorithmKMP Pattern Matching algorithm
KMP Pattern Matching algorithm
 
Boyer–Moore string search algorithm
Boyer–Moore string search algorithmBoyer–Moore string search algorithm
Boyer–Moore string search algorithm
 
Rabin Karp - String Matching Algorithm
Rabin Karp - String Matching AlgorithmRabin Karp - String Matching Algorithm
Rabin Karp - String Matching Algorithm
 
Boyer-Moore-Algorithmus
Boyer-Moore-AlgorithmusBoyer-Moore-Algorithmus
Boyer-Moore-Algorithmus
 
25 String Matching
25 String Matching25 String Matching
25 String Matching
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
 
Boyer more algorithm
Boyer more algorithmBoyer more algorithm
Boyer more algorithm
 
Rabin karp string matching algorithm
Rabin karp string matching algorithmRabin karp string matching algorithm
Rabin karp string matching algorithm
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
 

Similar a Fast Fourier Transform

Fast Fourier Transform (FFT) Algorithms in DSP
Fast Fourier Transform (FFT) Algorithms in DSPFast Fourier Transform (FFT) Algorithms in DSP
Fast Fourier Transform (FFT) Algorithms in DSProykousik2020
 
3 f3 3_fast_ fourier_transform
3 f3 3_fast_ fourier_transform3 f3 3_fast_ fourier_transform
3 f3 3_fast_ fourier_transformWiw Miu
 
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidXavier Davias
 
lec08_computation_of_DFT.pdf
lec08_computation_of_DFT.pdflec08_computation_of_DFT.pdf
lec08_computation_of_DFT.pdfshannlevia123
 
Dsp U Lec10 DFT And FFT
Dsp U   Lec10  DFT And  FFTDsp U   Lec10  DFT And  FFT
Dsp U Lec10 DFT And FFTtaha25
 
Find the compact trigonometric Fourier series for the periodic signal.pdf
Find the compact trigonometric Fourier series for the periodic signal.pdfFind the compact trigonometric Fourier series for the periodic signal.pdf
Find the compact trigonometric Fourier series for the periodic signal.pdfarihantelectronics
 
Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Alexander Litvinenko
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting classgiridaroori
 
Dsp U Lec08 Fir Filter Design
Dsp U   Lec08 Fir Filter DesignDsp U   Lec08 Fir Filter Design
Dsp U Lec08 Fir Filter Designtaha25
 
Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.Leonid Zhukov
 
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.pptFourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.pptMozammelHossain31
 

Similar a Fast Fourier Transform (20)

Fast Fourier Transform (FFT) Algorithms in DSP
Fast Fourier Transform (FFT) Algorithms in DSPFast Fourier Transform (FFT) Algorithms in DSP
Fast Fourier Transform (FFT) Algorithms in DSP
 
Res701 research methodology fft1
Res701 research methodology fft1Res701 research methodology fft1
Res701 research methodology fft1
 
3 f3 3_fast_ fourier_transform
3 f3 3_fast_ fourier_transform3 f3 3_fast_ fourier_transform
3 f3 3_fast_ fourier_transform
 
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
 
Edc-unit-ii.ppt
Edc-unit-ii.pptEdc-unit-ii.ppt
Edc-unit-ii.ppt
 
Fourier transform
Fourier transformFourier transform
Fourier transform
 
lec08_computation_of_DFT.pdf
lec08_computation_of_DFT.pdflec08_computation_of_DFT.pdf
lec08_computation_of_DFT.pdf
 
Dif fft
Dif fftDif fft
Dif fft
 
Dft
DftDft
Dft
 
Dsp U Lec10 DFT And FFT
Dsp U   Lec10  DFT And  FFTDsp U   Lec10  DFT And  FFT
Dsp U Lec10 DFT And FFT
 
Find the compact trigonometric Fourier series for the periodic signal.pdf
Find the compact trigonometric Fourier series for the periodic signal.pdfFind the compact trigonometric Fourier series for the periodic signal.pdf
Find the compact trigonometric Fourier series for the periodic signal.pdf
 
QMC: Transition Workshop - Density Estimation by Randomized Quasi-Monte Carlo...
QMC: Transition Workshop - Density Estimation by Randomized Quasi-Monte Carlo...QMC: Transition Workshop - Density Estimation by Randomized Quasi-Monte Carlo...
QMC: Transition Workshop - Density Estimation by Randomized Quasi-Monte Carlo...
 
36
3636
36
 
Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting class
 
Dsp U Lec08 Fir Filter Design
Dsp U   Lec08 Fir Filter DesignDsp U   Lec08 Fir Filter Design
Dsp U Lec08 Fir Filter Design
 
Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.Numerical Linear Algebra for Data and Link Analysis.
Numerical Linear Algebra for Data and Link Analysis.
 
Lect5 v2
Lect5 v2Lect5 v2
Lect5 v2
 
numerical.ppt
numerical.pptnumerical.ppt
numerical.ppt
 
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.pptFourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
 

Más de op205

3 f6 security
3 f6 security3 f6 security
3 f6 securityop205
 
3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologiesop205
 
3 f6 8_databases
3 f6 8_databases3 f6 8_databases
3 f6 8_databasesop205
 
3 f6 10_testing
3 f6 10_testing3 f6 10_testing
3 f6 10_testingop205
 
3 f6 9a_corba
3 f6 9a_corba3 f6 9a_corba
3 f6 9a_corbaop205
 
3 f6 9a_corba
3 f6 9a_corba3 f6 9a_corba
3 f6 9a_corbaop205
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systemsop205
 
Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design op205
 
Lecture 6 Software Engineering and Design Good Design
Lecture 6 Software Engineering and Design Good Design Lecture 6 Software Engineering and Design Good Design
Lecture 6 Software Engineering and Design Good Design op205
 
Lecture 5 Software Engineering and Design Design Patterns
Lecture 5 Software Engineering and Design Design PatternsLecture 5 Software Engineering and Design Design Patterns
Lecture 5 Software Engineering and Design Design Patternsop205
 
Lecture 4 Software Engineering and Design Brief Introduction to Programming
Lecture 4 Software Engineering and Design Brief Introduction to ProgrammingLecture 4 Software Engineering and Design Brief Introduction to Programming
Lecture 4 Software Engineering and Design Brief Introduction to Programmingop205
 
Lecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UMLLecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UMLop205
 
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...op205
 
Lecture 1 Software Engineering and Design Introduction
Lecture 1 Software Engineering and Design Introduction Lecture 1 Software Engineering and Design Introduction
Lecture 1 Software Engineering and Design Introduction op205
 
More on DFT
More on DFTMore on DFT
More on DFTop205
 
Digital Signal Processing Summary
Digital Signal Processing SummaryDigital Signal Processing Summary
Digital Signal Processing Summaryop205
 
Implementation of Digital Filters
Implementation of Digital FiltersImplementation of Digital Filters
Implementation of Digital Filtersop205
 
Basics of Analogue Filters
Basics of Analogue FiltersBasics of Analogue Filters
Basics of Analogue Filtersop205
 
Design of FIR filters
Design of FIR filtersDesign of FIR filters
Design of FIR filtersop205
 
Introduction to Digital Signal Processing
Introduction to Digital Signal ProcessingIntroduction to Digital Signal Processing
Introduction to Digital Signal Processingop205
 

Más de op205 (20)

3 f6 security
3 f6 security3 f6 security
3 f6 security
 
3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies3 f6 11_softdevmethodologies
3 f6 11_softdevmethodologies
 
3 f6 8_databases
3 f6 8_databases3 f6 8_databases
3 f6 8_databases
 
3 f6 10_testing
3 f6 10_testing3 f6 10_testing
3 f6 10_testing
 
3 f6 9a_corba
3 f6 9a_corba3 f6 9a_corba
3 f6 9a_corba
 
3 f6 9a_corba
3 f6 9a_corba3 f6 9a_corba
3 f6 9a_corba
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systems
 
Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design
 
Lecture 6 Software Engineering and Design Good Design
Lecture 6 Software Engineering and Design Good Design Lecture 6 Software Engineering and Design Good Design
Lecture 6 Software Engineering and Design Good Design
 
Lecture 5 Software Engineering and Design Design Patterns
Lecture 5 Software Engineering and Design Design PatternsLecture 5 Software Engineering and Design Design Patterns
Lecture 5 Software Engineering and Design Design Patterns
 
Lecture 4 Software Engineering and Design Brief Introduction to Programming
Lecture 4 Software Engineering and Design Brief Introduction to ProgrammingLecture 4 Software Engineering and Design Brief Introduction to Programming
Lecture 4 Software Engineering and Design Brief Introduction to Programming
 
Lecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UMLLecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UML
 
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
Lecture 2 Software Engineering and Design Object Oriented Programming, Design...
 
Lecture 1 Software Engineering and Design Introduction
Lecture 1 Software Engineering and Design Introduction Lecture 1 Software Engineering and Design Introduction
Lecture 1 Software Engineering and Design Introduction
 
More on DFT
More on DFTMore on DFT
More on DFT
 
Digital Signal Processing Summary
Digital Signal Processing SummaryDigital Signal Processing Summary
Digital Signal Processing Summary
 
Implementation of Digital Filters
Implementation of Digital FiltersImplementation of Digital Filters
Implementation of Digital Filters
 
Basics of Analogue Filters
Basics of Analogue FiltersBasics of Analogue Filters
Basics of Analogue Filters
 
Design of FIR filters
Design of FIR filtersDesign of FIR filters
Design of FIR filters
 
Introduction to Digital Signal Processing
Introduction to Digital Signal ProcessingIntroduction to Digital Signal Processing
Introduction to Digital Signal Processing
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Fast Fourier Transform

  • 1. Fast Fourier Transform (FFT) Elena Punskaya www-sigproc.eng.cam.ac.uk/~op205 Some material adapted from courses by Prof. Simon Godsill, Dr. Arnaud Doucet, Dr. Malcolm Macleod and Prof. Peter Rayner 55
  • 2. Computations for Evaluating the DFT •  Discrete Fourier Transform and its Inverse can be computed on a digital computer •  What are computational requirements? 56
  • 3. Operation Count How do we evaluate computational complexity? count the number of real multiplications and additions by ¨real¨ we mean either fixed-point or floating point operations depending on the specific hardware subtraction is considered equivalent to additions divisions are counted separately Other operations such as loading from memory, storing in memory, loop counting, indexing, etc are not counted (depends on implementation/architecture) – present overhead 57
  • 4. Operation Count – Modern DSP Modern DSP: a real multiplication and addition is a single machine cycle y=ax+b called MAC (multiply/accumulate) maximum number of multiplications and additions must be counted, not their sum traditional claim ¨multiplication is much more time- consuming than addition¨ becomes obsolete 58
  • 5. Discrete Fourier Transform as a Vector Operation Again, we have a sequence of sampled values x n and transformed values Xp , given by Let us denote: Then: x 59
  • 6. Matrix Interpretation of the DFT This Equation can be rewritten in matrix form: x complex as follows: numbers can be X0 0 0 0 … 0 x0 computed X1 0 1 2 … N-1 x1 off-line = and … … … … … … … stored N-1 2(N-1) (N-1) 2 XN-1 0 … x N-1 N x N matrix 60
  • 7. DFT Evaluation – Operation Count Multiplication of a complex N x N matrix by a complex N-dimensional vector. No attempt to save operations N2 complex multiplications (¨x¨s) N(N-1) complex additions (¨+¨s) First row and first column are 1 however 2 save 2N-1 ¨x¨s, (N-1) complex ¨x¨s & N(N-1) ¨+¨s Complex ¨x¨: 4 real ¨x¨s and 2 real ¨+¨s; complex ¨+¨ : 2 real ¨+¨s 2 Total: 4(N-1) real ¨x¨s & 4(N-0.5)(N-1) real ¨+¨s 61
  • 8. DFT Computational Complexity Thus, for the input sequence of length N the number of arithmetic operations in direct computation of DFT is proportional to N 2 . For N=1000, about a million operations are needed! In 1960s such a number was considered prohibitive in most applications. 62
  • 9. Discovery of the Fast Fourier Transform (FFT) When in 1965 Cooley and Tukey ¨first¨ announced discovery of Fast Fourier Transform (FFT) in 1965 it revolutionised Digital Signal Processing. They were actually 150 years late – the principle of the FFT was later discovered in obscure section of one of Gauss’ (as in Gaussian) own notebooks in 1806. Their paper is the most cited mathematical paper ever written. 63
  • 10. The Fast Fourier Transform (FFT) The FFT is a highly elegant and efficient algorithm, which is still one of the most used algorithms in speech processing, communications, frequency estimation, etc – one of the most highly developed area of DSP. There are many different types and variations. They are just computational schemes for computing the DFT – not new transforms! Here we consider the most basic radix-2 algorithm which requires N to be a power of 2. 64
  • 11. FFT Derivation 1 Lets take the basic DFT equation: Now, split the summation into two parts: one for even n and one for odd n: Take outside 65
  • 12. FFT Derivation 2 Thus, we have: 66
  • 13. FFT Derivation 3 Now, take the same equation again where we split the summation into two parts: one for even n and one for odd n: And evaluate at frequencies p+N/2 67
  • 14. FFT Derivation 4 simplified 68
  • 16. FFT Derivation - Butterfly Or, in more compact form: (‘Butterfly’) 70
  • 17. FFT Derivation - Redundancy 71
  • 18. FFT Derivation - Computational Load for particular p 72
  • 19. Flow Diagram for a N=8 DFT Input: Output: 73
  • 20. Further decomposition We obtained Now A0, A1, A2 , A3 - N/2-point DFT Ap =αp +WN/2p βp Ap+N/2 =αp -WN/2p βp - using redundancy just discovered B0, B1, B2 , B3 - N/2-point DFT Bp =α /p +WN/2p β /p Bp+N/2 =α /p -WN/2p β /p - using redundancy just discovered Finally WN/2p =e-j2πp/N/2=e-j2π2p/N=WN2p 74
  • 21. Flow Diagram for a N=8 DFT - Decomposition α0 α1 β0 β1 α /0 α /1 β /0 β /1 75
  • 22. Further decomposition We obtained Now A0, A1, A2 , A3 - N/2-point DFT Ap =αp +WN/2p βp Ap+N/2 =αp -WN/2p βp - using redundancy just discovered B0, B1, B2 , B3 - N/2-point DFT Bp =α /p +WN/2p β /p Bp+N/2 =α /p -WN/2p β /p - using redundancy just discovered Finally WN/2p =e-j2πp/N/2=e-j2π2p/N=WN2p 76
  • 23. Flow Diagram for a N=8 DFT – Decomposition 2 α0 α1 β0 β1 α /0 α /1 β /0 β /1 77
  • 25. FFT Derivation Summary •  The FFT derivation relies on redundancy in the calculation of the basic DFT •  A recursive algorithm is derived that repeatedly rearranges the problem into two simpler problems of half the size •  Hence the basic algorithm operates on signals of length a power of 2, i.e. (for some integer M) •  At the bottom of the tree we have the classic FFT `butterfly’ structure 79
  • 26. Computational Load of full FFT algorithm The type of FFT we have considered, where N = 2M, is called a radix-2 FFT. It has M = log2 N stages, each using N / 2 butterflies Complex multiplication requires 4 real multiplications and 2 real additions Complex addition/subtraction requires 2 real additions Thus, butterfly requires 10 real operations. Hence the radix-2 N-point FFT requires 10( N / 2 )log2 N real operations compared to about 8N2 real operations 80 for the DFT.
  • 27. Computational Load of full FFT algorithm The radix-2 N-point FFT requires 10( N / 2 )log2 N real operations compared to about 8N2 real operations for the DFT. This is a huge speed-up in typical applications, where N is 128 – 4096: Direct DFT FFT 81
  • 28. Further advantage of the FFT algorithm Input Output 82
  • 29. The Inverse FFT (IFFT) The IDFT is different from the DFT: •  it uses positive power of instead of negative ones •  There is an additional division of each output value by N Any FFT algorithm can be modified to perform the IDFT by •  using positive powers instead of negatives •  Multiplying each component of the output by 1 / N Hence the algorithm is the same but computational load increases due to N extra multiplications 83
  • 30. Many types of FFT The form of FFT we have described is called “decimation in time”; there is a form called “decimation in frequency” (but it has no advantages). The "radix 2" FFT must have length N a power of 2. Slightly more efficient is the "radix 4" FFT, in which 2-input 2-output butterflies are replaced by 4- input 4-output units. The transform length must then be a power of 4 (more restrictive). A completely different type of algorithm, the Winograd Fourier Transform Algorithm (WFTA), can be used for FFT lengths equal to the product of a number of mutually prime factors (e.g. 9*7*5 = 315 or 5*16 = 80). The WFTA uses fewer multipliers, but more adders, than a similar-length FFT. Efficient algorithms exist for FFTing real (not complex) data at about 60% the effort of the same-sized complex-data FFT. The Discrete Cosine and Sine Transforms (DCT and DST) are 84 similar real-signal algorithms used in image coding.
  • 31. Applications of the FFT There FFT is surely the most widely used signal processing algorithm of all. It is the basic building block for a large percentage of algorithms in current usage Specific examples include: •  Spectrum analysis – used for analysing and detecting signals •  Coding – audio and speech signals are often coded in the frequency domain using FFT variants (MP3, …) •  Another recent application is in a modulation scheme called OFDM, which is used for digital TV broadcasting (DVB) and digital radio (audio) broadcasting (DAB). •  Background noise reduction for mobile telephony, speech and audio signals is often implemented in the frequency domain using FFTs 85
  • 32. Practical Spectral Analysis •  Say, we have a symphony recording over 40 minutes long – about 2500 seconds •  Compact-disk recordings are sampled at 44.1 kHz and are in stereo, but say we combine both channels into a single one by summing them at each time point •  Are we to compute the DFT of a sequence one hundred million samples long? a)  unrealistic – speed and storage requirements are too high b)  useless – we will get a very much noiselike wide-band spectrum covering the range from 20 Hz to 20 kHz at high resolution including all notes of all instruments with their harmonics 86
  • 33. Short-Time Spectral Analysis •  We actually want a sequence of short DFTs, each showing the spectrum of a signal of relatively short interval •  If violin plays note E during this interval – spectrum would exhibit energies at not the frequency of note E (329 Hz) and characteristic harmonics of the violin •  If the interval is short enough – we may be able to track note-to-note changes •  If the frequency resolution is high enough – we will be able to identify musical instruments playing Remember: our – ear – excellent spectrum analyser? 87
  • 34. Short-Time Spectral Analysis – Computational Load •  If we take a time interval of about 93 milliseconds (signal of length 4096) the frequency resolution will be 11 Hz (adequate) •  The number of distinct intervals in the symphony is 40 x 60/0.093 - about 26,000 •  We may choose to be conservative and overlap the intervals (say 50%) •  In total, need to compute 52,000 FFTs of length 4096 the entire computation will be done in considerably less time than the music itself Short-time spectral analysis also use windowing (more on this later) 88
  • 35. Case Study: Spectral analysis of a Musical Signal Sample rate is 10.025 kHz (T=1/10,025 s) Extract a short segment Load this into Matlab as a vector x Take an FFT, N=512 X=fft(x(1:512)); Looks almost periodic over short time 89 interval
  • 36. Case Study: Spectral analysis of a Musical Signal, FFT Note Conjugate symmetry Symmetric as data are real: Symmetric Anti-Symmetric 90
  • 37. Case Study: Spectral analysis of a Musical Signal - Frequencies 91
  • 38. The Effect of data length N Low N=32 resolution FFT N=128 FFT N=1024 FFT High resolution 92
  • 39. The DFT approximation to the DTFT DTFT at frequency : DFT: •  Ideally the DFT should be a `good’ approximation to the DTFT •  Intuitively the approximation gets better as the number of data points N increases •  This is illustrated in the previous slide – resolution gets better as N increases (more, narrower, peaks in spectrum). •  How to evaluate this analytically? View the truncation in the summation as a multiplication by a rectangle window function 93
  • 40. Analysis 94
  • 42. Spectrum of the windowed signal 96
  • 43. Fourier Transform of the Rectangular Window 97
  • 44. Rectangular Window Spectrum N=32 Central `Lobe’ Sidelobes 98
  • 45. Rectangular Window Spectrum – Lobe Width N=32 N=16 N=8 N=4 Lobe width inversely Proportional to N 99
  • 46. Now, imagine what happens when the sum of two frequency components is DFT-ed: The DTFT is given by a train of delta functions: Hence the windowed spectrum is just the convolution of the window spectrum with the delta functions: 100
  • 47. DFT for the data Both components separately Both components Together 101 ωΤ
  • 48. Brief summary •  The rectangular window introduces broadening of any frequency components (`smearing’) and sidelobes that may overlap with other frequency components (`leakage’). •  The effect improves as N increases •  However, the rectangle window has poor properties and better choices of wn can lead to better spectral properties (less leakage, in particular) – i.e. instead of just truncating the summation, we can pre-multiply by a suitable window function wn that has better frequency domain properties. •  More on window design in the filter design section of the course – see later 102
  • 49. Summary so far … •  The Fourier Transform (FT) is a way of transforming a continuous signal into the frequency domain •  The Discrete Time Fourier Transform (DTFT) is a Fourier Transform of a sampled signal •  The Discrete Fourier Transform (DFT) is a discrete numerical equivalent using sums instead of integrals that can be computed on a digital computer •  The FFT is a highly elegant and efficient algorithm, which is still one of the most used algorithms in speech processing, communications, frequency estimation, etc – one of the most highly developed area of DSP 103
  • 50. Thank you! 104