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

25 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

Community Treasure Hunt

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

Start Hunting!