SlideShare a Scribd company logo
1 of 56
Fast Fourier Transform (FFT)
Algorithms
Relation to the z-transform







 



1
0
)
(
)
(
elsewhere
,
0
1
0
,
Nonzero
)
(
N
n
n
z
n
x
z
X
N
n
n
x
 







 



1
0
2
)
(
)
(
~
elsewhere
,
0
1
0
),
(
~
)
(
N
n
n
k
j N
e
n
x
k
X
N
n
n
x
n
x

k
N
j
e
z
z
X
k
X 
2
|
)
(
)
(
~


The DFS X(k) represents N evenly spaced samples of the z-
transform X(z) around the unit circle.
Relation to the DTFT
k
w
jw
N
n
jwn
N
n
jwn
jw
N
e
X
k
X
e
n
x
e
n
x
e
X

2
|
)
(
)
(
~
)
(
~
)
(
)
(
1
0
1
0









 

)
(
)
(
)
(
2
,
2
1
1
1
jkw
jw
k
e
X
e
X
k
X
kw
k
N
w
and
N
w
Let
k







The DFS is obtained by evenly sampling the DTFT at w1 intervals.
The interval w1 is the sampling interval in the frequency domain. It is called
frequency resolution because it tells us how close are the frequency samples.
Sampling and construction in
the z-domain


















m
km
N
m
km
j
e
z
W
m
x
e
m
x
k
z
X
k
X
N
k
N
j
)
(
)
(
,
2
,
1
,
0
,
|
)
(
)
(
~
2
2

 

 
 
 
 























































r
m r
m r
m
N
k
m
n
k
N
N
k
kn
N
m
km
N
N
k
kn
N
rN
n
x
rN
m
n
m
x
rN
m
n
m
x
W
N
m
x
W
W
m
x
N
W
k
X
N
n
x
)
(
)
(
)
(
)
(
)
(
1
)
(
)
(
1
)
(
~
1
)
(
~
1
0
)
(
1
0
1
0


DFS & z-
transform
IDFS
Comments
• When we sample X(z) on the unit circle, we
obtain a periodic sequence in the time
domain.
• This sequence is a linear combination of
the original x(n) and its infinite replicas,
each shifted by multiples of N or –N.
• If x(n)=0 for n<0 and n>=N, then there will
be no overlap or aliasing in the time
domain.
Comments


 








else
N
n
n
x
n
R
n
x
n
x
N
n
for
n
x
n
x
N
0
1
0
1
)
(
~
)
(
)
(
~
)
(
1
0
)
(
~
)
(
RN(n) is called a rectangular window of length N.
THEOREM1: Frequency Sampling
If x(n) is time-limited (finite duration) to [0,N-1], then N
samples of X(z) on the unit circle determine X(z) for all z.
Reconstruction Formula
Let x(n) be time-limited to [0,N-1]. Then from Theorem 1 we should be able to
recover the z-transform X(z) using its samples X~(k).
 

 
 
 
































































1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
)
(
~
1
)
(
~
1
)
(
~
1
)
(
~
1
)
(
~
)
(
)
(
N
k
k
N
N
kN
N
N
k
N
n
n
k
N
N
k
N
n
n
kn
N
N
n
n
N
k
kn
N
N
n
n
N
n
n
z
W
z
W
k
X
N
z
W
k
X
N
z
W
k
X
N
z
W
k
X
N
z
n
x
z
n
x
z
X
WN
-kN=1









1
0
1
1
)
(
~
1
)
(
N
k
k
N
N
z
W
k
X
N
z
z
X
Examples 5.6 5.7 Comments
• Zero-padding is an operation in which more zeros are
appended to the original sequence. The resulting longer
DFT provides closely spaced samples of the discrete-
times Fourier transform of the original sequence.
• The zero-padding gives us a high-density spectrum and
provides a better displayed version for plotting. But it
does not give us a high-resolution spectrum because no
new information is added to the signal; only additional
zeros are added in the data.
• To get high-resolution spectrum, one has to obtain more
data from the experiment or observations.
breadth-first, but with blocks of size = cache
Traditional cache solution:
Blocking
Size 8 DFT
Size 4 DFT Size 4 DFT
Size 2 DFT Size 2 DFT Size 2 DFT Size 2 DFT
p = 2 (radix 2)
…requires program specialized for cache size
Recursive Divide & Conquer is Good
Size 8 DFT
Size 4 DFT Size 4 DFT
Size 2 DFT Size 2 DFT Size 2 DFT Size 2 DFT
p = 2 (radix 2)
eventually small enough to fit in cache
…no matter what size the cache is
(depth-first traversal) [Singleton, 1967]
Goal of an Efficient computation
• The total number of computations should be
linear rather than quadratic with respect to N.
• Most of the computations can be eliminated
using the symmetry and periodicity properties
CN=N×log2N
If N=2^10, CN=will reduce to 1/100 times.
kn
N
N
kn
N
n
N
k
N
N
n
k
N
kn
N
W
W
W
W
W







2
/
)
(
)
(
Decimation-in-time: DIT-FFT, decimation-in-frequency: DIF-FFT
Efficient Computation of Discrete
Fourier Transform
• Electrical sciences is full of signal
processing
• Digital computers paved way for reliable
signal processing
• DFT plays an important role and needs
efficient procedure for computation of
X(k),
Direct Computation of the DFT
• To indicate the importance of efficient
computation schemes, it is instructive to
consider the direct evaluation of the
DFT equation, Eq.(2.1). Since x(n) may
be complex, we can write
• From Eq.(2.2) it is clear that for each value of
k, the direct computation of X(k) requires 4N
real multiplications and (4N-2) real additions.
• Total 4N2 real multiplications and N(4N-2) real
additions.
• The amount of time required for computation
becomes large.
• Most approaches of improving the
efficiency of the computation of the DFT
exploit one or both of the following
special properties of the quantity
• Cooley and Tukey published an
algorithm for computation of DFT that is
applicable when N is a composite
number.
• Number of such computational
algorithms are known as fast Fourier
transform, or simply FFT algorithms.
Radix-2 FFT Algorithms
• Let N=2v; then we choose M=2 and L=N/2 and divide x(n)
into two N/2-point sequence.
• This procedure can be repeated again and again. At each
stage the sequences are decimated and the smaller DFTs
combined. This decimation ands after v stages when we
have N one-point sequences, which are also one-point
DFTs.
• The resulting procedure is called the decimation-in-time
FFT (DIF-FFT) algorithm, for which the total number of
complex multiplications is: CN=Nv= N*log2N;
• using additional symmetries: CN=Nv= N/2*log2N
• Signal flowgraph in Figure 5.19
Decimation-in-frequency FFT
• In an alternate approach we choose L=2, M=N/2
and follow the steps in (5.49).
• We can get the decimation-frequency FFT (DIF-
FFT) algorithm.
• Its signal flowgraph is a transposed structure of
the DIT-FFT structure.
• Its computational complexity is also equal to
CN=Nv= N/2*log2N
Radix-2 FFT Algorithms
• To achieve the dramatic increase in
efficiency, it is necessary to decompose
the DFT computation into successively
smaller DFT computations. In this process
we exploit both the symmetry and the
periodicity of the complex exponential
.
Decimation-in-time FFT Algorithm
• The principle of decimation-in-time is most
conveniently illustrated by considering the
special case of N an integer power of 2;
i.e.
• Since N is an even integer, we can consider
computing X(k) by separating x(n) into two
N/2-point sequences consisting of the even-
numbered points in x(n) and the odd-
numbered points in x(n). With X(k) given by
• Separating x(n) into even-numbered
and odd-numbered points, we obtain
or with the substitution of variables n=2r
for an even and n=2r+1 for odd ,
But
Consequently, Eq. (2.4) can be written as
Each of the sums in Eq.(2.5) is recognized as an N/2-
point DFT. Each of sums need only be computed for
k between 0 and N/2. Since G(k) and H(k) are each
periodic in k with period N/2.
The computational flow or the signal flow in computing X(k)
according to Eq. (2.5) for an 8-point sequence, i.e. N=8 is shown in
Figure below.
.
• Equation (2.5) corresponds to breaking
the original N-point DFT computation
into two N/2-point DFT computations.
Each of the N/2-point DFT computations
can be further broken into two N/4-point
DFTs. Thus G(k) and H(k) in Eq.(2.5)
would be computed as indicated next.
• Similarly,
where g(r)=x(2r) and h(r)=h(2r+1).
If the 4-point DFTs in Figure (2.1) are computed
according to Eqs. (2.6) and (2.7), then that computation
would be carried out as indicated in Figure (2.2).
Inserting the computation indicated in Figure (2.2) into the flow
graph of Figure (2.1), we obtain the complete flow graph of Figure
(2.3). We have used the fact that N/2 = WN
2.
In-place Computations
• In view of Figure (2.4), the Figure (2.3) gives the
complete computational flow graph for the N-
point computation of DFT of N-point sequence,
for N=8.
• An interesting by-product of this derivation is
that, this flow graph, in addition to describing
efficient procedure for computing the DFT, also
suggests a useful way of storing the original data
and storing the results of the computation in the
intermediate arrays.
For N=8, N/4-point DFT becomes 2-point DFT. The 2-
point DFT of, for example, x(0) and x(4) is depicted in
Figure (2.4).
We shall denote the sequence of complex numbers resulting from
the mth stage of computation as Xm(l), where l=0,1,..,N-1, and
m=1,2,.., forming an input to the (m+1)st stage and producing an
output Xm+1(l) as the output from the (m+1)st stage of computations,
it can be seen that the basic computation in flow graph of Figure
(2.3)
The equations represented by this flow graph are
Because of the appearance of the flow graph of Figure
(2.5), this computation is referred as a butterfly
computation.
Equations (2.8) suggest a means of reducing the
number of complex multiplications by a factor of 2. To
see this we note that
So the equations (2.8) become
Equations (2.9) are represented in the flow graph of
Figure (2.6).
Combining the observations in Figures (2.6), (2.5), (2.4) and
(2.3), the efficient FFT algorithm in the computational flow graph
representation for N=8 is obtained as shown in Figure (2.7). The
algorithm requires N/2log2N complex multiplications and N log2
N complex additions.
Decimation-in-Frequency FFT
Algorithm
• The decimation-in-time FFT algorithms were all
based upon the decomposition of the DFT
computation by forming smaller and smaller
subsequences.
• Alternatively decimation-in-frequency FFT algorithms
are all based upon decomposition of the DFT
computation over X(k). For N, a power of 2 i.e.
we divide the input sequence into first half and the
last half of points so that
• Separating k-even and k-odd, i.e. k=2r and k=2r+1, representing the
even-numbered points and the odd-numbered points, respectively,
so that
Thus on the basis of Equations (2.11) and (2.12) with
and
The DFT can be computed by first forming the sequences g(n)
and h(n), then computing h(n)WN
n, and finally computing the N/2-
point DFTs of these two sequences to obtain the even-numbered
output points and odd-numbered output points, respectively.
The procedure suggested by Eqs. (2.11) and (2.12) is
illustrated through signal flow graph for the case of 8-
point DFT in Figure (2.8).
Proceeding in a manner similar to that followed in deriving the
decimation-in-time algorithm, the final signal flow graph for
computation is shown in Figure (2.9).
• By counting the arithmetic operations in Figure (2.9), and
generalizing, we see that the computation of Figure (2.9)
requires N/2log2N complex multiplications and Nlog2N
complex additions. Thus the total computation is the
same for decimation-in-frequency and decimation-in-time
algorithms.
• Similar to decimation-in-time algorithm the computational
flow graph shown in Figure (2.9) will indicate the in-place
computation capability of decimation-in-frequency
algorithm.
• Figure (2.9) is the transpose of Figure (2.7).
Decimation-In-Time FFT Algorithms
• Makes use of both symmetry and periodicity
• Consider special case of N an integer power of 2
• Separate x[n] into two sequence of length N/2
– Even indexed samples in the first sequence
– Odd indexed samples in the other sequence
• Substitute variables n=2r for n even and n=2r+1 for odd
• G[k] and H[k] are the N/2-point DFT’s of each subsequence
       
















1
N
odd
n
kn
N
/
2
j
1
N
even
n
kn
N
/
2
j
1
N
0
n
kn
N
/
2
j
e
]
n
[
x
e
]
n
[
x
e
]
n
[
x
k
X
   
   
k
H
W
k
G
W
]
1
r
2
[
x
W
W
]
r
2
[
x
W
]
1
r
2
[
x
W
]
r
2
[
x
k
X
k
N
1
2
/
N
0
r
rk
2
/
N
k
N
1
2
/
N
0
r
rk
2
/
N
1
2
/
N
0
r
k
1
r
2
N
1
2
/
N
0
r
rk
2
N





















Decimation In Time
• 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
Decimation In Time Cont’d
• After two steps of decimation in time
• Repeat until we’re left with two-point DFT’s
Decimation-In-Time FFT Algorithm
• Final flow graph for 8-point decimation in time
• Complexity:
– Nlog2N complex multiplications and additions
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
In-Place Computation
• 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
       
       
       
       
       
       
       
       
111
x
111
X
7
x
7
X
011
x
110
X
3
x
6
X
101
x
101
X
5
x
5
X
001
x
100
X
1
x
4
X
110
x
011
X
6
x
3
X
010
x
010
X
2
x
2
X
100
x
001
X
4
x
1
X
000
x
000
X
0
x
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
























Decimation-In-Frequency FFT
Algorithm
• The DFT equation
• Split the DFT equation into even and odd frequency indexes
• Substitute variables to get
• Similarly for odd-numbered frequencies
  



1
N
0
n
nk
N
W
]
n
[
x
k
X
  











1
N
2
/
N
n
r
2
n
N
1
2
/
N
0
n
r
2
n
N
1
N
0
n
r
2
n
N W
]
n
[
x
W
]
n
[
x
W
]
n
[
x
r
2
X
   
 
















1
2
/
N
0
n
nr
2
/
N
1
2
/
N
0
n
r
2
2
/
N
n
N
1
2
/
N
0
n
r
2
n
N W
]
2
/
N
n
[
x
]
n
[
x
W
]
2
/
N
n
[
x
W
]
n
[
x
r
2
X
     








1
2
/
N
0
n
1
r
2
n
2
/
N
W
]
2
/
N
n
[
x
]
n
[
x
1
r
2
X
Decimation-In-Frequency FFT Algorithm
• Final flow graph for 8-point decimation in frequency
FFT vs. DFT
• The FFT is simply an algorithm for efficiently calculating the
DFT
• Computational efficiency of an N-Point FFT:
– DFT: N2 Complex Multiplications
– FFT: (N/2) log2(N) Complex Multiplications
N DFT Multiplications FFT Multiplications FFT Efficiency
256 65,536 1,024 64 : 1
512 262,144 2,304 114 : 1
1,024 1,048,576 5,120 205 : 1
2,048 4,194,304 11,264 372 : 1
4,096 16,777,216 24,576 683 : 1
Bit Reversal
The bit reversal algorithm used to perform the re-ordering of signals.
The decimal index, n, is converted to its binary equivalent.
The binary bits are then placed in reverse order, and converted back to a
decimal number.
Bit reversing is often performed in DSP hardware in the data address
generator (DAG).
DIT FFT
 Input signal must be properly
re-ordered using a bit reversal
algorithm
 In-place computation
 Number of stages: log2 N
 Stage 1: all the twiddle factors
are 1
 Last Stage: the twiddle factors
are in sequential order
Stage
1
Stage
2
Stage
3
Stage
Log2N
Number of
Groups
N/2 N/4 N/8 1
Butterflies
per Group
1 2 4 N/2
Dual-Node
Spacing
1 2 4 N/2
Twiddle
Factor
Exponents
(N/2)k
, k=0
(N/4)k
,
k=0,1
(N/8)k
,
k=0,1,
2,3
k,
k=0 to
N/2–1
DIF FFT
 Output signal must be
properly re-ordered using a bit
reversal algorithm
 In-place computation
 Number of stages: log2 N
 Stage 1: the twiddle factors
are in sequential order
 Last Stage: all the twiddle
factors are 1
Stage
1
Stage
2
Stage
3
Stage
Log2N
Number of
Groups
1 2 4 N/2
Butterflies
per Group
N/2 N/4 N/8 1
Dual-Node
Spacing
N/2 N/4 N/8 1
Twiddle
Factor
Exponents
n,
n=0 to
N/2 - 1
2n,
n=0 to
N/4 - 1
4n,
n=0 to
N/8 - 1
(N/2)n,
n=0
Radix-4 Decimation-In-Time FFT
Algorithm
A radix-4 FFT combines two stages of a radix-2
FFT into one, so that half as many stages are
required.
The radix-4 butterfly is consequently larger and
more complicated than a radix-2 butterfly.
N/4 butterflies are used in each of (log2N)/2
stages, which is one quarter the number of
butterflies in a radix-2 FFT.
Addressing of data and twiddle factors is more
complex, a radix-4 FFT requires fewer
calculations than a radix-2 FFT.
It can compute a radix-4 FFT significantly faster
than a radix-2 FFT
Inverse Discrete Fourier
Transform (IDFT)
The inverse discrete Fourier transform (IDFT) is given by
which is structurally similar to DFT,
The change we notice is in the multiplication factor 1/N} and
replacement of W N
kn by WN
-kn, and the interchange of signals
x(n) and X(k) in the expressions and the index for summation.
• Thus in Figure (2.7) and (2.9), if we exercise
the above changes, the changed signal flow
graphs will become algorithms for IDFT and
referred as IFFT algorithms.
Example
• Using decimation-in-time FFT algorithm compute
DFT of the sequence
{-1 –1 –1 –1 1 1 1 1}
• Solution: Twiddle factors are
Solution and signal flow graph of the example

More Related Content

Similar to Fast Fourier Transform (FFT) Algorithms in DSP

Speech signal time frequency representation
Speech signal time frequency representationSpeech signal time frequency representation
Speech signal time frequency representationNikolay Karpov
 
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.pptFourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.pptMozammelHossain31
 
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_13.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_13.pptFourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_13.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_13.pptMozammelHossain31
 
Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Alexander Litvinenko
 
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)Amr E. Mohamed
 
A combined sdc
A combined sdcA combined sdc
A combined sdcsakthi1986
 
s.Magesh kumar DECE,BTECH,ME (ASAN MEMORIAL COLLEGE OF ENGINEERING AND TECHNO...
s.Magesh kumar DECE,BTECH,ME (ASAN MEMORIAL COLLEGE OF ENGINEERING AND TECHNO...s.Magesh kumar DECE,BTECH,ME (ASAN MEMORIAL COLLEGE OF ENGINEERING AND TECHNO...
s.Magesh kumar DECE,BTECH,ME (ASAN MEMORIAL COLLEGE OF ENGINEERING AND TECHNO...sakthi1986
 
Fast Fourier Transform
Fast Fourier TransformFast Fourier Transform
Fast Fourier Transformop205
 
Introduction_to_fast_fourier_transform ppt
Introduction_to_fast_fourier_transform pptIntroduction_to_fast_fourier_transform ppt
Introduction_to_fast_fourier_transform pptVikashKumar547263
 
UNIT-2 DSP.ppt
UNIT-2 DSP.pptUNIT-2 DSP.ppt
UNIT-2 DSP.pptshailaja68
 
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidXavier Davias
 

Similar to Fast Fourier Transform (FFT) Algorithms in DSP (20)

Properties of dft
Properties of dftProperties of dft
Properties of dft
 
Speech signal time frequency representation
Speech signal time frequency representationSpeech signal time frequency representation
Speech signal time frequency representation
 
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.pptFourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_14.ppt
 
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_13.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_13.pptFourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_13.ppt
Fourier-Series_FT_Laplace-Transform_Letures_Regular_F-for-Students_13.ppt
 
Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...
 
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
 
lec07_DFT.pdf
lec07_DFT.pdflec07_DFT.pdf
lec07_DFT.pdf
 
RES701 Research Methodology_FFT
RES701 Research Methodology_FFTRES701 Research Methodology_FFT
RES701 Research Methodology_FFT
 
DSP .pptx
DSP .pptxDSP .pptx
DSP .pptx
 
A combined sdc
A combined sdcA combined sdc
A combined sdc
 
s.Magesh kumar DECE,BTECH,ME (ASAN MEMORIAL COLLEGE OF ENGINEERING AND TECHNO...
s.Magesh kumar DECE,BTECH,ME (ASAN MEMORIAL COLLEGE OF ENGINEERING AND TECHNO...s.Magesh kumar DECE,BTECH,ME (ASAN MEMORIAL COLLEGE OF ENGINEERING AND TECHNO...
s.Magesh kumar DECE,BTECH,ME (ASAN MEMORIAL COLLEGE OF ENGINEERING AND TECHNO...
 
Fast Fourier Transform
Fast Fourier TransformFast Fourier Transform
Fast Fourier Transform
 
lecture_16.ppt
lecture_16.pptlecture_16.ppt
lecture_16.ppt
 
Edc-unit-ii.ppt
Edc-unit-ii.pptEdc-unit-ii.ppt
Edc-unit-ii.ppt
 
Introduction_to_fast_fourier_transform ppt
Introduction_to_fast_fourier_transform pptIntroduction_to_fast_fourier_transform ppt
Introduction_to_fast_fourier_transform ppt
 
UNIT-2 DSP.ppt
UNIT-2 DSP.pptUNIT-2 DSP.ppt
UNIT-2 DSP.ppt
 
DFT,DCT TRANSFORMS.pdf
DFT,DCT TRANSFORMS.pdfDFT,DCT TRANSFORMS.pdf
DFT,DCT TRANSFORMS.pdf
 
zeropadding
zeropaddingzeropadding
zeropadding
 
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
 
ch3-2
ch3-2ch3-2
ch3-2
 

Recently uploaded

HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

Fast Fourier Transform (FFT) Algorithms in DSP

  • 1. Fast Fourier Transform (FFT) Algorithms
  • 2. Relation to the z-transform             1 0 ) ( ) ( elsewhere , 0 1 0 , Nonzero ) ( N n n z n x z X N n n x               1 0 2 ) ( ) ( ~ elsewhere , 0 1 0 ), ( ~ ) ( N n n k j N e n x k X N n n x n x  k N j e z z X k X  2 | ) ( ) ( ~   The DFS X(k) represents N evenly spaced samples of the z- transform X(z) around the unit circle.
  • 3. Relation to the DTFT k w jw N n jwn N n jwn jw N e X k X e n x e n x e X  2 | ) ( ) ( ~ ) ( ~ ) ( ) ( 1 0 1 0             ) ( ) ( ) ( 2 , 2 1 1 1 jkw jw k e X e X k X kw k N w and N w Let k        The DFS is obtained by evenly sampling the DTFT at w1 intervals. The interval w1 is the sampling interval in the frequency domain. It is called frequency resolution because it tells us how close are the frequency samples.
  • 4. Sampling and construction in the z-domain                   m km N m km j e z W m x e m x k z X k X N k N j ) ( ) ( , 2 , 1 , 0 , | ) ( ) ( ~ 2 2                                                                    r m r m r m N k m n k N N k kn N m km N N k kn N rN n x rN m n m x rN m n m x W N m x W W m x N W k X N n x ) ( ) ( ) ( ) ( ) ( 1 ) ( ) ( 1 ) ( ~ 1 ) ( ~ 1 0 ) ( 1 0 1 0   DFS & z- transform IDFS
  • 5. Comments • When we sample X(z) on the unit circle, we obtain a periodic sequence in the time domain. • This sequence is a linear combination of the original x(n) and its infinite replicas, each shifted by multiples of N or –N. • If x(n)=0 for n<0 and n>=N, then there will be no overlap or aliasing in the time domain.
  • 6. Comments             else N n n x n R n x n x N n for n x n x N 0 1 0 1 ) ( ~ ) ( ) ( ~ ) ( 1 0 ) ( ~ ) ( RN(n) is called a rectangular window of length N. THEOREM1: Frequency Sampling If x(n) is time-limited (finite duration) to [0,N-1], then N samples of X(z) on the unit circle determine X(z) for all z.
  • 7. Reconstruction Formula Let x(n) be time-limited to [0,N-1]. Then from Theorem 1 we should be able to recover the z-transform X(z) using its samples X~(k).                                                                          1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 ) ( ~ 1 ) ( ~ 1 ) ( ~ 1 ) ( ~ 1 ) ( ~ ) ( ) ( N k k N N kN N N k N n n k N N k N n n kn N N n n N k kn N N n n N n n z W z W k X N z W k X N z W k X N z W k X N z n x z n x z X WN -kN=1          1 0 1 1 ) ( ~ 1 ) ( N k k N N z W k X N z z X
  • 8. Examples 5.6 5.7 Comments • Zero-padding is an operation in which more zeros are appended to the original sequence. The resulting longer DFT provides closely spaced samples of the discrete- times Fourier transform of the original sequence. • The zero-padding gives us a high-density spectrum and provides a better displayed version for plotting. But it does not give us a high-resolution spectrum because no new information is added to the signal; only additional zeros are added in the data. • To get high-resolution spectrum, one has to obtain more data from the experiment or observations.
  • 9. breadth-first, but with blocks of size = cache Traditional cache solution: Blocking Size 8 DFT Size 4 DFT Size 4 DFT Size 2 DFT Size 2 DFT Size 2 DFT Size 2 DFT p = 2 (radix 2) …requires program specialized for cache size
  • 10. Recursive Divide & Conquer is Good Size 8 DFT Size 4 DFT Size 4 DFT Size 2 DFT Size 2 DFT Size 2 DFT Size 2 DFT p = 2 (radix 2) eventually small enough to fit in cache …no matter what size the cache is (depth-first traversal) [Singleton, 1967]
  • 11. Goal of an Efficient computation • The total number of computations should be linear rather than quadratic with respect to N. • Most of the computations can be eliminated using the symmetry and periodicity properties CN=N×log2N If N=2^10, CN=will reduce to 1/100 times. kn N N kn N n N k N N n k N kn N W W W W W        2 / ) ( ) ( Decimation-in-time: DIT-FFT, decimation-in-frequency: DIF-FFT
  • 12. Efficient Computation of Discrete Fourier Transform • Electrical sciences is full of signal processing • Digital computers paved way for reliable signal processing • DFT plays an important role and needs efficient procedure for computation of X(k),
  • 13. Direct Computation of the DFT • To indicate the importance of efficient computation schemes, it is instructive to consider the direct evaluation of the DFT equation, Eq.(2.1). Since x(n) may be complex, we can write
  • 14. • From Eq.(2.2) it is clear that for each value of k, the direct computation of X(k) requires 4N real multiplications and (4N-2) real additions. • Total 4N2 real multiplications and N(4N-2) real additions. • The amount of time required for computation becomes large.
  • 15. • Most approaches of improving the efficiency of the computation of the DFT exploit one or both of the following special properties of the quantity
  • 16. • Cooley and Tukey published an algorithm for computation of DFT that is applicable when N is a composite number. • Number of such computational algorithms are known as fast Fourier transform, or simply FFT algorithms.
  • 17. Radix-2 FFT Algorithms • Let N=2v; then we choose M=2 and L=N/2 and divide x(n) into two N/2-point sequence. • This procedure can be repeated again and again. At each stage the sequences are decimated and the smaller DFTs combined. This decimation ands after v stages when we have N one-point sequences, which are also one-point DFTs. • The resulting procedure is called the decimation-in-time FFT (DIF-FFT) algorithm, for which the total number of complex multiplications is: CN=Nv= N*log2N; • using additional symmetries: CN=Nv= N/2*log2N • Signal flowgraph in Figure 5.19
  • 18. Decimation-in-frequency FFT • In an alternate approach we choose L=2, M=N/2 and follow the steps in (5.49). • We can get the decimation-frequency FFT (DIF- FFT) algorithm. • Its signal flowgraph is a transposed structure of the DIT-FFT structure. • Its computational complexity is also equal to CN=Nv= N/2*log2N
  • 19. Radix-2 FFT Algorithms • To achieve the dramatic increase in efficiency, it is necessary to decompose the DFT computation into successively smaller DFT computations. In this process we exploit both the symmetry and the periodicity of the complex exponential .
  • 20. Decimation-in-time FFT Algorithm • The principle of decimation-in-time is most conveniently illustrated by considering the special case of N an integer power of 2; i.e. • Since N is an even integer, we can consider computing X(k) by separating x(n) into two N/2-point sequences consisting of the even- numbered points in x(n) and the odd- numbered points in x(n). With X(k) given by
  • 21. • Separating x(n) into even-numbered and odd-numbered points, we obtain or with the substitution of variables n=2r for an even and n=2r+1 for odd ,
  • 22. But Consequently, Eq. (2.4) can be written as Each of the sums in Eq.(2.5) is recognized as an N/2- point DFT. Each of sums need only be computed for k between 0 and N/2. Since G(k) and H(k) are each periodic in k with period N/2.
  • 23. The computational flow or the signal flow in computing X(k) according to Eq. (2.5) for an 8-point sequence, i.e. N=8 is shown in Figure below. .
  • 24. • Equation (2.5) corresponds to breaking the original N-point DFT computation into two N/2-point DFT computations. Each of the N/2-point DFT computations can be further broken into two N/4-point DFTs. Thus G(k) and H(k) in Eq.(2.5) would be computed as indicated next.
  • 25. • Similarly, where g(r)=x(2r) and h(r)=h(2r+1).
  • 26. If the 4-point DFTs in Figure (2.1) are computed according to Eqs. (2.6) and (2.7), then that computation would be carried out as indicated in Figure (2.2).
  • 27. Inserting the computation indicated in Figure (2.2) into the flow graph of Figure (2.1), we obtain the complete flow graph of Figure (2.3). We have used the fact that N/2 = WN 2.
  • 28. In-place Computations • In view of Figure (2.4), the Figure (2.3) gives the complete computational flow graph for the N- point computation of DFT of N-point sequence, for N=8. • An interesting by-product of this derivation is that, this flow graph, in addition to describing efficient procedure for computing the DFT, also suggests a useful way of storing the original data and storing the results of the computation in the intermediate arrays.
  • 29. For N=8, N/4-point DFT becomes 2-point DFT. The 2- point DFT of, for example, x(0) and x(4) is depicted in Figure (2.4).
  • 30. We shall denote the sequence of complex numbers resulting from the mth stage of computation as Xm(l), where l=0,1,..,N-1, and m=1,2,.., forming an input to the (m+1)st stage and producing an output Xm+1(l) as the output from the (m+1)st stage of computations, it can be seen that the basic computation in flow graph of Figure (2.3)
  • 31. The equations represented by this flow graph are Because of the appearance of the flow graph of Figure (2.5), this computation is referred as a butterfly computation. Equations (2.8) suggest a means of reducing the number of complex multiplications by a factor of 2. To see this we note that
  • 32. So the equations (2.8) become Equations (2.9) are represented in the flow graph of Figure (2.6).
  • 33. Combining the observations in Figures (2.6), (2.5), (2.4) and (2.3), the efficient FFT algorithm in the computational flow graph representation for N=8 is obtained as shown in Figure (2.7). The algorithm requires N/2log2N complex multiplications and N log2 N complex additions.
  • 34. Decimation-in-Frequency FFT Algorithm • The decimation-in-time FFT algorithms were all based upon the decomposition of the DFT computation by forming smaller and smaller subsequences. • Alternatively decimation-in-frequency FFT algorithms are all based upon decomposition of the DFT computation over X(k). For N, a power of 2 i.e. we divide the input sequence into first half and the last half of points so that
  • 35. • Separating k-even and k-odd, i.e. k=2r and k=2r+1, representing the even-numbered points and the odd-numbered points, respectively, so that
  • 36. Thus on the basis of Equations (2.11) and (2.12) with and The DFT can be computed by first forming the sequences g(n) and h(n), then computing h(n)WN n, and finally computing the N/2- point DFTs of these two sequences to obtain the even-numbered output points and odd-numbered output points, respectively.
  • 37. The procedure suggested by Eqs. (2.11) and (2.12) is illustrated through signal flow graph for the case of 8- point DFT in Figure (2.8).
  • 38. Proceeding in a manner similar to that followed in deriving the decimation-in-time algorithm, the final signal flow graph for computation is shown in Figure (2.9).
  • 39. • By counting the arithmetic operations in Figure (2.9), and generalizing, we see that the computation of Figure (2.9) requires N/2log2N complex multiplications and Nlog2N complex additions. Thus the total computation is the same for decimation-in-frequency and decimation-in-time algorithms. • Similar to decimation-in-time algorithm the computational flow graph shown in Figure (2.9) will indicate the in-place computation capability of decimation-in-frequency algorithm. • Figure (2.9) is the transpose of Figure (2.7).
  • 40. Decimation-In-Time FFT Algorithms • Makes use of both symmetry and periodicity • Consider special case of N an integer power of 2 • Separate x[n] into two sequence of length N/2 – Even indexed samples in the first sequence – Odd indexed samples in the other sequence • Substitute variables n=2r for n even and n=2r+1 for odd • G[k] and H[k] are the N/2-point DFT’s of each subsequence                         1 N odd n kn N / 2 j 1 N even n kn N / 2 j 1 N 0 n kn N / 2 j e ] n [ x e ] n [ x e ] n [ x k X         k H W k G W ] 1 r 2 [ x W W ] r 2 [ x W ] 1 r 2 [ x W ] r 2 [ x k X k N 1 2 / N 0 r rk 2 / N k N 1 2 / N 0 r rk 2 / N 1 2 / N 0 r k 1 r 2 N 1 2 / N 0 r rk 2 N                     
  • 41. Decimation In Time • 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
  • 42. Decimation In Time Cont’d • After two steps of decimation in time • Repeat until we’re left with two-point DFT’s
  • 43. Decimation-In-Time FFT Algorithm • Final flow graph for 8-point decimation in time • Complexity: – Nlog2N complex multiplications and additions
  • 44. 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
  • 45. In-Place Computation • 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                                                                 111 x 111 X 7 x 7 X 011 x 110 X 3 x 6 X 101 x 101 X 5 x 5 X 001 x 100 X 1 x 4 X 110 x 011 X 6 x 3 X 010 x 010 X 2 x 2 X 100 x 001 X 4 x 1 X 000 x 000 X 0 x 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0                        
  • 46. Decimation-In-Frequency FFT Algorithm • The DFT equation • Split the DFT equation into even and odd frequency indexes • Substitute variables to get • Similarly for odd-numbered frequencies       1 N 0 n nk N W ] n [ x k X               1 N 2 / N n r 2 n N 1 2 / N 0 n r 2 n N 1 N 0 n r 2 n N W ] n [ x W ] n [ x W ] n [ x r 2 X                       1 2 / N 0 n nr 2 / N 1 2 / N 0 n r 2 2 / N n N 1 2 / N 0 n r 2 n N W ] 2 / N n [ x ] n [ x W ] 2 / N n [ x W ] n [ x r 2 X               1 2 / N 0 n 1 r 2 n 2 / N W ] 2 / N n [ x ] n [ x 1 r 2 X
  • 47. Decimation-In-Frequency FFT Algorithm • Final flow graph for 8-point decimation in frequency
  • 48. FFT vs. DFT • The FFT is simply an algorithm for efficiently calculating the DFT • Computational efficiency of an N-Point FFT: – DFT: N2 Complex Multiplications – FFT: (N/2) log2(N) Complex Multiplications N DFT Multiplications FFT Multiplications FFT Efficiency 256 65,536 1,024 64 : 1 512 262,144 2,304 114 : 1 1,024 1,048,576 5,120 205 : 1 2,048 4,194,304 11,264 372 : 1 4,096 16,777,216 24,576 683 : 1
  • 49. Bit Reversal The bit reversal algorithm used to perform the re-ordering of signals. The decimal index, n, is converted to its binary equivalent. The binary bits are then placed in reverse order, and converted back to a decimal number. Bit reversing is often performed in DSP hardware in the data address generator (DAG).
  • 50. DIT FFT  Input signal must be properly re-ordered using a bit reversal algorithm  In-place computation  Number of stages: log2 N  Stage 1: all the twiddle factors are 1  Last Stage: the twiddle factors are in sequential order Stage 1 Stage 2 Stage 3 Stage Log2N Number of Groups N/2 N/4 N/8 1 Butterflies per Group 1 2 4 N/2 Dual-Node Spacing 1 2 4 N/2 Twiddle Factor Exponents (N/2)k , k=0 (N/4)k , k=0,1 (N/8)k , k=0,1, 2,3 k, k=0 to N/2–1
  • 51. DIF FFT  Output signal must be properly re-ordered using a bit reversal algorithm  In-place computation  Number of stages: log2 N  Stage 1: the twiddle factors are in sequential order  Last Stage: all the twiddle factors are 1 Stage 1 Stage 2 Stage 3 Stage Log2N Number of Groups 1 2 4 N/2 Butterflies per Group N/2 N/4 N/8 1 Dual-Node Spacing N/2 N/4 N/8 1 Twiddle Factor Exponents n, n=0 to N/2 - 1 2n, n=0 to N/4 - 1 4n, n=0 to N/8 - 1 (N/2)n, n=0
  • 52. Radix-4 Decimation-In-Time FFT Algorithm A radix-4 FFT combines two stages of a radix-2 FFT into one, so that half as many stages are required. The radix-4 butterfly is consequently larger and more complicated than a radix-2 butterfly. N/4 butterflies are used in each of (log2N)/2 stages, which is one quarter the number of butterflies in a radix-2 FFT. Addressing of data and twiddle factors is more complex, a radix-4 FFT requires fewer calculations than a radix-2 FFT. It can compute a radix-4 FFT significantly faster than a radix-2 FFT
  • 53. Inverse Discrete Fourier Transform (IDFT) The inverse discrete Fourier transform (IDFT) is given by which is structurally similar to DFT, The change we notice is in the multiplication factor 1/N} and replacement of W N kn by WN -kn, and the interchange of signals x(n) and X(k) in the expressions and the index for summation.
  • 54. • Thus in Figure (2.7) and (2.9), if we exercise the above changes, the changed signal flow graphs will become algorithms for IDFT and referred as IFFT algorithms.
  • 55. Example • Using decimation-in-time FFT algorithm compute DFT of the sequence {-1 –1 –1 –1 1 1 1 1} • Solution: Twiddle factors are
  • 56. Solution and signal flow graph of the example