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

20 次查看(过去 30 天)
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!

回答(1 个)

David Ding
David Ding 2017-10-17
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

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by