N is even, so we can complete
Xk
X
k
by separating
xn
x
n
into two subsequences each
of length
N2
N
2
.
xn⇒{N2 if n=evenN2 if n=odd
x
n
N
2
n
even
N
2
n
odd
∀k,0≤k≤N−1:Xk=∑n=0N−1xn
WN
kn
k
0
k
N
1
X
k
n
0
N
1
x
n
WN
k
n
Xk=∑n=2rxn
WN
kn+∑n=2r+1xn
WN
kn
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−1x2r
WN
2kr+∑r=0N2−1x2r+1
WN
(2r+1)k=∑r=0N2−1x2r
WN
2kr+
WN
k∑r=0N2−1x2r+1
WN
2kr
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
where
WN
2=e−(i2πN2)=e−(i2πNN2)=
W
N
2
WN
2
2
N
2
2
N
N
2
W
N
2
,
So
Xk=∑r=0N2−1x2r
W
N
2
kr+
WN
k∑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+
WN
kHk
k
0
k
N
1
X
k
G
k
WN
k
H
k
Decomposition of an N-point DFT as a sum of 2
N2
N
2
-point DFTs.
Why would we want to do this? Because it is more
efficient!
Cost to compute an N-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.
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 compare 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:
N2N4N8…N2m−1N2m=1
N
2
N
4
N
8
…
N
2
m
1
N
2
m
1
where
m=log2N
m
2
N
times.
Computational cost:
N
N-pt DFT two
N2
N
2
-pt DFTs. The cost is
N2
N
2
2N22+N
2
N
2
2
N
. So replacing each
N2
N
2
-pt DFT with two
N4
N
4
-pt DFTs will reduce cost to
2(2N42+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 N,
cost≃Nlog2N
cost
N
2
N
or "
ONlog2N
O
N
2
N
", since
Nlog2N≫N
≫
N
2
N
N
for large N.