Download presentation

Presentation is loading. Please wait.

Published byAbbie Rumery Modified over 5 years ago

1
Digital Kommunikationselektronik TNE027 Lecture 5 1 Fourier Transforms Discrete Fourier Transform (DFT) Algorithms Fast Fourier Transform (FFT) Algorithms

2
Digital Kommunikationselektronik TNE027 Lecture 5 2 Discrete Fourier Transform (DFT) Fourier Transform assumes a continuous signal of infinite duration and bandwidth. For practical representation, we must sample in time and frequency, and amplitude must be quantized. Discrete Fourier Transform assumes N samples in time and frequency. DFT: X[k] = Σ x[n] e –j2 kn/N = Σ x[n] W N kn IDFT: x [n] =(1/N) Σ X[k] e j2 kn/N = (1/N) Σ X[k] W N – kn where W N kn = e – j2 kn/N N-1 n=0 N-1 k=0 N-1 k=0

3
Digital Kommunikationselektronik TNE027 Lecture 5 3 Effect of Sampling in Time and Frequency By sampling in time, we get a periodic spectrum with the sampling frequency f s. The approximation of a Fourier transform by a DFT is reasonable only if the frequency components of x(t) are concentrated on a smaller range than the Nyquist frequency f s /2.

4
Digital Kommunikationselektronik TNE027 Lecture 5 4 By sampling in the frequency domain, the time function becomes periodic, i.e., the DFT assumes the time series to be periodic. If an N-sample DFT is applied to a signal that does not complete an integer number of cycles with an N-sample window, a phenomenon called leakage occurs.

5
Digital Kommunikationselektronik TNE027 Lecture 5 5 If possible, we should choose the sampling frequency and the analysis window in such a way that it covers an integer number of periods of x(t), if x(t) is periodic. We can also decrease leakage by using a window function that tapers smoothly to zero on both sides. See Example 6.1: Windowing.

6
Digital Kommunikationselektronik TNE027 Lecture 5 6 Vector/matrix notation and an alternative inversion algorithm X = Wx x = (1/N) W * X x = (1/N) W * X = (1/N) (WX * ) * When computing IDFT, we can compute the DFT of X *, i.e., WX *. The result of IDFT is the conjugate of the result of WX * scaled by (1/N).

7
Digital Kommunikationselektronik TNE027 Lecture 5 7 The Fast Fourier Transform (FFT) Algorithms FFT uses different multidimensional index maps of the input and output sequences. Two-dimensional index transform: n = An 1 + Bn 2 mod N where 0 n 1 N 1 –1, 0 n 2 N 2 –1 and N = N 1 N 2 See equation (6.18) on page 259.

8
Digital Kommunikationselektronik TNE027 Lecture 5 8 The Cooley-Tukey FFT Algorithm The Cooley-Tukey FFT is the most universal of all FFT algorithms, because any factorization of N is possible.

9
Digital Kommunikationselektronik TNE027 Lecture 5 9 Index transform (index mapping) n = N 2 n 1 + n 2 k = k 1 + N 1 k 2 where 0 n 1 N 1 –1, 0 n 2 N 2 –1, 0 k 1 N 1 –1, 0 k 2 N 2 –1 and N = N 1 N 2 X[k] = Σ x[n] e –j2 kn/N = Σ x[n] W N kn W N kn = W N ( k 1 + N 1 k 2 )( N 2 n 1 + n 2 ) = W N N 2 n 1 k 1 + N 1 N 2 n 1 k 2 + n 2 k 1 + N 1 n 2 k 2 N-1 n=0 N-1

10
Digital Kommunikationselektronik TNE027 Lecture 5 10 W N N 2 n 1 k 1 = e –j2 N 2 n 1 k 1 / N = e –j2 n 1 k 1 / N 1 = W N 1 n 1 k 1 W N N 1 N 2 n 1 k 2 = e –j2 N 1 N 2 n 1 k 2 / N = e –j2 n 1 k 2 = 1 W N N 1 n 2 k 2 = e –j2 N 1 n 2 k 2 / N = e –j2 n 2 k 2 / N 2 = W N 2 n 2 k 2 X[k 1,k 2 ] = Σ W N 2 n 2 k 2 (W N n 2 k 1 Σ x[n 1,n 2 ] W N 1 n 1 k 1 ) = Σ W N 2 n 2 k 2 x[n 2,k 1 ] N 2 -1 n 2 =0 n 1 =0 N 1 -1 N 2 -1 n 2 =0

11
Digital Kommunikationselektronik TNE027 Lecture 5 11 Algorithm 6.8: Cooley-Tukey Algorithm An N = N 1 N 2 -point DFT can be done using the following steps: 1)Compute an index transform of the input sequence according to: n = N 2 n 1 + n 2 2)Compute the N 2 DFTs of length N 1. 3)Apply the twiddle factors W N n 2 k 1 to the output of the first transform stage. 4)Compute the N 1 DFTs of length N 2. 5)Compute an index transform of the output sequence according to: k = k 1 + N 1 k 2 See Example 6.9: Cooley-Tukey FFT for N = 12.

12
Digital Kommunikationselektronik TNE027 Lecture 5 12 Radix-r Cooley-Tukey Algorithm Radix-r algorithms, N = r s, S is the number of stages. The most popular algorithms are of basis r = 2 or r =4, because the necessary basic DFTs can be implemented without any multiplications.

13
Digital Kommunikationselektronik TNE027 Lecture 5 13 2-point DFT, Butterfly X(0) = x(0)e 0 + x(1)e 0 = x(0) + x(1) X(1) = x(0)e 0 + x(1)e –j2 / 2 = x(0) x(1) 11 x(0) x(1) X(0) X(1)

14
Digital Kommunikationselektronik TNE027 Lecture 5 14 4-point FFT n = 2n 1 + n 2 k = k 1 + 2k 2 11 11 11 11 W0W0 W2W2 x(0) x(2) x(1) x(3) X(0) X(2) X(1) X(3)

15
Digital Kommunikationselektronik TNE027 Lecture 5 15 11 11 11 11 W0W0 W2W2 x(0) x(1) x(2) x(3) X(0) X(2) X(1) X(3) Group Rearrange the positions of x(1) and x(2)

16
Digital Kommunikationselektronik TNE027 Lecture 5 16 Decimation-in-frequency (DIF) FFT algorithm See Fig. 6.12 and Table 6.3. The Decimation-in-frequency algorithm starts in the frequency domain to split the original DFT into shorter DFTs. The input values typically occur in natural order, while the index of the frequency values is in bit- reversed order. The decimation-in-time (DIT) FFT algorithm can be found in the book “Fundamentals of Signals and Systems using the WEB and MATLAB”, pages 339-342.

17
Digital Kommunikationselektronik TNE027 Lecture 5 17 Number of complex multiplications and add/subtract operations For r = 2 and S stages (S = log 2 N), the number of complex twiddle factor multiplications is (S – 1) N/2 = ((log 2 N) – 1) N/2. The number of complex add/subtract operations is S N = (log 2 N) N. Compare with the direct DFT computation: –Complex multiplications: N N –Complex add/subtract operations: N (N – 1)

18
Digital Kommunikationselektronik TNE027 Lecture 5 18 Index transform for radix-2 Cooley-Tukey FFT using bit reversing –Reversing of the bit sequence of the index. Example: For the 8-point FFT in Fig. 6.12, the output at the second position (index 001 2 ) of the output is X[4] (index: 100 2 ) after bit reversing. Index transform for radix-4 Cooley-Tukey FFT using digit reversing –Build “digits” of two bitsand then reverse the order of these digits. See Fig. 6.13.

19
Digital Kommunikationselektronik TNE027 Lecture 5 19 Radix-2 Cooley-Tukey Algorithm Implementation Butterfly processor Complex multiplication –Complex multiplication with the twiddle factor is often implemented with 4 real multiplications and two add/subtract operations. –A more efficient complex multiplier is implemented with 3 real multiplications and 3 add/subtract operations. See Algorithm 6.10.

Similar presentations

© 2020 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google