0% found this document useful (0 votes)
37 views7 pages

FFT

The document discusses Fast Fourier Transform (FFT) algorithms, which are designed to compute the Discrete Fourier Transform (DFT) more efficiently than direct computation. It outlines the computational complexity of direct DFT, highlighting the significant number of complex multiplications and additions required, especially for large N values. The document also emphasizes the importance of FFT algorithms in digital signal processing applications due to their improved computational efficiency.

Uploaded by

xalet99067
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views7 pages

FFT

The document discusses Fast Fourier Transform (FFT) algorithms, which are designed to compute the Discrete Fourier Transform (DFT) more efficiently than direct computation. It outlines the computational complexity of direct DFT, highlighting the significant number of complex multiplications and additions required, especially for large N values. The document also emphasizes the importance of FFT algorithms in digital signal processing applications due to their improved computational efficiency.

Uploaded by

xalet99067
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

S)

Fast Fourier Transformn Algorithms

5.1 Introduction
We studied Discrete Fourier Transform (DFT) earlier. The
DFT 0s used in large number
ot appications of DSP such as filtering, correlation analysis, spectrum
analysis etc. but ute
diret computation of DET involves large number of computations. Hence the processo
main bUSy. Special algorithms have been developed to compute DFT quickly. These
agoriuuis exploit the periodicity and symmetry properties of twiddle factors (phase
iactors). Hence DFT is computed fast using such algorithms compared to direct
computation. These algorithms are collectively called as Fast Fourier Transform (FFT)
algorithms. These algorithms are very efficient in terms of computations. As the value of
N inreases, the computational efficiency of FFT algorithms increases.
5.2 Efficient Computation of the DFT

52.1 Direct Computation of DFT


Before directly starting study of FFT algorithms, let us see the complexity of
Somputa tions in the direct computation of DFT. By definition, the DFT is given as.
N-1
k=0, 1,.. N-1
X() =
n=0

complex, And W is the twiddle


Here x(r is the input sequence which can be real or computation.of X()
phase factor which is complex number. Thus involves the
ltiplications and summations of complex numbers. Fig . 5.2.1 shows the evpansion of
nation of the above equation.

(5 -
Digital Signal Processing 5-2 Fast Fourier Transform Algorithma

One Second Third


complex Complex Complex complex
addition addition addition addition

k 2k V 3
X(k) =x(0) x WN +x(1) x WN +x(2) x WN +x(3) x W X(N-1)x WN(N-1)k
th
One Second Third
complex Complex complex
multiplication multiplication multiplication complex
multiplication
(N - 1)complex additions for one value of k
N complex multiplications for one value of k

Fig. 5.2.1 Number of complex multiplications and additions


in direct computation of DFT

For any value of 'k in this equation, observe the multiplications and additions
involved. 'N number of complex multiplications and '(N- 1)' number of complex additions
are required to calculate X() for one value of k. We know that there are such

k=0,1,...N-1 ;i.e. 'N' number of values of X().


Hence,
Number of complex
multiplications required for
Nx N= N2 (5.2.1)
calculating X (k) for
k=0, 1,..., N-1

And,
Number of complex
additions required for (5.22)
= (N-1) x N= N- N
calculating X(k) for
k=0,1,.. N-1

Thus if we want to evaluate the 1024 point DFT of the sequence, then N=102*,

Complex multiplications = N² =(1024)2 = 1 x 106


Complex additions = N² - N=(1024)2 -1024 = 1× 106
Digital Signal Processing 5-3 Fast Fourier Transfom Algorithms
Here let us
assume that the procesSSOI executes one
complex multiplication in
1microsecond Let the is also executed in 1 microsecond. Then the
One complex addition
time required for computations will be,
Time = (complex multiplica tions) x (time for one mltiplication)
+ (complex additions) x (time for one addition)
= (1x106 x1 x10-4) - (1x 106 x1 x10%)
= 1+1=2 seconds.

Thus two seconds of the time is required for computations of 1024


point DFT, In terms
of processors, this is large time. This is because
processors has to do lot of other work
such as fetching and storing data in the memory,
handling data inputs and outputs,
displays etc. Hence real time computation of DFT for large
values of N becomes
practically impossible by direct computation. We will see further that FFT
extremely fast and their computation speed increases as 'N algorithms are
algorithms are used always to compute DFT. increases. Hence FFT

Example 5.2.1 : In the direct computation of N-point DFT of a


sequence, how many
multiplications, additions and trigonometric function evaluation are required ?
Solution : Number of complex multiplications and complex additions :
By equation 5.2.1 we know that N² complex multiplications are
required in the direct
Computation of N-point DFT. Similarly by equation 5.2.2 we know that (N- N) complex
daditions are required in the direct computation of N-point DFT.
To determine number of real multiplications, real additions and trigonometric
functions :
We know that DFT is givern as,
N-1

X(®) = x() ej2rkn/ N k=0,1,... , N-1


n=0

2r
Heree N = WN as we have seen. Hence above equation can be written as,

N-1
k=0,1,..., N-1 .. (5.2.3)
X(A) =
n= 0
Digital Signal Processing 5-4 Fast Fourier Transform

We know that both x() and W" are complex valued. Let their real and
Algorthm
parts be expressed as,
x() = XR (n) +j x, (n)
imagnan
and wkn = W +j WN
Here x () is real part of x ()
x, (n) is imaginary part of x()
WA is real part of W
WN is imaginary part of W
Then equation 5.2.3 can be written as,
N-1

X() = ) [XR () +jx, ()][WR +j WE


n=0

N-1
... (52.4
n=0

Here compare equation 5.2.3 with above equation. Observe that one compla
multiplication x() Wk of equation 5.2.3 is converted as follows in Fig. 5.2.2.

Four real multiplications

kn kn kn kn
[XR(n) WRN x(n) WiN ]+ilxR(n) WIN +
X{(n) WRN )

Two real additions

Fig. 5.2.2 Conversion of one complex multiplication


Digital Signal Processing 5-5 Fast Fourier Transform Algorithms
Important Notes:
(1) Subtraction is also counted as addition in signal
almost same timne as
processing, since it requires
addition.
(2) The complex numbers are expressed as,
(Real part) + j(Imaginary part)
This addition is never executed since it is just
way of
representing complex numbers.
(3) 'Real part' and 'Imaginary part of the complex number are basically real
numbers.
From Fig. 5.2.2 we have,
One complex multiplication 4 Real multiplications
is converted to
2 Real additions ... (5.2.5)
We know that for each value of k, there are 'N'
write,
complex multiplications. Hence we can
For each value of k, Ncomplex
4N Real multiplications
multiplications are converted to 2N Real additions
(5.2.6)
We know that k is varied from 0to N-1 for
takes 'N differernt values for computation ofcomputing DFT of x(). In other words, k
DFT. Hence there are N' complex
multiplications. These are converted as follows :
For complete DFT, (Nx ) complex 4Nx N= 4N2 Real
multiplications
multiplications are converted to 2N× N= 2N² Real additions
... (5.2.7)
Now let us see how complex additions are
converted. Let us
numbers a+ jband c+jd The addition of two complex numbers isconsider the two complex
shown in Fig. 5.2.3.
Two
complex
numbers
This is one
complex number
(a + jb) + (ctid) = (atc) + j(b+d)

One complex
addition
Two real
additions
Fia. 5.2.3 Conversion of one complex addition.
Here a, b, c and d are real numbers
Digital Signal Processing 5-6 Fast Fourier Transform
As shown in Fig. 5.2.3 above, onc complex addition is converted to two real Algorthm
i.e.,

One comnplex addition is converted to ’ Two real additions


additions
We know that for each value of 'k there are (N-1) complex additions. (5.28,
write, Hence we can
For éach value of k. (N-1) complex ’ 2x (N-1) = 2 (N-1) real additions
additions- are eenVerted to .. (529)
We know that k varies from 0 to N-1 for computing DFT of x(). ie. k takes N
different values. Hence (N-1)N complex additions are converted as,
For (complete DFT (N-1) complex ’
additions are converted to
2x(N-1) N= 2N-2N real additions . .(5.2.10)

Hence from equation 5.2.7 and above equation, total number of real additions are,
Total real additions iD computation of DFT = 2N' + 2N- 2N
= 4N - 2N
= N(4N-2) ... (5.2.11)
And total number of real multiplications are (see equation 5.2.7),
Total real multiplications in computation of DFT = 4N? (5.2.12)
We know that, Wkn = ej2n kn/ N
By euler's identity eJ = Cos -jsin0, we can write above equation as,
2 kn 2Tu kn
W = COS
N
-j sin
N
2T kn
Here WER = COS i.e. real part of Wn
N

and
2T kn
W = - sin N i.e. imaginary part of W
nere note that two trigonometric values are executed for every value of W
equation 5.2.3 or equation 5.2.4 observe that n varies from 0 to N - land hence WN
N different values. Similarly 'k' varies from 0to N-I and hence
values. Hence for simultaneous variation of 'k and 'n', W" takesW"Nxtakes N= N2N ditferet
et
values. Hence,
Digital Signal Processing 5-7 Fast Fourier Transform Algorithms
Number of trigonometricvalues evaluated in computationof DFT = 2x Nx= 2N
... (5.2.13)
Table 5.2.1 summarizes the results of this example :
Sr. No. Number of computations
Operation
1 N2
Complex muitipications
2 N2-N
Complex additions
3 4N2
Real mutiplications
Real additions 4N?- 2N
5
Trigonometric functions 2N2

Table 5.2.1 Computational complexity of direct computation of N-point DFT


5.2.2 Properties of W,
Now let us consider the properties of Ww: These properties are used by FFT
algorithms to reduce the number of calculations.
We know the N-point DFT of sequence x(r) is given as,
N-1
X(K) = k=0, 1,..... N-1 (5.2.14)
n= 0

Here W, is called twiddle factor and it is defined as.

WN -
2 (5.2.15)
This twiddle factor exhibit symmetry and periodicity properties.
0) Periodicity property of Wy :
Wt*N = W* .. (5.2.16)
Proof : 8
2

We know that W = eN

WtN =

= e k-J2r
.. (5.2.17)
= ek j2

You might also like