Search Results

Search found 1 results on 1 pages for 'steffendm'.

Page 1/1 | 1 

  • FFT and IFFT on 3D matrix (Matlab)

    - by SteffenDM
    I have a movie with 70 grayscale frames in MATLAB. I have put them in a 3-D matrix, so the dimensions are X, Y and time. I want to determine the frequencies in the time dimension, so I have to calculate the FFT for every point in the 3rd dimension. This is not a problem but I have to return the images to the original form with ifft. In a normal situation this would be true: X = ifft(fft(X)), but this is not the case it seems in MATLAB when you work with multidimensional data. This is the code I use: for i = 1:length y(:, :, i) = [img1{i, level}]; %# take each picture from an cell array and put it end %# and put it in 3D array y2 = ifft(fft(y, NFFT,3), NFFT, 3); %# NFFT = 128, the 3 is the dimension in which i want %# to calculate the FFT and IFFT y is 480x640x70, so there are 70 images of 640x480 pixels. If I use only fft, y2 is 480x640x128 (this is normal because we want 128 points with NFFT). If I use fft and ifft, y2 is 480x640x128 pixels. This is not normal, the 128 should be 70 again. I tried to do it in just one dimension by using 2 for loops and this works fine. The for loops take to much time, though.

    Read the article

1