Derivation
NN is
even, so we can complete
Xk
X
k
by separating
xn
x
n
into
two subsequences each
of length
N2
N
2
.
xn→N2ifn=evenN2ifn=odd
x
n
N
2
n
even
N
2
n
odd
∀k,0≤k≤N-1:Xk=∑n=0N-1xnWNkn
k
0
k
N
1
X
k
n
0
N
1
x
n
WN
k
n
Xk=∑xnWNkn+∑xnWNkn
X
k
n
2
r
x
n
WN
k
n
n
2
r
1
x
n
WN
k
n
where
0≤r≤N2-1
0
r
N
2
1
. So
Xk=∑r=0N2-1x2rWN2kr+∑r=0N2-1x2r+1WN2r+1k=∑r=0N2-1x2rWN2kr+WNk∑r=0N2-1x2r+1WN2kr
X
k
r
0
N
2
1
x
2
r
WN
2
k
r
r
0
N
2
1
x
2
r
1
WN
2
r
1
k
r
0
N
2
1
x
2
r
WN
2
k
r
WN
k
r
0
N
2
1
x
2
r
1
WN
2
k
r
(1)
where
WN2=ⅇ-ⅈ2πN2=ⅇ-ⅈ2πN2=
W
N
2
WN
2
2
N
2
2
N
2
W
N
2
. So
Xk=∑r=0N2-1x2r
W
N
2
kr+WNk∑r=0N2-1x2r+1
W
N
2
kr
X
k
r
0
N
2
1
x
2
r
W
N
2
k
r
WN
k
r
0
N
2
1
x
2
r
1
W
N
2
k
r
where
∑r=0N2-1x2r
W
N
2
kr
r
0
N
2
1
x
2
r
W
N
2
k
r
is
N2
N
2
-point DFT of even samples (
Gk
G
k
) and
∑r=0N2-1x2r+1
W
N
2
kr
r
0
N
2
1
x
2
r
1
W
N
2
k
r
is
N2
N
2
-point DFT of odd samples (
Hk
H
k
).
∀k,0≤k≤N-1:Xk=Gk+WNkHk
k
0
k
N
1
X
k
G
k
WN
k
H
k
Decomposition of an
NN-point
DFT as a sum of 2
N2
N
2
-point DFTs.
Why would we want to do this?
Because it is more
efficient!
Recall: Cost to compute an
NN-point DFT is approximately
N2
N
2
complex mults and adds.
But decomposition into 2
N2
N
2
-point DFTs + combination requires only
N22+N22+N=N22+N
N
2
2
N
2
2
N
N
2
2
N
where the first part is the number of complex mults and adds for
N2
N
2
-point DFT,
Gk
G
k
. The second part is the number of complex mults
and adds for
N2
N
2
-point DFT,
Hk
H
k
. The third part is the number of complex mults and
adds for combination. And the total is
N22+N
N
2
2
N
complex mults and adds.
Example 1: Savings
For
N=1000
N
1000
,
N2=106
N
2
10
6
N22+N=1062+1000
N
2
2
N
10
6
2
1000
Because 1000 is small compared to 500,000,
N22+N≈1062
N
2
2
N
10
6
2
So why stop here?! Keep decomposing. Break each of the
N2
N
2
-point DFTs into two
N4
N
4
-point DFTs, etc., ....
We can keep decomposing:
N21=N2N4N8…N2m-1N2m=1
N
2
1
N
2
N
4
N
8
…
N
2
m
1
N
2
m
1
where
m=log2N= times
m
2
N
times
Computational cost:
N
N-pt DFT two
N2
N
2
-pt DFTs. The cost is
N2→2N22+N
N
2
2
N
2
2
N
. So replacing each
N2
N
2
-pt DFT with two
N4
N
4
-pt DFTs will reduce cost to
22N42+N2+N=4N42+2N=N222+2N=N22p+pN
2
2
N
4
2
N
2
N
4
N
4
2
2
N
N
2
2
2
2
N
N
2
2
p
p
N
As we keep going
p=34…m
p
3
4
…
m
, where
m=log2N
m
2
N
. We get the cost
N22log2N+Nlog2N=N2N+Nlog2N=N+Nlog2N
N
2
2
2
N
N
2
N
N
2
N
N
2
N
N
N
2
N
N+Nlog2N
N
N
2
N
is the total number of complex adds and mults.
For large NN,
cost≈Nlog2N
cost
N
2
N
or "
ONlog2N
O
N
2
N
", since
Nlog2N≫N
≫
N
2
N
N
for large NN.