Professional Documents
Culture Documents
X[k]W
N
kn
; X[k] =
n=0
N1
x[n]W
N
kn
Carnegie
Mellon
Slide 10 ECE Department
A better way to modify FFT code for
inverse DFTs
Taking the complex conjugate of both sides of the IDFT
equation and multiplying by N:
This suggests that we can modify the FFT algorithm for the
inverse DFT computation by the following:
Complex conjugate the input DFT coefficients
Compute the forward FFT
Complex conjugate the output of the FFT and multiply by
This method has the advantage that the internal FFT code is
undisturbed; it is widely used.
Nx *[n] =
1
N
k=0
N1
X *[k]W
N
kn
; or x[n] =
1
N
k=0
N1
X *[k]W
N
kn
(
(
(
*
1/ N
Carnegie
Mellon
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
Carnegie
Mellon
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 not N/2-point DFTs
X[k] =
n=0
N1
x[n]W
N
nk
X[k] =
n=0
( N / 2)1
x[n]W
N
nk
+
n=N/ 2
N1
x[n]W
N
nk
=
n=0
( N/ 2)1
x[n]W
N
nk
+W
N
( N/ 2)k
n=0
( N / 2)1
x[n +( N/ 2)]W
N
nk
=
n=0
( N/ 2)1
x[n] +(1)
k
x[n +( N/ 2)]
| |
W
N
nk
Carnegie
Mellon
Slide 13 ECE Department
Continuing with decimation in frequency ...
For k even, let
For k odd, let
These expressions are the N/2-point DFTs of
X[k] =
n=0
(N / 2)1
x[n] +(1)
k
x[n +( N/ 2)]
| |
W
N
nk
k = 2r
X[k] =
n=0
(N / 2)1
x[n] +(1)
2r
x[n +( N / 2)]
| |
W
N
n2r
=
n=0
( N / 2)1
x[n] + (1)
2r
(1)x[n + (N / 2)]
| |
W
N
n(2r+1)
=
n=0
( N/ 2)1
x[n]W
N
nk
= x[ p
1
r]W
N
p
1
rk
r=0
q
1
1
+ x[ p
1
r +1]W
N
( p
1
r+1)k
r=0
q
1
1
+ x[ p
1
r + 2]W
N
( p
1
r+2)k
r=0
q
1
1
+...
Carnegie
Mellon
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
r=0
q
1
1
x[ p
1
r +l]W
N
( p
1
r+l)k
=
r=0
q
1
1
x[ p
1
r +l]W
N
p
1
rk
W
N
lk
= W
N
lk
r=0
q
1
1
x[ p
1
r + l]W
q
1
rk
q
1
p
1
Carnegie
Mellon
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 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
X[k] = W
N
lk
l =0
p
1
1
r=0
q
1
1
x[ p
1
r + l]W
q
1
rk
Carnegie
Mellon
Slide 26 ECE Department
An example . The 6-point DIT FFT
P
1
= 2; P
2
= 3; X[k] =
l=0
1
W
6
lk
r=0
2
x[2r + l]W
3
rk
Carnegie
Mellon
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 filter
implementation structures