MATLAB: How does MATLAB do fft and ifft in matrices

ffthelphow to ffthow to ifftifftmatrix

Hi, I'm trying to do the ifft and fft of matrices, but I'm getting unexpected values.
I only don't get any error when dealing with a 1×4 matrix (which is a vector).
When putting, for example, a 2×4 matrix, I obtain and 8×4 matrix, which is not what I expected. I expected a 2×4 matrix again.
When coding the fft and ifft of the matrix, I wrote:
received_signal = fft(a,n)
transmitted signal = ifft(a,n)
where a= matrix and n= dft size (i.e. total number of elements in the matrix)
In addition, I'd like the fft/ifft to calculate the ifft and fft in a row-by-row fashion, since I'm dealing with signals so I don't want the bits to get out of order.
Thanks in advance for your help.

Best Answer

The fft function computes the discrete Fourier transform on the columns (dimension 1) of a matrix, unless you tell it to compute along the rows (dimension 2).
When I do something similar, I get a Fourier-transformed matrix that is the same size as the original matrix, however complex (as expected).
If you are getting something else as a result, post your code. I suspect you are simply getting the expected complex result.
Related Question