Fast Fourier transform

From testwiki
Revision as of 11:00, 13 February 2024 by imported>MathXplore (added Category:Fourier transformation using HotCat)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Mathematics This page is still under construction. Any contribution is appreciated.

Fast Fourier Transform

Fast fourier transform or FFT is an algorithm mainly developed for digital computing of a Discrete Fourier transform or DFT of a discrete signal. Computing of DFT of a digital signal (discrete-time signal) involves N2 Complex multiplications [1] , where N is the number of points to which we consider taking DFT of the input periodic signal [2]. Using an FFT algorithm, the number of complex multiplications can be reduced to a greater extent. Reduction is mainly due to decimation [3] either in time domain or in frequency domain [4]

Decimation in time FFT algorithm (Radix 2)

The N-point DFT of a sequence is given by

DFT{x(n)}=n=0N1x(n)wNkn ; k=0,1,N1.

every time x(n) gets multiplied by wNkn , we get one complex multiplication. Therefore when the above summation is expanded for a given k , we get N complex multiplications. Which means that, to compute Npoint DFT, we have N×N=N2 complex multiplications.
Our aim is to reduce the number of complex multiplications. In the following presentation, The number of samples of x(n) is assumed to be a power of 2. i.e, N=2v where v is some fixed positive integer.
In this approach, N point transforms are broken into N2 point DFTs which are further broken into N4 point DFTs. And this process is continued until we get 2-point DFT. This technique is known as Divide and Conquer approach.


Let x(n) be a finite length sequence of length equal to N. Given sequence is : x(n)=x(1),x(2),x(3),x(N2),x(N1).
Even indexed sequence is : xe(n)=x(0),x(2),x(4)x(N2).
and, odd indexed sequence is : xo(n)=x(1),x(3),x(5)x(N1).

Now we can split the above DFT equation into even and odd parts as below :

X(k)=n=0N2x(n)wNknEven indexed+n=0N1x(n)wNknOdd indexed

Letting N=2r in the first summation and N=2r+1 in the second summation, we get :

X(k)=r=0N21x(2r)wN2kr+r=0N21x(2r+1)wNk(2r+1)

since,

wNk2r)=ej2πNk2r=ej2π(N2)kr=w(N2)kr

We get

X(k)=r=0N21x(2r)w(N2)kr+wN)kr=0N21x(2r+1)w(N2)kr

X(k)=G(k)+wNkH(k) ; k=0,1,2N21 or just 0kN21

Where G(k) and H(k) are N2 point DFTs of even indexed and odd indexed sequences, respectively. For computing X(k) for N2kN1 , the periodicity of G(k) and H(k) are exploited. Since G(k) and H(k) are N2-point DFTs, they are implicit periodic with a fundamental period N2 . Hence, we may write

X(k)=G(k)+wNkH(k) when 0kN21 and 

X(k)=G(k+N2)+wNkH(k+N2) when N21kN1

Now, after first decimation, the total number of complex multiplications is, η1=2(N22)+N

The same way will lead us to further decimation and thus a block diagram can be contructed as below :

Notes

Template:Reflist

Prepared from the notes of Dr. D. Ganesh Rao Tutorials, Bangalore

The derivation or the text in this article written by Sushruth Sastry 22:13, 19 November 2010 (UTC) is the content from the Tution notes of Dr. D. Ganesh rao, Prof. at MSRIT, bangalore.

  1. multipication using complex numbers, which requires computation with real and imaginary part of a complex number and thus using up memory or resources on an embedded system or a computer where DFT must be computed
  2. i.e, to find DFT of a periodic discrete time signal of fundamental period N.
  3. The process of dividing N-point DFTs into lower-point DFTs so as to reduce the complexity of one single DFT computing section of the qhole system
  4. i.e, Decimation in time means taking lower point DFTs of the inputs and then manipulating them to form the DFT of the main input sequence and the same in frequency domain requires the reverse approach