Professional Documents
Culture Documents
Lecture 8
Vladimir Stojanovi
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
Definition
{Xk} is periodic
From a physical point of view, both are repeated with period N Requires O(N2) operations
6.973 Communication System Design
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
1805 Gauss
1903 Runge
1965 Cooley-Tukey
1984 Duhamel-Vetterli (split-radix FFT)
1960 Goods mapping
1976 Rader prime length FFT 1976 Winograds Fourier Transform (WFTA) 1977 Kolba and Parks (Prime Factor Algorithm PFA)
6.973 Communication System Design
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
Generalizations
All main classes of FFTs can be cast in the above form No permutations (i.e. twiddle factors) All the subsets have same number of elements m=N/r
If not, then inner sum is one stap of radix-r FFT If r=3, subsets with N/2, N/4 and N/4 elements
Split-radix algorithm
subproblems are trivial (only sum and differences) Mapping requires twiddle factors (large number of multiplies)
Subproblems are DFTs with coprime lengths (costly) Mapping trivial (no arithmetic operations)
6.973 Communication System Design
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
Reintroduced by Cooley-Tukey 65
Start from general divide and conquer Keep periodicity compatible with periodicity of the input sequence Use decimation
1. N1 DFTs of length N2
3. N2 DFTs of length N1
Step 1: Evaluate N1 DFTs of length N2 Step 2: N multiplications with twiddle factors Step 3: Evaluate N2 DFTs of length N1 Vector xi mapped to matrix xn1,n2 (N1xN2) Compute N1 DFTs of length N2 on each row Point-to-point multiply with twiddle factors Compute N2 DFTs of length N1 on the columns
x0 x1............... x0 x3 x6 x9 x12 x1 x4 x7 x10 x13 x2 x5 x8 x11 x14 x12 x9 x6 x3 x0 x4 x1 x5 x2 x2 x8 x7 x13 x10 x14 x11 x0 x4 x1 x5 DFT-5 DFT-5 x3 x6 x9 x12 DFT-3 DFT-3 DFT-3 x4 x9 x14 x13 x12 x11 x10 x13 x14
jm
DFT-5
DFT-3 DFT-3 x0 x5
x0 x1 x2 x3 x4
10
N1=2, N2=2n-1 (divides input sequence into even and odd samples decimation in time DIT)
Butterfly
(sum or difference followed or
preceeded by a twiddle factor multiply)
Xm and XN/2+m outputs of N/2 2-pt DFTs on outputs of 2, N/2-pt DFTs weighted with twiddle factors
6.973 Communication System Design
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
11
X0 X4 X1 X5 X2 X6 X3 X7
Input samples for inner DFTs in subsequent locations Results in bit-reversed input, in-order output DIT
{x2i}
DFT N=2
DFT N=2
{x2i+1}
DFT N=2
Perform in-place computation Output in bit-reversed order (X3 in position six (011->110))
w3 8
DFT of 2
N1=N/2, N2=2
DFT N=4
X0 X2 X4 X6
X2 X3 X4 X5 X6 X7
{x2k}
w1 8 DFT w2
8
X2k1+1 =
N / 2-1
X1 X3 X5 X7
N=4
{x2k+1}
DFT of N/2
13
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
Duality DIT<->DIF
X0 X4 X1 X5 X2 X6 X3 X7
X0 X1 X2 X3 X4 X5 X6 X7
DFT N=2
{x2i}
DFT N=2
DFT N=2 w1
8
{ }
x2k DFT w2
8
DFT N=2
DFT N=2
N=4
{x2i+1}
DFT N=2
DFT N=2 w3
8
{ }
x2k+1
w3 8
DFT of Multiplication Division by twiddle into even and N / 2 factors odd numbered sequences
DFT of 2
Which one is DIT (DIF)? How can we get one from another?
6.973 Communication System Design
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
14
Complex multiply 3 real mult + 3 real add If i is multiple of N/4, no arithmetic operation required (why?)
4 butterflies (one general, 3 special cases)
15
Radix-4
x0
DFT 2 DFT 8
X0 X14 X1
DFT 8
4 DFTs of length N/4 3N/4 twiddle multiplies N/4 DFTs of length 4 No multiplication Only 16 real additions
x8
16
Mixed-radix
x0
DFT 2 DFT 8
X0 X14 X1
DFT 8
R2
Split-radix
x8
R4
Can achieve lowest number of adds and multiplies for length 2n inputs
S-R
17
X0 X1 X2
DFT N=4
{x2k}
w1
8
X3 X4 X5 X6 X7
nk
X2k +1 = 1
N / 2-1 n1=0
DFT w2
8
X1 X3 X5 X7
N=4
X4k +1 = 1
N / 4-1 n1=0
{x2k+1}
DFT of N/2
Even samples X2k in DIF should be computed separately from other samples
With same algorithm (recursively) as the original sequence Radix-4 is more efficient than radix-2 Higher radices are inefficient
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
19
N-long DFT computed from DFTs with lengths that are factors of N (allows the inner sum to be a DFT)
Starting from any xi form subset with compatible periodicity (the periodicity of the subset divides the periodicity of the set)
20
Goods mapping
Turns original transform into a set of small DFTs with coprime lengths
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
equivalent to
Good's mapping
0 5
9 12 4 7
8 11 14 2
10 13 1
This mapping is one-to-one if N1 and N2 are coprime All congruences modulo N1 obtained
21
If we know the residue of some number k modulo two coprime numbers N1 and N2 k N k N It is possible to reconstruct k N N Let k N = k1 k N = k2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Then k N N = N1t1k2 + N 2t2 k1
N
2
1 2
1 2
t1 N1
N2
= 1 and t2 N 2
N1
= 1
Good's mapping
0 5 3 6 9 12 4 7 8 11 14 2 10 13 1
CRT mapping
6 12 3
10 1 7 13 4 5 11 2 8 14
. are. Figure by MIT OpenCourseW
Reversing N1 and N2
6.973 22
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
Impact on DFT
= N1t1k2 + N 2t2 k1
Xk = xi WNik , k = 0,..., N - 1,
i=0 N1 - 1 N2 - 1
N-1
n1 = 0 n2 = 0
xn1N2 + n2N1 W =W
(N2t2)N 1 N1
(n1N2 + N1n2)(N1t1k2+N2t2k1) N
x3 x0
x6
x9
x12 DFT 5
X9 X4 X14
N2t2 N1
= WN1
n k n k
x5 x10
N1 - 1 N2 - 1
DFT 3 X5
X2 X11
X8
n1 = 0 n 2 = 0
n1 = 0 n2 = 0
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
Cyclic correlation
(a convolution with a reversed sequence)
24
Example
25
X = F1 x F2T.
Good's mapping
x12
DFT 5
CRT mapping
X9 X4 X14
x9 x3 x0 x5 x10 x6
DFT 3
X2 X5 X11
X8
26
x10 x0 x3 x6 x9 x12
input additions
N=3
x5
X5 X11 X2 X8 X4 X14
X9
input additions point wise output additions output additions multiplication N=5 N=5 N=3
B1xB2 only involves additions D diagonal (so point multiply) Winograd transform has many more additions than twiddle FFTs
6.973 Communication System Design
Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006. MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].
27