fft structures
TRANSCRIPT
-
7/30/2019 Fft Structures
1/27
18-791 Lecture #18FAST FOURIER TRANSFORM INVERSES
AND ALTERNATE IMPLEMENTATIONS
Department of Electrical and Computer Engineering
Carnegie Mellon University
Pittsburgh, Pennsylvania 15213
Phone: +1 (412) 268-2535
FAX: +1 (412) [email protected]
http://www.ece.cmu.edu/~rms
October 27, 2005
Richard M. Stern
-
7/30/2019 Fft Structures
2/27
CarnegieMellon Slide 2 ECE Department
Introduction
In our lecture last Tuesday we described and discussed thebasic decimation-in-time Cooley-Tuckey fast Fourier transformalgorithm for DFT sizes that are integer powers of 2 (radix 2)
Today we will discuss some variations and extensions of the
basic FFT algorithm: Alternate forms of the FFT structure
Computation of the inverse DFT
The decimation-in-frequency FFT algorithm
FFT structures for DFT sizes that are not an integer power of 2
-
7/30/2019 Fft Structures
3/27
CarnegieMellon Slide 3 ECE Department
Alternate FFT structures
We developed the basic decimation-in-time (DIT) FFT structure
in the last lecture, but other forms are possible simply byrearranging the branches of the signal flowgraph
Consider the rearranged signal flow diagrams on the followingpanels ..
-
7/30/2019 Fft Structures
4/27
CarnegieMellon Slide 4 ECE Department
Alternate DIT FFT structures (continued)
DIT structure with input bit-reversed, output natural (OSB 9.10):
-
7/30/2019 Fft Structures
5/27
CarnegieMellon Slide 5 ECE Department
Alternate DIT FFT structures (continued)
DIT structure with input natural, output bit-reversed (OSB 9.14):
-
7/30/2019 Fft Structures
6/27
CarnegieMellon Slide 6 ECE Department
Alternate DIT FFT structures (continued)
DIT structure with both input and output natural (OSB 9.15):
-
7/30/2019 Fft Structures
7/27
CarnegieMellon Slide 7 ECE Department
Alternate DIT FFT structures (continued)
DIT structure with same structure for each stage (OSB 9.16):
-
7/30/2019 Fft Structures
8/27
CarnegieMellon Slide 8 ECE Department
Comments on alternate FFT structures
A method to avoid bit-reversal in filtering operations is:
Compute forward transform using natural input, bit-reversed output (as
in OSB 9.10)
Multiply DFT coefficients of input and filter response (both in bit-reversed order)
Compute inverse transform of product using bit-reversed input and
natural output (as in OSB 9/14)
Latter two topologies (as in OSB 9.15 and 9.16) are now rarelyused
-
7/30/2019 Fft Structures
9/27
CarnegieMellon Slide 9 ECE Department
Using FFTs for inverse DFTs
Weve always been talking about forward DFTs in our
discussion about FFTs . what about the inverse FFT?
One way to modify FFT algorithm for the inverse DFTcomputation is:
Replace by wherever it appears
Multiply final output by
This method has the disadvantage that it requires modifyingthe internal code in the FFT subroutine
WNk
WNk
1/ N
x[n] 1N
k 0
N1
X[k]WNkn; X[k] n 0
N1
x[n]WNkn
-
7/30/2019 Fft Structures
10/27
CarnegieMellon Slide 10 ECE Department
A better way to modify FFT code forinverse DFTs
Taking the complex conjugate of both sides of the IDFTequation and multiplying by N:
This suggests that we can modify the FFT algorithm for theinverse DFT computation by the following:
Complex conjugate the input DFT coefficients
Compute the forwardFFT
Complex conjugate the output of the FFT and multiply by
This method has the advantage that the internal FFT code isundisturbed; it is widely used.
Nx *[n] 1Nk0
N1 X*[k]WN
kn; or x[n] 1Nk0
N1 X*[k]WN
kn
*
1/ N
-
7/30/2019 Fft Structures
11/27
CarnegieMellon Slide 11 ECE Department
The decimation-in-frequency (DIF)FFT algorithm
Introduction: Decimation in frequency is an alternate way of
developing the FFT algorithm
It is different from decimation in time in its development,
although it leads to a very similar structure
-
7/30/2019 Fft Structures
12/27
CarnegieMellon Slide 12 ECE Department
The decimation in frequency FFT (continued)
Consider the original DFT equation .
Separate the first half and the second half of time samples:
Note that these are notN/2-point DFTs
X[k] n0
N1 x[n]WN
nk
X[k] n0
(N/ 2)1 x[n]WN
nknN/ 2
N1 x[n]WN
nk
n0
(N/ 2)1 x[n]WN
nk WN(N/ 2)k
n0
(N/ 2)1 x[n (N/2)]WN
nk
n0
(N/ 2)1
x[n] (1)kx[n (N/2)] WNnk
-
7/30/2019 Fft Structures
13/27
CarnegieMellon Slide 13 ECE Department
Continuing with decimation in frequency ...
For k even, let
For kodd, let
These expressions are the N/2-point DFTs of
X[k] n0
(N/ 2)1 x[n] (1)kx[n (N/2)] WNnk
k 2r
X[k] n0
(N/ 2)1
x[n] (1)2rx[n (N/2)]
WNn2r
n0
(N/ 2)1
x[n] x[n (N/2)] WN/2nr
k 2r1
[k] n0
(N/ 2)1
x[n] (1)2r(1)x[n (N/ 2)] WNn(2r1)
n0
(N/ 2)1 x[n] x[n (N/2)] WN
nWN/ 2nr
x[n] x[n (N/ 2)] and [x[n] x[n (N/2)]]WNn
-
7/30/2019 Fft Structures
14/27
CarnegieMellon Slide 14 ECE Department
These equations describe the followingstructure:
-
7/30/2019 Fft Structures
15/27
CarnegieMellon Slide 15 ECE Department
Continuing by decomposing the odd and evenoutputpoints we obtain
-
7/30/2019 Fft Structures
16/27
CarnegieMellon Slide 16 ECE Department
and replacing the N/4-point DFTs bybutterflys we obtain
-
7/30/2019 Fft Structures
17/27
CarnegieMellon Slide 17 ECE Department
The DIF FFT is the transposeof the DIT FFT
To obtain flowgraph transposes:
Reverse direction of flowgraph arrows
Interchange input(s) and output(s)
DIT butterfly: DIF butterfly:
Comment:
We will revisit transposed forms again in our discussion of filter
implementation
-
7/30/2019 Fft Structures
18/27
CarnegieMellon Slide 18 ECE Department
The DIF FFT is the transposeof the DIT FFT
Comparing DIT and DIF structures:
DIT FFT structure: DIF FFT structure:
Alternate forms for DIF FFTs are similar to those of DIT FFTs
-
7/30/2019 Fft Structures
19/27
CarnegieMellon Slide 19 ECE Department
Alternate DIF FFT structures
DIF structure with input natural, output bit-reversed (OSB 9.20):
-
7/30/2019 Fft Structures
20/27
CarnegieMellon Slide 20 ECE Department
Alternate DIF FFT structures (continued)
DIF structure with input bit-reversed, output natural (OSB 9.22):
-
7/30/2019 Fft Structures
21/27
CarnegieMellon Slide 21 ECE Department
Alternate DIF FFT structures (continued)
DIF structure with both input and output natural (OSB 9.23):
-
7/30/2019 Fft Structures
22/27
CarnegieMellon Slide 22 ECE Department
Alternate DIF FFT structures (continued)
DIF structure with same structure for each stage (OSB 9.24):
-
7/30/2019 Fft Structures
23/27
CarnegieMellon Slide 23 ECE Department
FFT structures for other DFT sizes
Can we do anything when the DFT size Nis not an integerpower of 2 (the non-radix 2 case)?
Yes! Consider a value of Nthat is not a power of 2, but thatstill is highly factorable
Then let
Let N p1p2p3p4...p; q1 N/ p1, q2 N/ p1p2 ,etc.
X[k] n0
N1 x[n]WN
nk
x[p1r]WNp1rk
r0
q11
x[p1r1]WN(p1r1)k
r0
q11
x[p1r 2]WN(p1r2)k
r0
q11
...
-
7/30/2019 Fft Structures
24/27
CarnegieMellon Slide 24 ECE Department
Non-radix 2 FFTs (continued)
An arbitrary term of the sum on the previous panel is
This is, of course, a DFT of size of points spaced by
r0
q11
x[p1r l]WN(p1rl)k
r0
q11
x[p1r l]WNp1rkWNlk WNlk r0
q11
x[p1r l]Wq1rk
q1 p1
-
7/30/2019 Fft Structures
25/27
CarnegieMellon Slide 25 ECE Department
Non-radix 2 FFTs (continued)
In general, for the first decomposition we use
Comments:
This procedure can be repeated for subsequent factors ofN
The amount of computational savings depends on the extent to which N
is composite, able to be factored into small integers
Generally the smallest factors possible used, with the exception of some
use of radix-4 and radix-8 FFTs
[k] WNlk
l0
p11
r0
q11
x[p1r l]Wq1rk
-
7/30/2019 Fft Structures
26/27
CarnegieMellon Slide 26 ECE Department
An example . The 6-point DIT FFT
P1 = 2; P2 = 3; X[k] l0
1
W6lkr0
2
x[2r l]W3rk
-
7/30/2019 Fft Structures
27/27
CarnegieMellon Slide 27 ECE Department
Summary
This morning we considered a number of alternative ways of
computing the FFT:
Alternate implementation structures
The decimation-in-frequency structure
FFTs for sizes that are non-integer powers of 2
Using standard FFT structures for inverse FFTs
Starting on Tuesday we will begin to discuss digital filterimplementation structures