Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

2D FFT using 1D FFT

I am trying to implement a 2D FFT using 1D FFTs. I have a matrix of size 4x4 (row major)

My algorithm is:

  1. FFT on all 16 points
  2. bit reversal
  3. transpose
  4. FFT on 16 points
  5. bit reversal
  6. transpose

Is this correct?

like image 639
user1459175 Avatar asked Jul 04 '12 17:07

user1459175


1 Answers

No - the algorithm is:

  1. do 1D FFT on each row (real to complex)
  2. do 1D FFT on each column resulting from (1) (complex to complex)

So it's 4 x 1D (horizontal) FFTs followed by 4 x 1D (vertical) FFTs, for a total of 8 x 1D FFTs.

like image 98
Paul R Avatar answered Oct 06 '22 14:10

Paul R