0% found this document useful (0 votes)
15 views26 pages

FFTstructures

Uploaded by

yynnn554
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views26 pages

FFTstructures

Uploaded by

yynnn554
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

18-491/691 Lecture #16

FAST FOURIER TRANSFORM


ALTERNATE IMPLEMENTATIONS

Richard M. Stern

Department of Electrical and Computer Engineering


Carnegie Mellon University
Pittsburgh, Pennsylvania 15213
Phone: +1 (412) 268-2535
FAX: +1 (412) 268-3890
[email protected]
http://www.ece.cmu.edu/~rms

March 24, 2021


Introduction

n In our lecture last Monday we described and discussed the


basic decimation-in-time Cooley-Tuckey fast Fourier transform
algorithm for DFT sizes that are integer powers of 2 (radix 2)
n Today we will discuss some variations and extensions of the
basic FFT algorithm:
– Computation of the inverse FFT
– One further trivial efficiency
– Alternate forms of the FFT structure
– The decimation-in-frequency FFT algorithm
– FFT structures for DFT sizes that are not an integer power of 2

Carnegie
Mellon Slide 2 ECE Department
Alternate FFT structures

n We developed the basic decimation-in-time (DIT) FFT structure


in the last lecture, but other forms are possible simply by
rearranging the branches of the signal flowgraph

n Some issues to consider:


– Natural or bit-reversed input and output?
– In-place computation?

Carnegie
Mellon Slide 3 ECE Department
Alternate DIT FFT structures (continued)

n DIT structure with input bit-reversed, output natural (OSYP


9.11):

Carnegie
Mellon Slide 4 ECE Department
Alternate DIT FFT structures (continued)

n The original DIT n Rearranged structure


structure (OSYP 9.11): (OSYP 9.15):

Carnegie
Mellon Slide 5 ECE Department
Alternate DIT FFT structures (continued)

n DIT structure with input natural, output bit-reversed (OSYP


9.15):

Carnegie
Mellon Slide 6 ECE Department
Alternate DIT FFT structures (continued)

n DIT structure with both input and output in natural order (OSYP
9.16):

Carnegie
Mellon Slide 7 ECE Department
Alternate DIT FFT structures (continued)

n DIT structure with same structure for each stage (OSYP 9.17):

Carnegie
Mellon Slide 8 ECE Department
Comments on alternate FFT structures

n 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)

n Latter two topologies (as in OSYP 9.16 and 9.17) are now rarely
used

Carnegie
Mellon Slide 9 ECE Department
The decimation-in-frequency (DIF)
FFT algorithm

n Introduction: Decimation in frequency is an alternate way of


developing the FFT algorithm
n It is different from decimation in time in its development,
although it leads to a very similar structure

Carnegie
Mellon Slide 10 ECE Department
The decimation in frequency FFT (continued)

n Consider the original DFT equation ….


N −1
X[k] = ∑ x[n]WNnk
n=0

n Separate the first half and the second half of time samples:
( N / 2)−1 N −1
X[k] = ∑ x[n]WNnk + ∑ x[n]WNnk
n=0 n= N / 2
( N / 2)−1 ( N / 2)−1
= ∑ x[n]WNnk + WN( N / 2)k ∑ x[n + ( N / 2)]WNnk
n=0 n=0
( N / 2)−1
= ∑
n=0
[ x[n] + (−1)k x[n + ( N / 2)]]WNnk
n Note that these are not N/2-point DFTs
Carnegie
Mellon Slide 11 ECE Department
Continuing with decimation in frequency ...

(N / 2)−1
X[k] = ∑
n=0
[ ]
x[n] + (−1) k x[n + ( N / 2)] WNnk

n For k even, let k = 2r


(N / 2)−1 ( N / 2)−1
X[k] = ∑
n=0
[ x[n] + (−1) 2r x[n + ( N / 2)] WNn2r =] n=0
∑ [ x[n] + x[n + ( N / 2)]]WNnr/ 2
n For k odd, let k = 2r + 1
( N / 2)−1
X[k] = ∑
n=0
[ ]
x[n] + (−1)2r (−1)x[n + (N / 2)] WNn(2r+1)

( N / 2)−1
= ∑ [ x[n] − x[n + (N / 2)]]WNn WNnr/ 2
n=0
n These expressions are the N/2-point DFTs of
x[n] + x[n + ( N / 2)] and [x[n] − x[n + ( N / 2)]]WNn
Carnegie
Mellon Slide 12 ECE Department
These equations describe the following
structure:

Carnegie
Mellon Slide 13 ECE Department
Continuing by decomposing the odd and even
output points we obtain …

Carnegie
Mellon Slide 14 ECE Department
… and replacing the N/4-point DFTs by
butterflys we obtain

Carnegie
Mellon Slide 15 ECE Department
The DIF FFT is the transpose of the DIT FFT

n To obtain flowgraph transposes:


– Reverse direction of flowgraph arrows
– Interchange input(s) and output(s)

n DIT butterfly: DIF butterfly:

n Comment:
– We will revisit transposed forms again in our discussion of filter
implementation
Carnegie
Mellon Slide 16 ECE Department
The DIF FFT is the transpose of the DIT FFT

n Comparing DIT and DIF structures:


DIT FFT structure: DIF FFT structure:

n Alternate forms for DIF FFTs are similar to those of DIT FFTs
Carnegie
Mellon Slide 17 ECE Department
Alternate DIF FFT structures

n DIF structure with input natural, output bit-reversed (OSYP


9.22):

Carnegie
Mellon Slide 18 ECE Department
Alternate DIF FFT structures (continued)

n DIF structure with input bit-reversed, output natural (OSB 9.22):

Carnegie
Mellon Slide 19 ECE Department
Alternate DIF FFT structures (continued)

n DIF structure with both input and output natural (OSYP 9.24):

Carnegie
Mellon Slide 20 ECE Department
Alternate DIF FFT structures (continued)

n DIF structure with same structure for each stage (OSYP 9.25):

Carnegie
Mellon Slide 21 ECE Department
FFT structures for other DFT sizes

n Can we do anything when the DFT size N is not an integer


power of 2 (the non-radix 2 case)?
n Yes! Consider a value of N that is not a power of 2, but that
still is highly factorable …
Let N = p1 p2 p3 p4 ... pν ; q1 = N / p1, q2 = N / p1 p2 , etc.
n Then let
N −1
X[k] = ∑ x[n]WNnk
n=0
q1 −1 q1 −1 q1 −1
p1rk ( p1r+1)k ( p r +2)k
= ∑ x[ p1r]WN + ∑ x[ p1r + 1]WN + ∑ x[ p1r + 2]WN 1 + ...
r=0 r=0 r=0

Carnegie
Mellon Slide 22 ECE Department
Non-radix 2 FFTs (continued)

n An arbitrary term of the sum on the previous panel is


q1 −1
∑ x[ p1r + l]WN( p1r+l)k
r=0
q1 −1 q1 −1
p rk
= ∑ x[ p1r + l]WN1 WNlk = WNlk ∑ x[ p1r + l]Wqrk
1
r=0 r=0

n This is, of course, a DFT of size q1 of points spaced by p1

Carnegie
Mellon Slide 23 ECE Department
Non-radix 2 FFTs (continued)

n In general, for the first decomposition we use


p1 −1 q1 −1
X[k] = ∑ WNlk ∑ x[ p1r + l]Wqrk
1
l =0 r=0

n Comments:
– This procedure can be repeated for subsequent factors of N
– 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

Carnegie
Mellon Slide 24 ECE Department
An example …. The 6-point DIT FFT
1 2
n P1 = 2; P2 = 3; X[k] = ∑ W6lk ∑ x[2r + l]W3rk
l=0 r =0

Carnegie
Mellon Slide 25 ECE Department
Summary

n 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

n Starting on Monday we will begin to discuss digital filter


implementation structures

Carnegie
Mellon Slide 26 ECE Department

You might also like