dft and fft fft is an algorithm to convert a time domain signal to dft efficiently. fft is not...

37
DFT and FFT • FFT is an algorithm to convert a time domain signal to DFT efficiently. • FFT is not unique. Many algorithms are available. • Each algorithm has merits and demerits. • In each algorithm, depending on the sequence needed at the output, the input is regrouped. • The groups are decided by the number of samples.

Upload: kiya-toll

Post on 14-Dec-2015

260 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

DFT and FFT• FFT is an algorithm to convert a time domain

signal to DFT efficiently.

• FFT is not unique. Many algorithms are available.

• Each algorithm has merits and demerits.

• In each algorithm, depending on the sequence needed at the output, the input is regrouped.

• The groups are decided by the number of samples.

Page 2: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

FFTs

• The number of points can be nine too.

• It can be 15 as well.

• Any number in multiples of two integers.

• It can not be any prime number.

• It can be in the multiples of two prime numbers.

Page 3: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

FFTs• The purpose of this series of lectures is to

learn the basics of FFT algorithms.• Algorithms having number of samples 2N,

where N is an integer is most preferred.• 8 point radix-2 FFT by decimation is used

from learning point of view.• Radix-x: here ‘x’ represents number of

samples in each group made at the first stage. They are generally equal.

• We shall study radix-2 and radix-3.

Page 4: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Radix-2: DIT or, DIF• Radix-2 is the first FFT algorithm. It was

proposed by Cooley and Tukey in 1965.• Though it is not the efficient algorithm, it lays

foundation for time-efficient DFT calculations. • The next slide shows the saving in time

required for calculations with radix-2.• The algorithms appear either in

(a) Decimation In Time (DIT), or, (b) Decimation In Frequency (DIF).

• DIT and DIF, both yield same complexity and results. They are complementary.

• We shall stress on 8 to radix 2 DIT FFT.

Page 5: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Other popular Algorithms

Besides many, the popular algorithms are:• Goertzel algorithm• Chirp Z algorithm• Index mapping algorithm• Split radix in prime number algorithm. have modified approach over radix-2. Split radix in prime number does not use even the twiddles.We now pay attention to 8/radix-2 butterfly FIT FFT algorithm.

Page 6: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Relationship between exponential forms

and twiddle factors (W) for Periodicity = N

Sr. No.

Exponential form Symbolic form

01 e-j2n/N = e-j2(n+N)/N WNn = WN

n+N

02 e-j2(n+N/2)/N = - e-j2n/N WNn+N/2= - WN

n

03 e-j2k = e-j2Nk/N = 1 WNN+K = 1

04 e-j2(2/N) = e-j2/(N/2) WN2 = WN/2

Page 7: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Values of various twiddles WNn for

length N=8n WN

n = e(-j2)(n/N) Remarks

0 1 = 10 WN 0

1 (1-j)/√2 = 1 -45 WN 1

2 -j = 1 -90 WN 2

3 - (1+j)/√2 = 1-135 WN 3

4 -1 = 1 -180 WN 4 = -WN

0

5 - (1-j)/√2 = 1 -225 WN 5 = -WN

1

6 j = 1 90 WN 6 = -WN

2

7 (1+j)/√2 = 1 45 WN 7 = -WN

3

Page 8: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

DFT calculations• The forward DFT, frequency domain output in the

range 0kN-1 is given by:

• While the Inverse DFT, time domain output, again, in the range 0kN-1 is denoted by

X k( )

0

n 1

n

x n( ) WN nk

x n( )1

N0

n 1

k

X k( ) WN nk

Page 9: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Matrix RelationsMatrix Relations• The DFT samples defined by

can be expressed in NxN matrix as

where

TNXXX ][.....][][ 110 X

TNxxx ][.....][][ 110 x

10,][][1

0

NkWnxkX

N

n

knN

x(n)X(k)1

0n

Nnk

NW

Page 10: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Matrix RelationsMatrix Relations

can be expanded as NXN DFT matrix

2)1()1(2)1(

)1(242

)1(21

1

0

1

1

1

1111

NN

NN

NN

NNNN

NNNNN

k

nkN

WWW

WWW

WWW

W

1

0

N

k

nkNW

Page 11: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

DFT:

For N of length 4,range of n, k = [0 1 2 3] each.

Hence X(n) = x(0)WNn.0+x(1)WN

n.1+x(2)WNn.2 + x(3)WN

n.3

X k( )

0

n 1

n

x n( ) WN nk

x

x(0) x(1) x(2) x(3)

X(0) = W40x0 W4

0x1 W40x2 W4

0x3

X(1) = W41x0 W4

1x1 W41x2 W4

1x3

X(2) = W42x0 W4

2x1 W42x2 W4

2x3

X(3) = W43x0 W4

3x1 W43x2 W4

3x3

Page 12: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

x(0) x(1) x(2) x(3)

X(0) = W40x0 W4

0x1 W40x2 W4

0x3

X(1) = W41x0 W4

1x1 W41x2 W4

1x3

X(2) = W42x0 W4

2x1 W42x2 W4

2x3

X(3) = W43x0 W4

3x1 W43x2 W4

3x3

x(0) x(1) x(2) x(3)

X(0) = W40 W4

0 W40 W4

0

X(1) = W40 W4

1 W42 W4

3

X(2) = W40 W4

2 W44 W4

6

X(3) = W40 W4

3 W46 W4

9

Can be rewritten as:

Page 13: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

x(0) x(1) x(2) x(3)

X(0) = W40 W4

0 W40 W4

0

X(1) = W40 W4

1 W42 W4

3

X(2) = W40 W4

2 W44 W4

6

X(3) = W40 W4

3 W46 W4

9

x(0) x(1) x(2) x(3)

X(0) = W40 W4

0 W40 W4

0

X(1) = W40 W4

1 W42 -W4

1

X(2) = W40 W4

2 W40 W4

2

X(3) = W40 -W4

1 W42 W4

1

Page 14: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

x(0) x(1) x(2) x(3)

X(0) = W40 W4

0 W40 W4

0

X(1) = W40 W4

1 W42 -W4

1

X(2) = W40 W4

2 W40 W4

2

X(3) = W40 -W4

1 W42 W4

1

x(0) x(1) x(2) x(3)

X(0) = 1 1 1 1

X(1) = 1 -j -1 j

X(2) = 1 -1 1 -1

X(3) = 1 j -1 -j

Page 15: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Matrix RelationsMatrix Relations

• Likewise, the IDFT is

can be expressed in NxN matrix form as

10,][][1

0

NnWkXnxN

k

nkN

X(k)1

0nx

1

N

n

nkNW

Page 16: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Matrix RelationsMatrix Relations can also be expanded as NXN DFT matrix

2)1()1(2)1(

)1(242

)1(21

1

0

1

1

1

1111

NN

NN

NN

NNNN

NNNNN

k

nkN

WWW

WWW

WWW

W

1

0

N

k

nkNW

Observe:

1

0

N

k

nkNW

1

0

1*

1

0

N

n

nkNW WN

N

k

nkN

The inversion can be had by Hermitian conjugating j by –j and dividing by N.

Page 17: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

x(0) x(1) x(2) x(3)

X(0) = 1 1 1 1

X(1) = 1 -j -1 j

X(2) = 1 -1 1 -1

X(3) = 1 j -1 -j

X 0( )

X 1( )

X 2( )

X 3( )

1

1

1

1

1

j

1

j

1

1

1

1

1

j

1

j

x 0( )

x 1( )

x 2( )

x 3( )

Characterisitc or system matrix

Page 18: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

X 0( )

X 1( )

X 2( )

X 3( )

1

1

1

1

1

j

1

j

1

1

1

1

1

j

1

j

x 0( )

x 1( )

x 2( )

x 3( )

x 0( )

x 1( )

x 2( )

x 3( )

1

4

1

1

1

1

1

j

1

j

1

1

1

1

1

j

1

j

X 0( )

X 1( )

X 2( )

X 3( )

xThe effective determinant of above is 1/4. Conversion in system matrices of DFT and IDFT obtained by replacing by j by –j. Inversion of above matrix is:

x 0( )

x 1( )

x 2( )

x 3( )

1

4

1

1

1

1

1

j

1

j

1

1

1

1

1

j

1

j

X 0( )

X 1( )

X 2( )

X 3( )

Page 19: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

FOR 8 point DFT: N=8• The system Matrix is:

W80x0 W8

0x1 W80x2 W8

0x3 W80x4 W8

0x5 W80x6 W8

0x7

W81x0 W8

1x1 W81x2 W8

1x3 W81x4 W8

1x5 W81x6 W8

1x7

W82x0 W8

2x1 W82x2 W8

2x3 W82x4 W8

2x5 W82x6 W8

2x7

W83x0 W8

3x1 W83x2 W8

3x3 W83x4 W8

3x5 W83x6 W8

3x7

W84x0 W8

4x1 W84x2 W8

4x3 W84x4 W8

4x5 W84x6 W8

4x7

W85x0 W8

5x1 W85x2 W8

5x3 W85x4 W8

5x5 W85x6 W8

5x7

W86x0 W8

6x1 W86x2 W8

6x3 W86x4 W8

6x5 W86x6 W8

6x7

W87x0 W8

7x1 W87x2 W8

7x0 W87x4 W8

7x5 W87x6 W8

7x7

Page 20: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

The characteristic matrix of 8-point DFT is:

1

1

1

1

1

1

1

1

1

1 j

2

j

1 j( )

2

1

1 j( )

2

j

1 j

2

1

j

1

j

1

j

1

j

1

1 j( )

2

j

1 j

2

1

1 j

2

j

1 j( )

2

1

1

1

1

1

1

1

1

1

1 j( )

2

j

1 j

2

1

1 j

2

j

1 j( )

2

1

j

1

j

1

j

1

j

1

1 j

2

j

1 j( )

2

1

1 j( )

2

j

1 j( )

2

Page 21: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

DFT and its Inverse Conversion in system matrices of DFT and IDFT obtained by

replacing by j by –j..

1

1

1

1

1

1

1

1

1

1 j

2

j

1 j( )

2

1

1 j( )

2

j

1 j

2

1

j

1

j

1

j

1

j

1

1 j( )

2

j

1 j

2

1

1 j

2

j

1 j( )

2

1

1

1

1

1

1

1

1

1

1 j( )

2

j

1 j

2

1

1 j

2

j

1 j( )

2

1

j

1

j

1

j

1

j

1

1 j

2

j

1 j( )

2

1

1 j( )

2

j

1 j( )

2

1

8

1

1

1

1

1

1

1

1

1

1 j

2

j

1 j

2

1

1 j

2

j

1 j

2

1

j

1

j

1

j

1

j

1

1 j

2

j

1 j

2

1

1 j

2

j

1 j

2

1

1

1

1

1

1

1

1

1

1 j

2

j

1 j

2

1

1 j

2

j

1 j

2

1

j

1

j

1

j

1

j

1

1 j

2

j

1 j

2

1

1 j

2

j

1 j

2

DFT IDFTEffective determinant

Page 22: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Calculation advantage in radix-2 algorithms for various values of N

Improvement

A/BN N^2 N^2-N A (N/2)ln(N) Nln(N) B

8 64 56 120 8.32 16.64 24.95 4.8116 256 240 496 22.18 44.36 66.54 7.4532 1024 992 2016 55.45 110.90 166.36 12.1264 4096 4032 8128 133.08 266.17 399.25 20.36

128 16384 16256 32640 310.53 621.06 931.59 35.04256 65536 65280 130816 709.78 1419.57 2129.35 61.43512 262144 261632 523776 1597.01 3194.02 4791.03 109.32

1024 1048576 1047552 2096128 3548.91 7097.83 10646.74 196.882048 4194304 4192256 8386560 7807.61 15615.22 23422.83 358.054096 16777216 16773120 33550336 17034.79 34069.57 51104.36 656.518192 67108864 67100672 134209536 36908.70 73817.40 110726.10 1212.09

16384 268435456 268419072 536854528 79495.66 158991.33 238486.99 2251.09

No. of computation

points

DIRECT COMPUTATION FFT computatoncomplex

multiplicationComplex additions

complex multiplication

Complex additionsTotal Total

Page 23: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

The Process of Decimation• First step of process of decimation is splitting a

sequence in smaller sequences.• A sequence of 15 can be splitted in five

sequences of threes or three sequences of fives.• A sequence of 16 numbers can be splitted in 2

sequences of 8. Further, each sequence of 8 can be be splitted in two

sequences of 4; Subsequently each sequence of 4 can be splitted in

two sequences of two;There can be various combinations and varied

complexities.

Page 24: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

4-point DFTX 0( )

X 1( )

X 2( )

X 3( )

1

1

1

1

1

j

1

j

1

1

1

1

1

j

1

j

x 0( )

x 1( )

x 2( )

x 3( )

Can be, by interchanging col. 2 and 3, seen as

X 0( )

X 1( )

X 2( )

X 3( )

1

1

1

1

1

1

1

1

1

j

1

j

1

j

1

j

x 0( )

x 2( )

x 1( )

x 3( )

Page 25: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

4-point DFTX 0( )

X 1( )

X 2( )

X 3( )

1

1

1

1

1

1

1

1

1

j

1

j

1

j

1

j

x 0( )

x 2( )

x 1( )

x 3( )

The system matrix is rewritten as

X 0( )

X 1( )

X 2( )

X 3( )

1

0

1

0

0

1

0

1

1

0

1

0

0

j

0

j

1

1

0

0

1

1

0

0

0

0

1

1

0

0

1

1

x 0( )

x 2( )

x 1( )

x 3( )

Page 26: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Matrix manipulation to get the desired input sequence from the actual

x 0( )

x 2( )

x 1( )

x 3( )

1

0

0

0

0

0

1

0

0

1

0

0

0

0

0

1

x 0( )

x 1( )

x 2( )

x 3( )

Page 27: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Process of decimation: example

X[n]

-1-2 1

2 3 45

67 n

X[1]

X[3]

X[5]

X[7]

X[n]

-1-2 1

2 3 45

67 n

X[1]

X[2]

X[3] X[4]

X[5]

X[6]

X[7]

X[0]

X[n]

-1-2 1

2 3 45

67 n

X[2]

X[4]

X[6]X[0]

Separating the above sequence for +ve ‘n’ in even and odd sequence numbers .

Page 28: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Process of decimation: exampleX[n]

-- 1

2 3 45

67 n

X[1]

X[3]

X[5]

X[7]2 3 4 6

X[n]

- 1 5 7 n

X[2]

X[4]

X[6]X[0]

Compress the even sequence by two.Shift the sequence to left by one and compress by two

X[n]

-

1 2 3n

X[2]

X[4]

X[6]X[0]

X[n]

2

4 6 n

X[1]

X[3]

X[5]

X[7]

The compression is also called decimation

Page 29: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

x 0( ) x 2( )

x 0( ) x 2( )

x 1( ) x 3( )

x 1( ) x 3( )

1

1

0

0

1

1

0

0

0

0

1

1

0

0

1

1

x 0( )

x 2( )

x 1( )

x 3( )

X 0( )

X 1( )

X 2( )

X 3( )

1

0

1

0

0

1

0

1

1

0

1

0

0

j

0

j

x 0( ) x 2( )

x 0( ) x 2( )

x 1( ) x 3( )

x 1( ) x 3( )

X 0( )

X 1( )

X 2( )

X 3( )

1

0

1

0

0

1

0

1

1

0

1

0

0

j

0

j

1

1

0

0

1

1

0

0

0

0

1

1

0

0

1

1

x 0( )

x 2( )

x 1( )

x 3( )

First stage of realization

Second stage

Page 30: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Decimation of 4 point DFT into 2xradix-2

• The values of

W40= 1; W4

2 = -1; W41= -j; and W4

3 = j

X[0]x0

x2

x1

x3

x0+x2

xo -x2

x1+x3

x1-x3

X[1]

X[2]

X[3]

Wo

w1

W2

W3

-1

-1

Page 31: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Decimation of 4 point DFT into 2xradix-2

• The values of

W40= 1; W4

2 = -1; W41= -j; and W4

3 = j

X[0]N/4 point

DFTeven

N/4 pointDFTodd

x0

x2

x1

x3

x0+x2

xo -x2

x1+x3

x1-x3

X[1]

X[2]

X[3]

Wo

w1

W2

W3

Page 32: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

N=8-point radix-4 DIT-FFT:

N/2 point DFT

[EVEN]

N/2 point DFT[ODD]

X(0)

X(4)

X(2)

X(6)

X(1)

X(3)

X(5)

X(7)

X[0]

X[1]

X[2]

X[3]

X[4]

X[5]

X[6]

X[7]

X0[0]

X1 [0]

X0[1]

X1 [1]

X0[2]

X1[2]

X0[3]

X1[3]

a

-j

-b

-1

-a

j

b

Note: -W4 = W0=1; -W5= W1 = a = (1-j)/2; -W2 = W6=j and -W3 = W7 = b = (1+j)/2

1

Page 33: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

The matrix equation of the slide is:

• Note the symmetry between 1st and 3rd partition and 2nd and 4th partition of system matrix.

X 0( )

X 1( )

X 2( )

X 3( )

X 4( )

X 5( )

X 6( )

X 7( )

1

0

0

0

1

0

0

0

0

1

0

0

0

1

0

0

0

0

1

0

0

0

1

0

0

0

0

1

0

0

0

1

1

0

0

0

1

0

0

0

0

a

0

0

0

a

0

0

0

0

j

0

0

0

j

0

0

0

0

b

0

0

0

b

X00( )

Xo1( )

Xo2( )

X03( )

X10( )

X11( )

X12( )

X13( )

Page 34: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

N=8-point radix-2 DIT-FFT:N-point DFTN/2 point DFTN/4 point DFT

X[0]

X[1]

X[2]

X[3]

X[4]

X[5]

X[6]

X[7]

x[0]

x[4]

x[2]

x[6]

x[1]

x[5]

x[3]

x[7]

-1

-1

-1

-1

-1

-1

-1

-1

w2

w2

w2

w1

w3-1

-1

-1

-1

Page 35: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

System Matrix for N/2 point DFT Block

Note that partitions 2 and 3 are null matrices while partitions 1 and 4 are identical.Also note that subpartitions 1st and 3rd are I matrices and

2nd and 4th sub-partitions have sign difference.Cross diagonals in either case are zero.

X00( )

Xo1( )

Xo2( )

X03( )

X10( )

X11( )

X12( )

X13( )

1

0

1

0

0

0

0

0

0

1

0

1

0

0

0

0

1

0

1

0

0

0

0

0

0

j

0

j

0

0

0

0

0

0

0

0

1

0

1

0

0

0

0

0

0

1

0

1

0

0

0

0

1

0

1

0

0

0

0

0

0

j

0

j

x 0( ) x 4( )

x 0( ) x 4( )

x 2( ) x 6( )

x 2( ) x 6( )

x 1( ) x 5( )

x 1( ) x 5( )

x 3( ) x 7( )

x 3( ) x 7( )

Page 36: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

System Matrix for N/4 block

Again see the simile between 1and 4 partitions. Note that 2 and 3 s are null matrices.Further note the sub-partition matrices. They also follow the same rule. All the elements are real.

x 0( ) x 4( )

x 0( ) x 4( )

x 2( ) x 6( )

x 2( ) x 6( )

x 1( ) x 5( )

x 1( ) x 5( )

x 3( ) x 7( )

x 3( ) x 7( )

1

1

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

1

1

x 1( )

x 4( )

x 2( )

x 6( )

x 1( )

x 5( )

x 3( )

x 7( )

Page 37: DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has

Signal flow graph for decimation of 8 point DFT

N-point DFTN/2 point DFTN/4 point DFT

X[0]

X[1]

X[2]

X[3]

X[4]

X[5]

X[6]

X[7]

x[0]

x[4]

x[2]

x[6]

x[1]

x[5]

x[3]

x[7]

-1

-1

-1

-1

-1

-1

-1

-1

w2

w2

w2

w1

w3-1

-1

-1

-1