How to transform data from space domain to wavenumber domain through Fourier Transform?

14 views (last 30 days)
I have a range of data of velocity in function of x,y (position) and time (t) [space domain] and I want to transform it into a range of data of frequency in function of kx and ky (wavenumbers) [wavenumber domain]. I read I can do it through 2D-Fourier Transform but I don't find the way.
In other words, I have a wavefield image at a given time instant in space domain (x,y) and I want to convert it in a wavefield image in wavenumber domain (kx,ky).
Thank you very much for the help!

Answers (1)

David Ding
David Ding on 17 Oct 2017
Hi Mo,
I see that you have a 2D wavefield in time domain, and you would like to convert the image into wavenumber domain.
In this case, you may simply call the "fft2" function, as follows:
% Assuming "I" is your data:
Y = fft2(X);
% Viewing the resulting wavenumber image
imagesc(abs(fftshift(Y)));
More information about MATLAB's "fft2" function is found below:
Thanks,
David

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!