Unit 7 Fourier, DFT, and FFT 1
Time and Frequency Representation The most common representation of signals and waveforms is in the time domain Most signal analysis techniques only work in the frequency domain This can be a difficult concept when first introduced to it The frequency domain is just another way of representing a signal First consider a simple sinusoid The time-amplitude axes on which the sinusoid is shown define the time plane. If an extra axis is added to represent frequency then the sinusoid would illustrated as …… 2
The frequency-amplitude axes define the frequency plane in the same way as the time-amplitude axes defines the time plane The frequency-plane is orthogonal to the time-plane and intersect with it a line on the amplitude axis. The actual sinusoid can be considered to be existing some distance along the frequency domain 3
Sampling and Aliasing Review 4 Before any DSP algorithm can be performed, the signal must be in digital form. That is we need to first sample the signal. Sampling is the acquisition of a continuous (for example analogue) signal at discrete time intervals and is a fundamental concept in real time signal processing. The sampling process has its problems. One is called aliasing. Consider two signals one having a frequency of 2Hz and another at a frequency of 18Hz. Lets sample these signals at a rate of 16 samples per second. Aliasing.m
Fourier Series Any periodic function f(t), with period T, may be represented by an infinite series of the form: where the coefficients are calculated from: 5
Provides a means of expanding a function into its major sine / cosine or complex exponential components These individual terms represent various frequency components which make up the original waveform Example: Square wave 6
Complex Fourier Series Using Eulers formula to derive the complex expressions for, and substituting these into the Fourier series it can be shown that the complex form of the Fourier series is: where 7
Fourier Transform The Fourier Series has to be modified when the waveform is not periodic See notes: The Fourier Transform DFTExpanded.m DFT.m 8
The DFT is given by: Example: Find the DFT of the sequence {1, 0, 0, 1} Solution…….. 9 Discrete Fourier Transform
Example: Find the DFT of the sequence {1, 0, 0, 1} Solution: { 2, 1+j, 0, 1-j } 10
Computational Complexity of the DFT Consider an 8-point DFT Letting Each term consists of a multiplication of an exponential term by another term which is either real or complex. Each of the product terms are added together. There are also eight harmonic components (k = 0, …,7) Therefore for an 8-point DFT there are 8 2 = 64 multiplications and 8 x 7 additions. For an N-point DFT - N 2 multiplications and N(N-1) additions 11
Computational Complexity of the DFT For an N-point DFT - N 2 multiplications and N(N-1) additions Therefore for a 1024-point DFT (N=1024) Multiplications: N 2 = Additions: N(N-1) = Clearly some means of reducing these numbers is desirable 12
Computational Complexity of the DFT where X(k)x(0)x(1)x(2)x(3)x(4)x(5)x(6)x(7) π/4π/23π/4π5π/43π/27π/4 20π/2π3π/22π5π/23π7π/2 303π/43π/29π/43π15π/49π/221π/4 40π2π3π4π5π6π7π 505π/45π/215π/45π25π/415π/235π/4 603π/23π9π/26π15π/29π21π/2 707π/47π/221π/47π35π/421π/249π/4 13
The Fast Fourier Transform - FFT Firstly lets make some notation changes: Now lets examine some relationships involving Proof 14
To exploit the computational redundancy expressed by: we will divide the data sequence into two equal sequences, one even and one odd: using which we can represent as: This process can be repeated for and so on…….. 15
The decimation can continue……. …….until the number of data elements in the DFT becomes two i.e. 16
Lets consider the structure of an 8-point FFT Remember we break down each stage into even and odd data sequences 17
Stage 1 – N/2 2-point DFTs Butterfly 1 – multiplication 2 – additions (pseudo code) This process can be repeated for……… 18
Stage 1 – N/2 2-point DFTsButterflies 19
Stage 2 – N/4 4-point DFTs 20
Stage 2 – N/4 4-point DFTs 21
Stage 3 – 1 off 8-point DFTs 22
Butterflies for an 8-point FFT 23
Example: Evaluate the DFT of the sequence {1, 0, 0, 1} using the decimation in time FFT. This is a four point DFT with: and The re-ordered sequence is Utilising the top left hand corner of the earlier butterfly diagram: 24
Example: Evaluate the DFT of the sequence {1, 0, 0, 1} using the decimation in time FFT. The DFT of the sequence {1, 0, 0, 1} is {2, 1+j, 0, 1-j} 25
By inspecting the butterflies for the 8-point FFT it can be seen that to execute the FFT the program must re-order the input data to perform the butterfly computations butterfly butterfly butterfly butterfly Re-ordering the input data At first it may seem that there is no way to program the re-ordering of the input data The trick is to think binary…….. FFT Algorithmic Development 26
Sequence re-ordering by bit reversal Some example bit-reversal algorithms…….BitReversalAlgorithms.c 27 Original data sequence xBinary addressesBit reversed addressesRe-ordered data sequence x
Computational Savings 28