关于SU(SeismicUnix)的使用——数字信号处理部分

一、绘制频谱曲线

  1. 首先我们需要一个数据,我们构造出一个模拟单炮数据data.su
  2. 用suwind将数据变成单道数据,这里我从单炮数据中抽取关键字tracl=60的数据 : suwind<data.su key=tracl max=60 min= 60>singleline.su
    singletrace display
  3. 对singleline.su作傅里叶变换(sufft),将振幅谱显示出来即可。命令行代码如下:
sufft<singleline.su |suamp mode=amp|suxgraph style=normal

frequency spectrum

注意:
  1. 仅仅使用sufft和suamp,而没有输出或显示是不可以的!会报错:’output can’t be tty‘,需要用suxgraph进行显示或者进行输出,就不会报错了!
  2. 通常将sufft与suamp组合起来使用,那么就可以将快速傅里叶变化后的结果中的mode=振幅(amp)、相位(phase)、实部和虚部(real/imag)显示或者输出。

二、使用sufilter进行滤波

*注:*在/su/src/demos/Filtering 中可以看到su自带的演示例子,但是由于demos里面需要OZ Yilmaz.H 和 .F 文件,但是在CWP的网页中无法打开对应链接进而下载数据。所以这可能就需要自己用su去构造一个模拟数据,然后分析demos里面的shell,对shell做一些修改并再应用了。

  1. 首先,我们sufilter的功能介绍,在命令行输入 sudoc sufilter, 我们可以看到sufilter是应用零相位的滤波器,应用时必须在道头中有参数dt! 可选择的参数有 f 和 amps ,而且f和amps的参数是对应的,也就是说每一个频率对应一个滤波器的振幅值。
  2. f和amps各有两个参数时,例如:在命令行输入:
sufilter< single.su f=30,40 amps=1,0 > tmp.su
//这行代码是说对 single.su 进行‘低通’滤波处理,
//滤波器的参数为小于30Hz的为幅值为1,大于40HZ的部分幅值为零,30-40Hz之间的频率即为滤波器的过渡带。
  1. f 和amps各有四个参数时,就可随意构成带通,带阻,低通和高通的滤波器,例如一个30-40Hz的带通滤波器:
sufilter< single.su f=20, 30,40, 50 amps=0,1,1,0 > tmp.su

由此可见,sufilter的f=f1,f2,f3,…和amps=a1,a2参数表示的是:在频谱曲线上各个对应点(f1,a1), (f2,a2), (f3,a3), … 这些点的连线构成的滤波器,在这些点之外的曲线与第一个点和最后一个点的幅值相同。
image3: the frequency spectrum after filtering

最后注意:
  1. sufilter 的f与amps 只是用一对参数是不允许的
  2. 对tmp.su可以使用上面一绘制频谱曲线的方法进行绘制频谱曲线,来查看效果
  3. 参数verbose待补充!参数verbose待补充!

三、绘制fk谱

OZ. Yilmaz 在他的书《Seismic data analysis》的二维傅里叶变换中说:
multichannel processing operation can be loosely defined as those that must operate on several data traces, simultaneously.

  1. 我们就用su/src/demos 中的例子来说明fk谱的问题,首先用suplane 构造一个地震剖面名字为suplane.su,如下图(左)所示,而右图即为fk域振幅谱。
    suspecfk<suplane.su |suxwigb,这样就得到了右图
    suplane以及其fk域振幅谱
注意:
  1. fk谱图中的斜率就表示视速度,当倾角越大时,视速度越小,对应的斜率也越小,这一点表现在上图(右)中就是:图中有四条短折线,但是对应三个斜率(其中最外侧两条线的斜率相同)。中间一根竖线斜率无穷大,对应的是左图中水平的同向轴(同向轴倾角为零);中间那条同向轴斜率中等,我们将在下面将它去除;而倾角最大的同向轴,对应了fk图中最外侧的两个斜率相同的小折线,它产生两条斜率相同的折线,是因为产生了空间假频(spatial aliasing)
  2. 对于fk频谱图(右图),要翻转过来看,因为在图中y轴是向下为正的!所以左下角的一小段折线就表示了斜率最大处的空间假频。

四、进行fk滤波

4.1用sudipfilt进行倾角滤波
  1. 在上面的suplane.su的基础上,我们用sudipfilt进行倾角滤波,我们滤掉中间的那个同向轴。代码如下
slopes=-1.0,-0.5,0.5,1.0
amps=1,0,0,1
bias=0.0
sudipfilt=suplane.su dt=1 dx=1 slopes=$slopes amps=$amps bias=$bias >test.su
#注意slopes必须和amps对应,即这里个参数的个数必须相同,而且slopes必须单调递增
#对于sudipfilt,dt和dx的参数在道头中必须有!

滤波后的地震剖面和fk振幅谱图
上面的图可以看出,我们利用sudipfilt将中间的那一个地震道去除,而从fk谱图上面看,波数k为正的部分的中间的一个倾斜直线消失。

  • 2
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值