how to f-k filter

33 views (last 30 days)
David Craig
David Craig on 13 Apr 2012
Commented: cao jianfwng on 20 Feb 2017
Hi, I have time-space data from several stations in a linear array. I want to look at the data in the frequency-wavenumber (f-k) domain so I can filter out some of the signal, as velocities that overlap in the time-space domain are distinct in f-k domain. I know I need to preform a double Fourier transform, filter the data and do the inverse transform. I can do this with something like, real(ifft2(fft2(data)*F)) where F is the filter matrix. However I am not sure what form the data should take. Since it comes from an array do I need to stack the data or preform above operation on each element in the array?? thanks

Accepted Answer

Rick Rosson
Rick Rosson on 14 Apr 2012
The variable data should be an array of size M rows by N columns. Each row should represent a different time increment, and each column should represent a different location in the linear array. The time increments and the locations in the linear array must be uniformly spaced.
HTH.
  2 Comments
David Craig
David Craig on 14 Apr 2012
thanks
cao jianfwng
cao jianfwng on 20 Feb 2017
if I want to remove the signal when the wave number equals to k = 0,how can I choose the form of F?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!