FFT Queries

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

UNIT3

DSP

1. What is FFT? What is the computational efficiency of FFT radix-2 DIT algorithm for an N-point sequence? Compare it with that of direct DFT computations.
FFT: Fast Fourier Transform(FFT) is an algorithm used for computing the discrete fourier transform.FFT algorithm reduces the number of computations .For efficient computation of DFT, Fast Fourier Transform is used. RADIX-2 FFT ALGORITHMS The N -point DFT of an N -point sequence s(n) is

Because x(n) may be either real or complex, evaluating X(k) requires on the order of N complex multiplications and N complex additions for each value of k. Therefore, because there are N values of X(k), computing an N-point DFT requires N2 complex multiplications and additions. The basic strategy that is used in the FFT algorithm is one of "divide and conquer."which involves decomposing an N-point DFT into successively smaller DFTs. To see how this works, suppose that the length of x(n) is even (i.e., N is divisible by 2). If x(n) is decimated into two sequences of length N/2, computing the N/2-point DFT of each of these sequences requires approximately (N/2)2 multiplications and the same number of additions. Thus, the two DFTs require 2(N/2)2 =1/2N2 multiplies and adds. Therefore, if it is possible to find the N-point DFT of s(n) from these two N/2-point DFTS in fewer than N2/2 operations, a savings has been realized.

2. Give the steps involved in implementing radix-2, DIT-FFT algorithm. Decimation-in-Time FFT algorithm:
The decimation-in-time FFT algorithm is based on splitting (decimating) x(n) into smaller sequences and finding X(k) from the DFTs of these decimated sequences. Let x(n) be a sequence of length N = 2", and suppose that x(n) is split (decimated) into two subsequences, each of length N/2. As illustrated in Fig. 7-1, the first sequence, g(n) is formed from the even-index terms, and the second, h(n), is formed from the odd-index terms, and the second, h(n), is formed from the odd-index terms, in terms of these sequences, the N -point DFT of x(n) is

..3.1

GRIETECE

UNIT3

DSP

Fig.2.1 Decimating a sequence of length N=8 by factor of 2 Because Eq. (3.1) may be written as

note that the first term is the N/2-point DFT of g(n), and the second is the N/2-point DFT of h(n): 3.2 Although the N/2-point DFTs of g(n) and h(n) are sequences of length NL2, the periodicity of the complex exponentials allows us to write

Therefore, X(k) may be computed from the N/2-point DFTs G(k) and H(k). Note that because Then and it is only necessary to form the products W; H(k) for k = 0. 1. . , N/2-1. The complex exponentials multiplying H(k) in Eq. (7.2) are called twiddle factors. A block diagram showing the computations that are necessary for the first stage of an eight-point decimation-intime FFT is shown in Fig. 7-2. If N/2 is even, g(n) and h(n) may again be decimated. For example, G (k) may be evaluated as follows:

GRIETECE

UNIT3

DSP

Fig. 2.2 An eight-point decimation-in-time FFT algorithm after the first decimation. As before, this leads to

where the first term is the N /4-point DFT of the even samples of g(n), and the second is the N/4-point DFT of the odd samples. A block diagram illustrating this decomposition is shown in Fig. 2-3. If N is a power of 2, the decimation may be continued until there are only two-point DFTs of the form shown in Fig. 2-4

Fig.2.3. Decimation of the four-point DFT into two-point DFTs in the decimation-in-time FFT.

Fig 2.4 A two-pont DFT

GRIETECE

UNIT3

DSP

The basic computational unit of the FFT, shown in Fig. 2-5(a), is called a butterfly. This structure may be simplified by factoring out a term from the lower branch as illustrated in Fig. 2-5(b). The factor that remains is time FFT is shown in Fig. 2-6. =-1. A complete eight-point radix-2 decimation-in-

Fig. 2-5. (a) The butterfly, which is the basic computational element of the FFT algorithm (b) A simplified butterfly. With only one complex multiplication.

Fig. 2-6. A complete eight-point radix-2 Decimation-in-lime FFT.

3. Give the steps involved in implementing radix-2, DIF-FFT algorithm. Decimation-in- Frequency FFT algorithm:
FFT algorithms may be derived by decimating the output sequence X(k) into smaller and smaller subsequences. These algorithms are called decimation-in-frequency FFTs and may be derived as follows. Let N be a power of 2, N=2n. and consider separately evaluating the evenindex and odd-index samples of X(k). The even samples are

Separating this sum into the first N/2 points and the last N/2 points, and using the fact this becomes

GRIETECE

UNIT3

DSP

With a change in the indexing on the second sum we have

Finally, because

which is the N /2-point DFT of the sequence that is formed by adding the first N/2 points of x(n) to the last N/2. Proceeding in the same way for the odd samples of X(k) leads to .3.1

..3.2 A flow graph illustrating this first stage of decimation is shown in Fig. 7-7. As with the decimation-in-time FFT, the decimation may be continued until only two-point DFTs remain. A complete eight-point decimation-in-frequency FFT is shown in Fig. 7-8. The complexity of the decimation-in-frequency FFT is the same as the decimation-in-time, and the computations may be performed in place. Finally, note that although the input sequence x(n) is in normal order, the frequency samples X(k) are in bit-reversed order.

Fig.3.1 An eight-point decimation-in-frequency FFT algorithm after the first stage of decimation.

GRIETECE

UNIT3

DSP

Fig.3.2. Eight-point radix-2 decimation-in-frequency FFT.

4. Assume that a complex multiply takes 1s and that the amounts of time to compute a DFT is determined by the amount of time it takes to perform all of the multiplications. (a) How much time does it take to compute a 1024-point DFT directly? (b) How much time is required if an FFT is used? (c) Repeat parts (a) and (b) for a 4096-point DFT.
(a) Including possible multiplications by I, computing an N-point DFT directly requires N2 complex multiplications. If it takes 1s per complex multiply, the direct evaluation of a 1024point DFT requires (b) With a radix-2 FFT, the number of complex multiplications is approximately (N/2) log2N which, for N=1024, is equal to 5 120. Therefore, the amount of time to compute a 1024-point DFT using an FFT is (c) If the length of the DFT is increased by a factor of 4 to N = 4096, the number of multiplications necessary to compute the DFT directly increases by a factor of 16. Therefore, the time required to evaluate the DFT directly is If, on the other hand, an FFT is used, the number of multiplications is and the amount of time to evaluate the DFT is

GRIETECE

UNIT3

DSP

5. Let x(n) be a sequence of length N with where N is an even integer. (a) Show that the N-point DFT of x(n) has only odd harmonics. That is X(k) =0..k even (b) Show how to find the N-point DFT of x(n) by finding the N/2-point DFT of an appropriately modified sequence.
(a) The N-point DFT of x(n) is

Because x(n)=-x(n + N/2), if k iseven,each term in the sum is zero, and X(k)=0 for k=0,2,4, . . (b) In the first stage of a decimation-in-frequency FFT algorithm, we separately evaluate the even-index and odd-index samples of X(k). If X (k) has only odd harmonics, the even samples are zero, and we need only evaluate the odd samples. From Eq. (3.1) we see that the odd samples are given by

With x(n) = -x(n + N/2) this becomes

which is the N/2-point DFT of the sequence DFT of x(n), we multiply the first N/2 points of x(n) by

. Therefore, to find the N-point

and then compute the N/2-point DFT of y(nh The N/2-point DFT of x(n) is then given by

GRIETECE

UNIT3

DSP

6. When the number of points in the DFT is a power of 4, we can use a radix-2 FFT algorithm. However, when N=4v, it is more efficient to use a radix-4 FFT algorithm. (a) Derive the radix4 decimation-in-time FFT algorithm when N=4v. (b) Draw the structure for the butterfly in the radix-4 FFT, and compare the number of complex multiplies and adds with a radix-4 FFT to a radix-2 FFT.
(a) To derive a decimation-in-time radix-4 FFT. let NI = N/4 and N2 = 4. and define the index maps

We then express X(k) using the decomposition given in Eq. (3.2) with N1=N/4 and N2=4,

the inner summation.

is the N/4-point DFT of the sequence x(4n1+n2),and the outer summation is a 4-point DFT,

where Since W4 = -j, these 4-point transforms have the form

for kl= 0. 1, 2.3, and n2=0,1.(N/4) - 1.If N2= N/4 is divisible by 4,then the process is repeated. In this way, we generate V = Iog4 N stages with N/4 butterflies in each stage. (b) The 4-point butterflies in the radix-4 FFT perform operations of the form

GRIETECE

UNIT3

DSP

With

the butterflies have the structure shown in the figure below

Since multiplications by j only requires interchanging real and imaginary parts and possibly changing a sign bit, then each 4-point butterfly only requires 3 complex multiplications. With V= log, N stages, and N/4 butterflies per stage, the number of complex multiplies for a DFT of length N=4v is For a radix-2 decimation-in-time FFT, on the other hand, the number of multiplications is

Therefore, the number of multiplications in a radix-4 FFT is & times the number in a radix-2 FFT.

7. To find the N-point DFT of a sequence where N is a power of 3, N = 3v. (a) Develop a radix-3 decimation-in-time FFT algorithm, and draw the corresponding flow graph for N=9. (h) How many multiplications are required for a radix-3 FFT? (c) Can the computations be performed in place?
(a) A radix-3 decimation-in-time FFT may be derived in exactly the same way as a radix-2 FFT. First, x(n) is decimated by a factor of 3 to form three sequences of length N/3

GRIETECE

UNIT3

DSP

Expressing the N-point DFT in terms of these sequences, we have

Since

then

Note that the first term is the N/3-point DFT of f (n), the second is of g(n), and the third is times the N/3-point DFT of h(n),

times the N/3-point DFT

We may continue decimating by factors of 3 until we are left with only 3-point DFTs. The flow graph for a 9-point decimation-in-time FFT is shown in Fig. 7- 1 I. Only one of the 3-point butterflies is shown in the second stage in order to allow for the labeling of the branches. The complete flow graph is formed by replicating this 3-point butterfly up by one node, and down by one node, and changing the branch multiplies to their appropriate values. (b) If N=3v then there are v stages in the radix-3 FFT. The general form of each 3-point butterfly, shown in the second stage of the flow graph in Fig.7-1, requires six multiplies (some require fewer if we do not consider multiplications by 1). Since there are N/3 butterflies in each stage, then the total number of multiplications is 6N log3N

Fig. 7-1. Flow graph for a 9-point decimation-in-time FFT (only one butterfly in the second stage is shown).

GRIETECE

UNIT3

DSP

(c) Yes, the computations may be performed in place.

8. Derive a radix-3 decimation-in-frequency FFT for N=3v and draw the corresponding flow graph for N =9.
As with the radix-2 decimation-in-frequency FFT, with N =3", we separately evaluate the indices for which ((k))3=0, ((k))3 =1, and ((k))3=2. For ((k))3=0 (i.e., k is a multiple of 3),

Separating this sum into the first N/3 points, the second N/3 points, and the last N/3 points, and using the fact that this becomes

With a change in the indexing in the second and third sums, we have

Finally, because

which is the N/3-point DFT of the sequence in brackets. Proceeding in the same way for the samples X(3k + I), we have

Finally, for the samples X(3k + 2) we have

GRIETECE

UNIT3

DSP

The flow graph for nine-point decimation-in-frequency FFT is shown below.

9. Suppose that we have a number of eight-point decimation-in-time FFT chips. How could these chips be used to compute a 24-point DFT?
A 24-point DFT is defined by

Decimating x(n) by a factor of 3, we may decompose this DFT into three 8 point DFTs as follows:

Therefore, if we form the three sequences

and use the 8-point FFT chips to find the DFTs F(k), G(k), and H(k), the 24-point DFT of x(n) may be found by combining the outputs of the 8-point FFTs as follows:

GRIETECE

You might also like