Title: Information Theory
1Unit - III
2Fast Fourier Transform
- In 1967 calculation of a 8192-point DFT on the
top-of-the line IBM 7094 took . - 30 minutes using conventional techniques
- 5 seconds using FFTs
- Divide and conquer approach
- Radix-r algorithms
3Decimation-in-time algorithm
- Consider the FFT algorithm for an integer power
of 2, - Create separate sums for even and odd values of
n - Letting for n even and
for n odd, we obtain
4Using following Properties of W-function
and
The DFT
F1(k) WNkF2 (k)
Have we gained anything? for N8 direct
computation will require (8)2 64
multiplications After decimation No of
multiplications (4)2 (4)2 8 40
X(k) F1(k) WNkF2 (k) and X(kN/2) F1(k) -
WNkF2 (k) (prove it)
X (r)
F1 (r)
F2 (r)
X (rN/2)
5Same butterfly is applicable for evaluating two
point DFT
Complete Butterfly diagram for 8-point FFT
X07
x0
x4
x2
x6
x1
x5
x3
x7
6Decimation in frequency
Divide x(n) from middle
Decimate in frequency
7(No Transcript)
8Use of FFT in linear filtering and correlation
9Quantization effects in the computation of DFT
- In hardware the register length is fixed to some
value (b bits) - Multiplication of two b bit data may produce
2b bit data. - The truncation/rounding off of 2b bit data to
b bit data produces quantization errors.
10- Assuming that quantization error is uniformly
distributed, the variance of error after a single
multiplication will be - s2e S2/12 S is step size.
- With b bits q2b levels can be represented thus
step size (S) 1/q 2-b - In Direct Computation, 4N real multiplications
are required to evaluate one point of an N point
DFT. - The variance of quantization error s2q 4N s2e
- For N2v s2q 2-2(b-v/2)/3
- Every 4 fold increase in N requires one more bit
to offset the additional quantization error.
11Quantization errors in FFT
- Each butterfly computation involves 1 complex
i.e. 4 real multiplications, thus - s2q 4Z s2e
- Where, Z The number of butterflies that affect
the computation of any one value of DFT. - In general Z N/2N/4N/8..21 2v-1
- Thus Z is approximately N
- FFT does not reduce the quantization error.
12The scaling factor
- If X(k) gt1 it results in overflow (no register
can store a magnitude greater than unity) - Direct computation the upper bound is
- X(k)lt ?(0 to N-1)x(n) (As W cant be gt1)
- RHS lt1 if all samples are divided by N thus range
of input (-1/N to 1/N) and S2/N - Variance of Input signal sequence x(n)
- s2x (2/N)2/12 1/3N2
- Variance of O/P signal sequence X(k)
- s2X Ns2x 1/3N (each X(k) depends upon all N
points of x(n)) - SQNR s2X/ s2q
13- In FFT, scaling can be done after each stage.
- Maximum O/P value from a butterfly lt twice the
maximum I/P value - Thus a scaling factor (½) is used after each
stage. - There are v steps thus signal will experience
(1/2)v 1/N (same scaling) - The scaling of quantization error from previous
stage greatly improves the performance. - It can be shown that
- s2q 2/3(2-2b)