Chapter 9 Computation of the Discrete Fourier Transform Biomedical Signal processing Chapter 9 Computation of the Discrete Fourier Transform Zhongguo Liu Biomedical Engineering School of Control Science and Engineering, Shandong University 2019/1/11 1 Zhongguo Liu_Biomedical Engineering_Shandong Univ.
Chapter 9 Computation of the Discrete Fourier Transform 9.0 Introduction 9.1 Efficient Computation of Discrete Fourier Transform 9.2 The Goertzel Algorithm 9.3 decimation-in-time FFT Algorithms 9.4 decimation-in-frequency FFT Algorithms 9.5 practical considerations(software realization)
9.0 Introduction Implement a convolution of two sequences by the following procedure: 1. Compute the N-point DFT and of the two sequence and 2. Compute for 3. Compute as the inverse DFT of Why not convolve the two sequences directly? There are efficient algorithms called Fast Fourier Transform (FFT) that can be orders of magnitude more efficient than others.
9.1 Efficient Computation of Discrete Fourier Transform The DFT pair was given as Baseline for computational complexity: Each DFT coefficient requires N complex multiplications; N-1 complex additions All N DFT coefficients require N2 complex multiplications; N(N-1) complex additions 4 4
9.1 Efficient Computation of Discrete Fourier Transform Complexity in terms of real operations 4N2 real multiplications 2N(N-1) real additions (approximate 2N2) 5 5
9.1 Efficient Computation of Discrete Fourier Transform Most fast methods are based on Periodicity properties Periodicity in n and k; Conjugate symmetry 6 6
9.2 The Goertzel Algorithm Makes use of the periodicity Multiply DFT equation with this factor Define using x[n]=0 for n<0 and n>N-1 X[k] can be viewed as the output of a filter to the input x[n] Impulse response of filter: X[k] is the output of the filter at time n=N 7 7
9.2 The Goertzel Algorithm Goertzel Filter: Computational complexity 4N real multiplications; 4N real additions Slightly less efficient than the direct method But it avoids computation and storage of 8 8
Second Order Goertzel Filter Multiply both numerator and denominator 9 9
Second Order Goertzel Filter Complexity for one DFT coefficient ( x(n) is complex sequence). Poles: 2N real multiplications and 4N real additions Zeros: Need to be implement only once: 4 real multiplications and 4 real additions Complexity for all DFT coefficients Each pole is used for two DFT coefficients Approximately N2 real multiplications and 2N2 real additions 10 10
Second Order Goertzel Filter If do not need to evaluate all N DFT coefficients Goertzel Algorithm is more efficient than FFT if less than M DFT coefficients are needed,M < log2N 11 11
9.3 decimation-in-time FFT Algorithms Makes use of both periodicity and symmetry Consider special case of N an integer power of 2 Separate x[n] into two sequence of length N/2 Even indexed samples in the first sequence Odd indexed samples in the other sequence 12 12
9.3 decimation-in-time FFT Algorithms Substitute variables n=2r for n even and n=2r+1 for odd G[k] and H[k] are the N/2-point DFT’s of each subsequence 13 13
9.3 decimation-in-time FFT Algorithms G[k] and H[k] are the N/2-point DFT’s of each subsequence 14 14
8-point DFT using decimation-in-time Figure 9.3
computational complexity Two N/2-point DFTs 2(N/2)2 complex multiplications 2(N/2)2 complex additions Combining the DFT outputs N complex multiplications N complex additions Total complexity N2/2+N complex multiplications N2/2+N complex additions More efficient than direct DFT 16 16
9.3 decimation-in-time FFT Algorithms Repeat same process , Divide N/2-point DFTs into Two N/4-point DFTs Combine outputs N=8 17 17
9.3 decimation-in-time FFT Algorithms After two steps of decimation in time Repeat until we’re left with two-point DFT’s 18 18
9.3 decimation-in-time FFT Algorithms flow graph for 8-point decimation in time Complexity: Nlog2N complex multiplications and additions 19 19
Butterfly Computation Flow graph constitutes of butterflies We can implement each butterfly with one multiplication Final complexity for decimation-in-time FFT (N/2)log2N complex multiplications and additions 20 20
9.3 decimation-in-time FFT Algorithms Final flow graph for 8-point decimation in time Complexity: (Nlog2N)/2 complex multiplications and Nlog2N additions 21 21
9.3.1 In-Place Computation同址运算 Decimation-in-time flow graphs require two sets of registers Input and output for each stage 22 22
9.3.1 In-Place Computation同址运算 Note the arrangement of the input indices Bit reversed indexing(码位倒置) 23 23
cause of bit-reversed order binary coding for position: 000 001 010 011 100 101 110 111 must padding 0 to Figure 9.13
9.3.2 Alternative forms Bit reversed indexing(码位倒置) Note the arrangement of the input indices Bit reversed indexing(码位倒置) 25 25
9.3.2 Alternative forms Figure 9.14 strongpoint:in-place computations shortcoming:non-sequential access of data Figure 9.14
Figure 9.15 shortcoming:not in-place computation non-sequential access of data
Figure 9.16 shortcoming:not in-place computation strongpoint: sequential access of data
9.3 decimation-in-time FFT Algorithms Substitute variables n=2r for n even and n=2r+1 for odd Review G[k] and H[k] are the N/2-point DFT’s of each subsequence 29 29
9.3.1 In-Place Computation同址运算 Bit reversed indexing(码位倒置) 30 30
9.3.2 Alternative forms Figure 9.14 strongpoint:in-place computations shortcoming:non-sequential access of data Figure 9.14
9.4 Decimation-In-Frequency FFT Algorithm The DFT equation Split the DFT equation into even and odd frequency indexes Substitute variables 32 32
9.4 Decimation-In-Frequency FFT Algorithm The DFT equation 33 33
decimation-in-frequency decomposition of an N-point DFT to N/2-point DFT 34 34
decimation-in-frequency decomposition of an 8-point DFT to four 2-point DFT 35 35
2-point DFT 36 36
Final flow graph for 8-point DFT decimation in frequency 41 41
9.4.1 In-Place Computation同址运算 DIF FFT DIT FFT 42 42
9.4.1 In-Place Computation同址运算 DIF FFT DIT FFT 43 43
9.4.2 Alternative forms decimation-in-frequecy Butterfly Computation decimation-in-time Butterfly Computation 44 44
The DIF FFT is the transpose of the DIT FFT 45 45
9.4.2 Alternative forms DIF FFT DIT FFT
9.4.2 Alternative forms DIF FFT DIT FFT
Figure 9.24 erratum
9.4.2 Alternative forms DIF FFT DIT FFT
Zhongguo Liu_Biomedical Engineering_Shandong Univ. Chapter 9 HW 9.1, 9.2, 9.3, Zhongguo Liu_Biomedical Engineering_Shandong Univ. 50 2019/1/11 返 回 上一页 下一页