# how to interpret the 2D FFT

I know how to compute the 1D FFT (and interpret values from 0 to Nyq). When computing the 2D FFT, do we compute the FFT of row then the FFT of row then the FFT of row up to the last row. And then compute the FFT of col col for each of columns across ? But to report the RESULT of the 2D FFT ( do we report the complex value of each final row from col to col[N/2] for each row from top to bottom ?

What INFO does the 2D complex FFT result convey ?

Yes, due to the separability of the kernel :

$$e^{-j \left(\frac{2\pi}{N_1} n_1 k_1 + \frac{2\pi}{N_2} n_2 k_2 \right) } = e^{-j \frac{2\pi}{N_1} n_1 k_1} \cdot e^{-j \frac{2\pi}{N_2} n_2 k_2}$$

the 2D-DFT sum $$X[k_1,k_2] = \sum_{n_1} \sum_{n_2} f[n_1,n_2] e^{-j \frac{2\pi}{N_1} n_1 k_1} e^{-j \frac{2\pi}{N_2} n_2 k_2}$$

can be implemented using row-column (or column-row) decompositions.

$$X[k_1,k_2] = \sum_{n_1} \left( \sum_{n_2} f[n_1,n_2] e^{-j \frac{2\pi}{N_2} n_2 k_2} \right) e^{-j \frac{2\pi}{N_1} n_1 k_1}$$

The following MATLAB/OCTAVE code shows how to apply :

N = 8;            % length of columns-rows
x = randn(N,N);   % row data

X = fft(x,N) ;    % 1D-fft along columns of x[n1,n2]
X = fft(X.',N).' ;% 1D-fft along rows of intermediate X[k1,k2]

• For 3d-grid, how to perform FFT? X = fft(X.',N).' ;% 1D-fft along rows of intermediate X[k1,k2] This I do no understand. – jomegaA Feb 7 at 11:02