Anda di halaman 1dari 68

Sreenidhi Institute of Science and Technology

Digital Signal Processing


UNIT-III
FAST FOURIER TRANSFORMS

0 20-May-19
Contents

1. Computation of DFT

2. Radix-2 Decimation In Time Fast Fourier Transform


(DIT FFT) algorithm implementation

3. Radix-2 Decimation In Frequency Fast Fourier


Transform (DIF FFT) algorithm implementation

4. Inverse FFT

1 20-May-19
Digital Signal Processing

Computation of the Discrete Fourier


Transform (DFT)

2 20-May-19
Discrete Fourier Transform
• The DFT pair was given as
N 1 N 1
1
X  k    x[n]e  j  2 / N  kn
x[n] 
N
 X k  e
k 0
j  2 / N  kn

n 0

• Baseline for computational complexity:


– Each DFT coefficient requires
• N complex multiplications
• N-1 complex additions
– All N DFT coefficients require
• N2 complex multiplications
• N(N-1) complex additions
• Complexity in terms of real operations
• 4N2 real multiplications
• N[4(N-1) +2]=N(4N-2) real additions

3 20-May-19
Discrete Fourier Transform

• Most fast methods are based on symmetry properties


– Conjugate symmetry : k  N2 k  N2
W N W N  WNk
– Periodicity in n and k : WNk  N  WNk  N  WNk
k  N2  j 2N ( k  N2 )  j 2N k  j  j 2N k
W N e e e  e  W k
N
k  N2  j 2N ( k  N2 )  j 2N k j  j 2N k
W N e e e  e  WNk
kN  j 2N ( k  N )  j 2N k  j 2  j 2N k
W N e e e e W k
N
k N  j 2N ( k  N )  j 2N k j 2  j 2N k
W N e e e e W k
N
4 20-May-19
Discrete Fourier Transform

• Most fast methods are based on symmetry properties


– Conjugate symmetry : n  N2 n  N2
W N W N  WNn
– Periodicity in n and k : WNn  N  WNn  N  WNn
n  N2  j 2N ( n  N2 )  j 2N n  j  j 2N n
W N e e e  e  W n
N
n  N2  j 2N ( n  N2 )  j 2N n j  j 2N n
W N e e e  e  WNn
n N  j 2N ( n  N )  j 2N n  j 2  j 2N n
W N e e e e W n
N
n N  j 2N ( n  N )  j 2N n j 2  j 2N n
W N e e e e W n
N
5 20-May-19
Digital Signal Processing

Radix-2, Decimation In Time Fast


Fourier Transform (DIT FFT)
Algorithm implementation

6 20-May-19
Radix-2 Decimation In Time FFT Algorithm implementation

• Makes use of both symmetry and periodicity


• Consider special case of N an integer power of 2 ( N=2n =Radix-2)
• Separate x[n] into two sequence of length N/2
– Even indexed samples in the first sequence, xe[n]
– Odd indexed samples in the other sequence, xo[n]

i.e. xe [0]  x[0]; xe [1]  x[2]; xe [2]  x[4]; xe [3]  x[6]...

xo [0]  x[1]; xo [1]  x[3]; xo [2]  x[5]; xo [3]  x[7]...


that is
xe [n]  x[2n] 
 for n  0,1, 2,..., 2  1  (1)
N
xo [n]  x[2n  1]

7 20-May-19
Radix-2 Decimation In Time FFT Algorithm implementation

• Substitute variables n=2r for n even and n=2r+1 for n odd


N 1 N 1 N 1
X  k    x[n]e  j  2 / N  kn
  x[n]e  j  2 / N  kn
  x[n]e  j  2 / N  kn

n 0 n even n odd

• G[k] and H[k] are the N/2-point DFT’s of each subsequence


N / 2 1 N / 2 1
X k    x[2r ]WN2 rk   x[2r  1]WN 2 r 1k
r 0 r 0
N / 2 1 N / 2 1
 
r 0
x[2r ]W rk
N /2 W k
N 
r 0
x[2r  1]WNrk/ 2

 G  k   WNk H  k 

8 20-May-19
Radix-2 Decimation In Time FFT Algorithm implementation

• G[k] and H[k] are the N/2-point DFT’s of each subsequence


X [k ]  G[k ]  WNk H [k ] for k  0,1,2,..., N2  1
X [0]  G[0]  WN0 H [0]
X [1]  G[1]  WN1 H [1]
X [2]  G[2]  WN2 H [2]
X [3]  G[3]  WN3 H [3]
X [4]  G[4]  WN4 H [4]  G[0]  WN4 H [0]
X [5]  G[5]  WN5 H [5]  G[1]  WN5 H [1]
X [6]  G[6]  WN6 H [6]  G[2]  WN6 H [2]
X [7]  G[7]  WN7 H [7]  G[3]  WN7 H [3]
9 20-May-19
Radix-2 Decimation In Time FFT Algorithm implementation

• 8-point DFT example using decimation-in-time


• Two N/2-point DFTs
– 2(N/2)2 complex multiplications
– 2(N/2)2 complex additions
• Combining the DFT outputs
– N complex multiplications
– N complex additions
• Total complexity
– N2/2+N complex multiplications
– N2/2+N complex additions
– More efficient than direct DFT
• Repeat same process
– Divide N/2-point DFTs into
– Two N/4-point DFTs
– Combine outputs

10 20-May-19
Radix-2 DIT FFT Algorithm implementation Cont’d

• After two steps of decimation in time W Nk  WN2 k  W24Nk


2

• Repeat until we’re left with two-point DFT’s

11 20-May-19
Radix-2 DIT FFT Algorithm implementation Cont’d
• Final flow graph for 8-point decimation in time

• Complexity:
– Nlog2N complex multiplications and additions

12 20-May-19
Butterfly Computation
• Flow graph constitutes of butterflies

• We can implement each butterfly with one multiplication

• Final complexity for decimation-in-time FFT


– (N/2)log2N complex multiplications and additions

13 20-May-19
Radix-2 Decimation-In-Time FFT Algorithm

• DIT structure with input in bit-reversed order and output


in natural order

14 20-May-19
Digital Signal Processing

In place computation and


Bit Reversal approach

15 20-May-19
In-Place Computation and Bit reversal approach
• Decimation-in-time flow graphs require two sets of registers
– Input and output for each stage
• Note the arrangement of the input indices
– Bit reversed indexing
xi 0  xi 000  x000  x0
– Because no.of inputs N=8
xi 1  xi 001  x100  x4
– Use three bits(b2b1b0)
xi 2  xi 010  x010  x2
xi 3  xi 011  x110  x6
xi 4  xi 100  x001  x1
xi 5  xi 101  x101  x5
xi 6  xi 110  x011  x3
xi 7  xi 111  x111  x7

16 20-May-19
Digital Signal Processing

Computation comparison of
DFT and FFT

17 20-May-19
Computations Comparison

No of Complex Improvement
No of
Multiplications Factor

DFT FFT
Stages Points N N2/(N/2)log2N
(N2) ((N/2)log2N)
2 4 16 4 4

4 16 256 32 8

6 64 4096 192 21.33

8 256 65536 1024 64

10 1024 1,048,576 5120 204.8

18 20-May-19
Digital Signal Processing

Radix-2 DIT FFT


Examples
19 20-May-19
Example.1
Find DFT of the sequence x[n]={1,2,3,4,4,3,2,1}
using DIT FFT Algorithm
SOLUTION: Select N=23=8
The twiddle factors associated with the flow
graph are
 j  28 0
W e
8
0
 e0  1
 j  28 1  j  4 
W e
8
1
e  0.707  j 0.707
 j  28 2  j 2 
W e
8
2
e j
 j  28 3  j  34 
W e
8
3
e  0.707  j 0.707

20 20-May-19
Example.1 Cont..d
Given sequence x[n]={1,2,3,4,4,3,2,1}
x[0]=1, x[1]=2, x[2]=3, x[3]=4, x[4]=4, x[5]=3, x[6]=2 and x[7]=1

Input Stage-1 Stage-2 Stage-3 O/p


x[0]=1 1+(1)4=5 5+(1)5=10 10+(1)10=20 X[0]

x[4]=4 1-(1)4=-3 -3+(-j)1=-3-j (-3-j)+(0.707-j0.707)(-1-3j)= -5.828-j2.414 X[1]

x[2]=3 3+(1)2=5 5-(1)5=0 0+(-j)0=0 X[2]

x[6]=2 3-(1)2=1 -3-(-j)1=-3+j (-3+j)+(-0.707-j0.707)(-1+3j)= -0172-j0.414 X[3]

x[1]=2 2+(1)3=5 5+(1)5=10 10-(1)10=0 X[4]

x[5]=3 2-(1)3=-1 -1+(-j)3=-1-3j (-3-j)-(0.707-j0.707)(-1-3j)= -0172+j0.414 X[5]

x[3]=4 4+(1)1=5 5-(1)5=0 0-(-j)0=0 X[6]

x[7]=1 4-(1)1=3 -1-(-j)3=-1+3j (-3+j)-(-0.707-j0.707)(-1+3j)= -5.828+j2.414 X[7]

21 20-May-19
Example.1 Cont..d

Input sequence x[n]={1,2,3,4,4,3,2,1}

DFT of the sequence


X[k]={20, -5.828-j2.414, 0, -0172-j0.414,
0, -0172+j0.414, 0, -5.828+j2.414}

22 20-May-19
Practice example.1
Find DFT of the sequence x[n]={1,1,1,1,1,1,1,1}
using DIT FFT Algorithm
SOLUTION: Select N=23=8
The twiddle factors associated with the flow
graph are
 j  28 0
W e
8
0
 e0  1
 j  28 1  j  4 
W e
8
1
e  0.707  j 0.707
 j  28 2  j 2 
W e
8
2
e j
 j  28 3  j  34 
W e
8
3
e  0.707  j 0.707

23 20-May-19
Practice example.1 Cont..d

DFT of the sequence


X[k]={8, 0, 0, 0, 0, 0, 0, 0}

Input Stage-1 Stage-2 Stage-3 O/p


x[0]=1 1+(1)1=2 2+(1)2=4 4+(1)4=8 X[0]

x[4]=1 1-(1)1=0 -0+(-j)0=0 (0)+(0.707-j0.707)(0)= 0 X[1]

x[2]=1 1+(1)1=2 2-(1)2=0 0+(-j)0=0 X[2]

x[6]=1 1-(1)1=0 -0-(-j)0=0 (0)+(-0.707-j0.707)0)= 0 X[3]

x[1]=1 1+(1)1=2 2+(1)2=4 4-(1)4=0 X[4]

x[5]=1 1-(1)1=0 -0+(-j)0=0 (0)-(0.707-j0.707)(0)= 0 X[5]

x[3]=1 1+(1)1=2 2-(1)2=0 0-(-j)0=0 X[6]

x[7]=1 1-(1)1=0 -0-(-j)0=0 (0)-(-0.707-j0.707)(0)= 0 X[7]

24 20-May-19
Digital Signal Processing

Radix-2 Decimation In Frequency


Fast Fourier Transform (DIF FFT)
algorithm implementation

25 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm implementation

• 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

26 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm implementation

• The DFT equation N 1


X  k    x[n]WNnk
n 0

• Split the DFT equation into even and odd frequency indexes
N 1 N / 2 1 N 1
X  2r    x[n]W n2r
N   x[n]W n 2r
N   x[n]WNn 2 r
n 0 n 0 n N / 2

• Substitute variables to get using WN( n N


2
)2r
 WNn 2 rWNNr  WNnr
2

N / 2 1 N / 2 1 N / 2 1
X  2r    x[n]W n 2r
N   x[n  N / 2]WN  n  N / 22 r
   x[n]  x[n  N / 2]W nr
N /2
n 0 n 0 n 0

• Similarly for odd-numbered frequencies


N / 2 1
X  2r  1    x[n]  x[n  N / 2]W n 2 r 1
N /2
n 0 Alternatively
27 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm implementation

• Consider the original N 1


X [k ]   x[n]WNnk
DFT equation …. n 0

• Separate the first half and the second half of time


samples:
( N / 2 ) 1 N 1
X [k ]   x[n]W
n 0
nk
N   x[n]W
n N / 2
nk
N

( N / 2 ) 1 ( N / 2 ) 1
  x[n]W
n 0
nk
N   x[n  N
n 0
2]WN( n  N 2) k

( N / 2 ) 1 ( N / 2 ) 1
  x[n]W
n 0
nk
N W ( N / 2) k
N  x[n  ( N / 2)]W
n 0
nk
N

 x[n]  (1) 
( N / 2 ) 1
 k
x[n  ( N / 2)] WNnk
n 0

• Note that these are not N/2-point DFTs

28 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm implementation

 x[n]  (1) 
( N / 2 ) 1
X [k ]  k
x[n  ( N / 2)] WNnk
n 0

• For k even, let k  2r


 x[n]  (1) 
( N / 2 ) 1 ( N / 2 ) 1
X [2r ] 
n 0
2r
x[n  ( N / 2)] W n2r
N   x[n]  x[n  ( N / 2)]W
n 0
nr
N /2

• For k odd, let k  2r 1

 x[n]  (1) 
( N / 2 ) 1
X [ 2r  1]  2r
x[ n  ( N / 2)] WNn ( 2 r 1)
n 0
( N / 2 ) 1
  x[n]  x[n  ( N / 2)]W
n 0
n
N WNnr/ 2

• These expressions are the N/2-point DFTs of


g[n]  x[n]  x[n  ( N / 2)] and
h[n]WNn  x[n]  x[n  ( N / 2)]WNn

29 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm implementation

30 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm implementation
Continuing by decomposing the odd and even output points we obtain

31 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm

… and replacing the N/4-point DFTs by butterflies we obtain

32 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm implementation

• Final flow graph for 8-point decimation in frequency

33 20-May-19
In-Place Computation and Bit reversal approach
• Decimation-in-frequency flow graphs require two sets of
registers
– Input and output for each stage
• Note the arrangement of the output indices
– Bit reversed indexing X o 0  X i 000  X 000  X 0
– Because no.of inputs N=8 X o 1  X o 001  X 100  X 4
– Use three bits(b2b1b0) X o 2  X o 010  X 010  X 2
X o 3  X o 011  X 110  X 6
X o 4  X o 100  X 001  X 1
X o 5  X o 101  X 101  X 5
X o 6  X o 110  X 011  X 3
X o 7  X o 111  X 111  X 7
34 20-May-19
Digital Signal Processing

Radix-2 DIF FFT


Examples
35 20-May-19
Example.2
Find DFT of the sequence x[n]={1,2,3,4,4,3,2,1}
using DIF FFT Algorithm
SOLUTION: Select N=23=8
The twiddle factors associated with the flow
graph are
 j  28 0
W e
8
0
 e0  1
 j  28 1  j  4 
W e
8
1
e  0.707  j 0.707
 j  28 2  j 2 
W e
8
2
e j
 j  28 3  j  34 
W e
8
3
e  0.707  j 0.707

36 20-May-19
Example.2Cont..d

Input Stage-1 Stage-2 Stage-3 O/p


x[0]=1 1+4=5 5+5=10 10+10=20 X[0]
x[1]=2 2+3=5 5+5=10 (10-10)1= 0 X[4]
x[2]=3 3+2=5 (5-5)1=0 0+0=0 X[2]
x[3]=4 4+1=5 (5-5)(-j)=0 (0-0)1= 0 X[6]
x[4]=4 (1-4)1=-3 -3+(-j)=-3-j -3-j-2.828-j1.414= X[1]
-5.828-j2.414
x[5]=3 (2-3)(0.707-j0.707)= - -0.707+j0.707-(2.121+j2.121)1= (-3-j+2.828+j1.414)1= X[5]
0.707+j0.707 -2.828-j1.414 -0.172+j0.414
x[6]=2 (3-2)(-j)=-j (-3-(-j))1=-3+j -3+j+2.828-j1.414= X[3]
-0.172-j0.414
x[7]=1 (4-1)(-0.707-j0.707)= - (-0.707+j0.707+(2.121+j2.121))(-j)= (-3+j-2.828+j1.414)1= X[7]
2.121-j2.121 2.828-j1.414 -5.828+j2.414

37 20-May-19
Example.2 Cont..d

Input sequence x[n]={1,2,3,4,4,3,2,1}

DFT of the sequence


X[k]={20, -5.828-j2.414, 0, -0172-j0.414,
0, -0172+j0.414, 0, -5.828+j2.414}

38 20-May-19
Practice example.2
Find DFT of the sequence x[n]={1,1,1,1,1,1,1,1}
using DIF FFT Algorithm
SOLUTION: Select N=23=8
The twiddle factors associated with the flow
graph are
 j  28 0
W e
8
0
 e0  1
 j  28 1  j  4 
W e
8
1
e  0.707  j 0.707
 j  28 2  j 2 
W e
8
2
e j
 j  28 3  j  34 
W e
8
3
e  0.707  j 0.707

39 20-May-19
Example.2Cont..d

DFT of the sequence


X[k]={8, 0, 0, 0, 0, 0, 0, 0}

Input Stage-1 Stage-2 Stage-3 O/p


x[0]=1 1+1=2 2+2=4 4+4=8 X[0]
x[1]=1 1+1=2 2+2=4 (4-4)1= 0 X[4]
x[2]=1 1+1=2 (2-2)1=0 0+0=0 X[2]
x[3]=1 1+1=2 (2-2)(-j)=0 (0-0)1= 0 X[6]
x[4]=1 (1-1)1=0 0+0=0 0+0=0 X[1]
x[5]=1 (1-1)(0.707-j0.707)= 0 0+0=0 (0-0)1= 0 X[5]
x[6]=1 (1-1)(-j)=0 (0-0)1=0 0+0=0 X[3]
x[7]=1 (1-1)(-0.707-j0.707)= 0 (0-0)(-j)= 0 (0-0)1= 0 X[7]

40 20-May-19
Digital Signal Processing

Different ways of giving Radix-2


problems Input data

41 20-May-19
Example.3
Compute the 8-point DFT of the following sequence using
DIT and DIF FFT algorithms 1 for 0  n  7
x[n]  
0 otherwise

Example.4
Compute the 8-point DFT of the following sequence using
DIT and DIF FFT algorithms 1 for  3  n  3
x[n] 
0 otherwise

Example.5
Compute the 8-point DFT of the following sequence using
DIT and DIF FFT algorithms 1 for 0  n  6
x[n]  
0 otherwise

42 20-May-19
Digital Signal Processing

Inverse DFT implementation using


FFT algorithm

43 20-May-19
Inverse FFT: Using FFTs for inverse DFTs
• We’ve always been talking about forward DFTs
in our discussion about FFTs …. what about the
inverse FFT?
N1 N1
1
x[n]  N  X[k]WNkn ; X[k]   x[n]WNkn
k 0 n0
• One way to modify FFT algorithm for the inverse
DFT computation is:
– Replace W k
k wherever it appears
N by WN

– Multiply final output by 1/ N

• This method has the disadvantage that it


requires modifying the internal code in the FFT
subroutine
44 20-May-19
Inverse FFT:A better way to modify FFT code for IDFT
• Taking the complex conjugate of both sides of
the IDFT equation:
*
N 1
N 1
kn 
x * [n]  1
N 
k 0
X * [k ]W ; or x[n] 
kn
N
1
N  X * [k ]WN 
 k 0 
• 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 1/ N
• This method has the advantage that the internal
FFT code is undisturbed; it is widely used.
45 20-May-19
Inverse DFT using DIT FFT for N=8
X*[0] Nx*[0]
X*[4] Nx*[1]
W80

X*[2]  Nx*[2]
W80
X*[6] 0  W82  Nx*[3]
W 8

X*[1] W80  Nx*[4]


X*[5]  W81  Nx*[5]
W80
X*[3]  W82  Nx*[6]
W80

X*[7] 0  2  W3  Nx*[7]
W8 W 8 8

46 20-May-19
Example.6
Find IDFT of the following Sequence using DIT FFT Algorithm
x[n]={ 7, -0.707-j0.707, -j, 0.707-j0.707, 1,
0.707+j0.707, j, -0.707+j0.707}
SOLUTION: Select N=23=8
The twiddle factors associated with the flow
graph are W 0  e j  0  e0  1
2
8
8
 j  28 1  j  4 
W e
8
1
e  0.707  j 0.707
 j  28 2  j 2 
W82  e e j
 j  28 3  j  34 
W e
8
3
e  0.707  j 0.707

Answer x[n]={1, 1, 1, 1, 1, 1, 1, 0}
47 20-May-19
Input Stage-1 Stage-2 Stage-3 O/p
X*[0]=7 7+1(1)=8 5+5=10 10+10=20 X[0]
X*[4]=1 7-1(1)=6 5+5=10 (10-10)1= 0 X[4]

X*[2]=j j-j(1)=0 (5-5)1=0 0+0=0 X[2]


X*[6]=-j j-(-j)(1)=2j (5-5)(-j)=0 (0-0)1= 0 X[6]
X*[1]=-0.707+j0.707 (-0.707+j0.707)+(0.707- -3+(-j)=-3-j -3-j-2.828-j1.414= X[1]
j0.707)1=0 -5.828-j2.414

X*[5]= 0.707-j0.707 (2-3)(0.707-j0.707)= - -0.707+j0.707- (-3-j+2.828+j1.414)1= X[5]


0.707+j0.707 (2.121+j2.121)1= -0.172+j0.414
-2.828-j1.414
X*[3]= 0.707+j0.707 (-0.707+j0.707)-(0.707- (-3-(-j))1=-3+j -3+j+2.828-j1.414= X[3]
j0.707)1=-1.414+j1.414 -0.172-j0.414

X*[7]= -0.707-j0.707 (4-1)(-0.707-j0.707)= - (-0.707+j0.707+ (-3+j-2.828+j1.414)1= X[7]


2.121-j2.121 (2.121+j2.121))(-j)= -5.828+j2.414
2.828-j1.414

48 20-May-19
Digital Signal Processing

Radix-2 DIT FFT and DIF FFT


algorithm implementation
with N=4

49 20-May-19
Radix-2 DIT FFT Algorithm with N=4
x[0] X(0)
x[2]  X(1)
0
W
x[1]
4

0  X(2)
W
4
x[3] X(3)
0  W41 
W4

To get input order Take N=4 implies 2 bits


x[0]=x[00] x[00]=x[0]
x[1]=x[01] x[10]=x[2]
x[2]=x[10] x[01]=x[1]
x[3]=x[11] x[11]=x[3]
50 20-May-19
Radix-2 DIF FFT Algorithm with N=4
X[0]
x[0]
x[1] W40 X[4]
-
x[2] W40 X[2]
-
x[3] W41 - W40 X[6]
-

To get Output order Take N=4 implies 2 bits


X[0]=X[00] X[00]=X[0]
X[1]=X[01] X[10]=X[2]
X[2]=X[10] X[01]=X[1]
X[3]=X[11] X[11]=X[3]
51 20-May-19
Digital Signal Processing

Radix-2 DIT FFT and DIF FFT


algorithm implementation
with N=16

52 20-May-19
Bit reversal approach
xi 0  xi 0000  x0000  x0
xi 1  xi 0001  x1000  x8
xi 2  xi 0010  x0100  x4
xi 3  xi 0011  x1100  x12
xi 4  xi 0100  x0010  x2
xi 5  xi 0101  x1010  x10
xi 6  xi 0110  x0110  x6
xi 7  xi 0111  x1110  x14
xi 8  xi 1000  x0001  x1
xi 9  xi 1001  x1001  x9
xi 10  xi 1010  x0101  x5
xi 11  xi 1011  x1101  x13
xi 12  xi 1100  x0011  x3
xi 13  xi 1101  x1011  x11
xi 14  xi 1110  x0111  x7
xi 15  xi 1111  x1111  x15
53 20-May-19
Radix-2 DIF FFT Algorithm with N=16

54 20-May-19
Digital Signal Processing

Alternate representation of
Radix-2 DIT FFT algorithm
implementation

55 20-May-19
Alternate DIT FFT Structure
• DIT structure with input natural, output bit-reversed

56 20-May-19
Alternate DIT FFT Structure
• DIT structure with both input and output natural

57 20-May-19
Alternate DIT FFT Structure
• DIT structure with same structure for each stage

58 20-May-19
Radix-2 Decimation-In-Frequency FFT Algorithm

• A method to avoid bit-reversal in


filtering operations is:
– Compute forward transform using natural input, bit-
reversed output
– 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

–Latter two topologies are now rarely


used

59 20-May-19
Digital Signal Processing

Alternate Representations of
Radix-2 DIF FFT algorithm
implementation

60 20-May-19
Alternate DIF FFT structures
• DIF structure with input natural, output bit-reversed

61 20-May-19
Alternate DIF FFT structures
• DIF structure with input bit-reversed, output natural

62 20-May-19
Alternate DIF FFT structures
• DIF structure with both input and output natural

63 20-May-19
Alternate DIF FFT structures
• DIF structure with same structure for each stage

64 20-May-19
Digital Signal Processing

Comparison of
DIT FFT and DIF FFT algorithms
implementation

65 20-May-19
The DIF FFT is the transpose of the DIT FFT

• To obtain flow graph transposes:


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

• DIT butterfly: DIF butterfly:

• Comment:
– We will revisit transposed forms again in our discussion of filter
implementation

66 20-May-19
The DIF FFT is the transpose of the DIT FFT

• Comparing DIT and DIF structures:


DIT FFT structure: DIF FFT structure:

• Alternate forms for DIF FFTs are similar to


those of DIT FFTs

67 20-May-19

Anda mungkin juga menyukai