MM 2
MM 2
MODULE 2:
FAST FOURIER TRANSFORMS ALGORITHMS: Introduction, decimation in time
algorithm, first decomposition, number of computations, continuation of decomposition,
Number of multiplications, computational efficiency, decimation in frequency algorithms,
algorithm, inverse decimation in time and inverse decimation in frequency
algorithms,
decomposition for a composite number N=9.
CONTENTS:-
RECOMMENDED READINGS
3. DIGITAL SIGNAL PROCESSING, S. K. MITRA, TATA MC-GRAW HILL, 2ND EDITION, 2004.
for k = 0, . . . , N - 1 where
We would like the procedure to be fast, simple, and accurate. Fast is the most important, so we
will sacrifice simplicity for speed, hopefully with minimal loss of accuracy
Let us start with the simple way. Assume that has been precompiled and stored in a
table for the N of interest. How big should the table be? is periodic in m with period N,
so we just need to tabulate the N values:
(Possibly even less since Sin is just Cos shifted by a quarter periods, so we could save just Cos
when N is a multiple of 4.)
Why tabulate? To avoid repeated function calls to Cos and sin when computing the DFT. Now
we can compute each X[k] directly from the formula as follows
For each value of k, there are N complex multiplications, and (N-1) complex additions. There
are N values of k, so the total number of complex operations is
Complex multiplies require 4 real multiplies and 2 real additions, whereas complex additions
require just 2 real additions N2 complex multiplies are the primary concern.
N2 increases rapidly with N, so how can we reduce the amount of computation? By exploiting
the following properties of W:
The first and third properties hold for even N, i.e., when 2 is one of the prime factors of N.
There are related properties for other prime factors of N.
We have seen in the preceding sections that the DFT is a very computationally
intensive operation. In 1965, Cooley and Tukey published an algorithm that could be used to
compute the DFT much more efficiently. Various forms of their algorithm, which came to be
known as the Fast Fourier Transform (FFT), had actually been developed much earlier by
other mathematicians (even dating back to Gauss). It was their paper, however, which
stimulated a revolution in the field of signal processing.
It is important to keep in mind at the outset that the FFT is not a new transform. It is
simply a very efficient way to compute an existing transform, namely the DFT. As we saw, a
straight forward implementation of the DFT can be computationally expensive because the
number of multiplies grows as the square of the input length (i.e. N2 for an N point DFT). The
FFT reduces this computation using two simple but important concepts. The first concept,
known as divide-and-conquer, splits the problem into two smaller problems.
The second concept, known as recursion, applies this divide-and-conquer method
repeatedly until the problem is solved.
1. A designer has available a number of eight point FFT chips. Show explicity how he
Solution:-
2. Let x(n) be a real valued N-point (N=2) sequence. Develop a method to compute
An N-Point DFT X1(k), which contains only the odd harmonics by using only a
Real N/2 points DFT.
Solution:-
3. The Z-Transform of the Sequence x(n) = u(n) –u(n-7) is sampled at five points on
Solution:-
CONTENTS:-
3. GOERTZEL ALGORITHM,
4. CHIRP-Z TRANSFORM
RECOMMENDED READINGS
3. DIGITAL SIGNAL PROCESSING, S. K. MITRA, TATA MC-GRAW HILL, 2ND EDITION, 2004.
Now, let us split X(k) into the even and odd-numbered samples. Thus we obtain
The computation of the sequences g1 (n) and g2 (n) and subsequent use of these
sequences to compute the N/2-point DFTs depicted in fig we observe that the basic
computation in this figure involves the butterfly operation.
This algorithm exploits periodicity property of the phase factor. Consider the DFT definition
N 1
X (k ) x(n)W
N (1)
nk
n0
kN
W N
Since is equal to 1, multiplying both sides of the equation by this results in;
N 1 N 1
kN mk
(k ) WN
X x( m)W N
x (m )W k ( N m)
N (2)
m0 m0
Where yk(n) is the out put of a filter which has impulse response of hk(n) and input x(n).
The output of the filter at n = N yields the value of the DFT at the freq ωk = 2πk/N
The above form of filter response shows it has a pole on the unit circle at the frequency ωk =
2πk/N.
Entire DFT can be computed by passing the block of input data into a parallel bank of N
single-pole filters (resonators)
Entire DFT can be computed by passing the block of input data into a parallel bank of N
single-pole filters (resonators)
From the frequency response of the filter (eq 6) we can write the following difference
equation relating input and output;
Y ( z) 1
H k ( z) k k 1
X ( z) 1 WN z
k
y (n) W y (n 1) x(n) y k (1) 0 (7)
k N k
The phase factor appearing in the difference equation can be computed once and stored.
The form shown in eq (7) requires complex multiplications which can be avoided doing
suitable modifications (divide and multiply by 1 WNk z 1 ). Then frequency response of the
filter can be alternatively expressed as
1W N z
k 1
Hk ( z) (8)
1 2 cos(2
2
k / N ) z 1 z
This is second –order realization of the filter (observe the denominator now is a second-order
expression). The direct form realization of the above is given by
vk (n) 2 cos(2k / N )vk (n 1) vk (n 2) (9)
x(n)
yk (n) vk (n) WkN vk (n 1) vk (1) vk (2) 0 (10)
4.2.1 Introduction:
1. Obtain samples of z-transform on a circle of radius ‘a’ which is concentric to unit circle
The possible solution is to multiply the input sequence by a-n
2. 128 samples needed between frequencies ω = -π/8 to +π/8 from a 128 point sequence
From the given specifications we see that the spacing between the frequency samples is
π/512 or 2π/1024. In order to achieve this freq resolution we take 1024- point FFT of
the given 128-point seq by appending the sequence with 896 zeros. Since we need
a. if R0< 1 the points fall on a contour that spirals toward the origin
d.If r0=1 and R0=1 the contour is an arc of the unit circle.
(Additionally this contour allows one to compute the freq content of the sequence x(n) at
dense set of L frequencies in the range covered by the arc without having to compute a large
DFT (i.e., a DFT of the sequence x(n) padded with many zeros to obtain the desired resolution
in freq.))
e. If r0= R0=1 and θ0=0 Φ0=2π/N and L = N the contour is the entire unit circle similar to the
standard DFT. These conditions are shown in the following diagram.
where W R0 e (14)
j0
X (zk ) W k
2
/2
y(k ) y(k ) / k 0,1,..........L (16)
h(k ) 1
Where
2 j 0 n n2 /
n /2
h(n) W g(n) x(n)(r0 e ) W
N 1
y(k ) g (n)h(k (17)
n)
n0
both g(n) and h(n) are complex valued sequences
If R0 =1, then sequence h(n) has the form of complex exponential with argument ωn =
Y1(k) = G(K)H1(k)
8. Application of IDFT will give y1(n), for
0 ≤n ≤L-1 i.e.,
c.The samples of Z transform are taken on a more general contour that includes the unit
circle as a special case.
CZT is used in this application to sharpen the resonances by evaluating the z-transform
off the unit circle. Signal to be analyzed is a synthetic speech signal generated by exciting a
five-pole system with a periodic impulse train. The system was simulated to correspond to a
sampling freq. of 10 kHz. The poles are located at center freqs of 270,2290,3010,3500 & 4500
Hz with bandwidth of 30, 50, 60,87 & 140 Hz respectively.
• The first two spectra correspond to spiral contours outside the unit circle with a resulting
broadening of the resonance peaks
• |w| = 1 corresponds to evaluating z-transform on the unit circle
• The last two choices correspond to spiral contours which spirals inside the unit circle and
close to the pole locations resulting in a sharpening of resonance peaks.
The cosine and sine sequences in h(n) needed for pre multiplication and post multiplication are
usually stored in a ROM. If only magnitude of DFT is desired, the post multiplications are
unnecessary,
1. Draw the flow graph for the decimation in frequency (DIF) SRFFT algorithm for
N=16. What is the number of nontrivial multiplications?
Solution:-
Q3.
Solution:-
Solution:-
5. Determine the system function H(z) and the Difference equation for the system
That uses the geortzel algorithm to compute the DFT value X(N-k).
Solution:-