Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

fk-filter, velocity filter, frequency-wavenumber filter

591 views
Skip to first unread message

Hans

unread,
Mar 11, 2010, 10:23:19 AM3/11/10
to
Hi all

Is there any script or code around to perform a f-k filtering or velocity filtering ?

Ok, probably it's based on the fft2 command. But may be there is already an existing filter routine allowing to insert velocity intervals for filtering ?

hans

Rune Allnor

unread,
Mar 11, 2010, 10:31:37 AM3/11/10
to

It's probably both a lot faster and simpler if you hack
this up yourself. It's only a matter of manipulating
the filter weights in fk domain, based on the simple
v -> k mapping I can't remember off the top of my head.

Rune

Hans

unread,
Mar 11, 2010, 10:47:20 AM3/11/10
to
That would mean for me the need to look deeper into the way, how a 2-D Filter is defined in Matlab.

Rune Allnor

unread,
Mar 11, 2010, 11:02:44 AM3/11/10
to
On 11 Mar, 16:47, "Hans " <te...@gmx.com> wrote:
> That would mean for me the need to look deeper into the way, how a 2-D Filter is defined in Matlab.

There is no such thing as a '2D filter' in matlab. Only
matrices. You are looking for something as simple as

y = real(ifft2(fft2(x).*H));

where x is your time-space data, H is your fk filter,
and y is the filtered data.

The 'hard' part is to fill in the numbers in H. You can
do that in a couple of minutes, once you have some sort
of idea what you want the filter to do.

Coming up with that idea is hard, though, as it requires
you to actually contemplate what you are up to, rather than
fiddling with ready-made software routines.

Rune

Hans

unread,
Mar 11, 2010, 12:23:07 PM3/11/10
to
Jep, Rune You are completely right, in your suspicion, what the hard part is for me :-)

I have an idea about the "dip" in the signals I want to filter out in my data if we look at them in the non transformed data. So it's a linear relation between f and k or x and y, depending how You call the 2 dimensions.

How can I create a filter from my linear equations in the f-k domain ?

Rune Allnor

unread,
Mar 11, 2010, 12:46:17 PM3/11/10
to

You can't. You fill in the numbers in the matrix (or N-D array, if
you have more than one spatial dimension) H I showed you a couple
of posts back. There is nothing more to it. You just have to know
what numbers to fill in. And they have nothing to do with anything
else than the job you want the filter to do.

Rune

Hans

unread,
Mar 12, 2010, 5:22:05 AM3/12/10
to
Sorry, I think I didn't chose the right words, to not be misunderstood.

Assuming I have a data matrix with Y X (Y=time;X=way) and I have a noise signal with Y/X = 1 contained in it, that I want to filter out.
Is there an easy way to tell, how the apllied (filter) matrix would like ? Or do You have a suggestion, where to look for ?

Thank You
hans

Rune Allnor

unread,
Mar 12, 2010, 5:33:27 AM3/12/10
to
On 12 Mar, 11:22, "Hans " <te...@gmx.com> wrote:
> Sorry, I think I didn't chose the right words, to not be misunderstood.
>
> Assuming I have a data matrix with Y X  (Y=time;X=way) and I have a noise signal with Y/X = 1 contained in it, that I want to filter out.
> Is there an easy way to tell, how the apllied (filter) matrix would like ?

No. The basic principle is that any spectrum coefficient
you want gone should be multiplied with a small number,
roughly 0, while the spectrum coefficients you want to
keep should be mutliplied by a large number, around 1.

This is straight-forward idea is severely complicated by
the fact that any modification you do to the fk-domain
filter matrix has effect all over tx domain - be too hard
in one spot in fk domain will mess up everything in tx
domain. Which is why you need to know what you are doing.

Talk with your boss or supervisor for help on where to
find material suitable for your level.

Rune

Hans

unread,
Mar 12, 2010, 6:55:08 AM3/12/10
to
Unfortunately there is no one here around to talk to about this kind of topic. I know that this filter type is widely used in seismic data processing, where relatively easy to use filters exist. So it seems some software is easy to work with. But of cause this special software works only with their special data format.
I hoped something similar would exist in Matlab - from Mathworks or created by a user.

Thank You for the discussion.

Hans

Hans

unread,
Mar 12, 2010, 4:44:24 PM3/12/10
to
I've transformed my matrix into reflection seismic data format and loaded it into processing software.
There is a tool, that performs a f-k transformation and plots a f-k diagram.
In this diagram You can mark an area in the f-K domain by mouse click which should be filtered out.
The result of this filtering is plotted in another window.

I think it should be possible too to generate a tool like this in Matlab .... but of cause it will be some work.
So it was much more comfortable to change data format.

hans

0 new messages