资源描述:
《油气勘探方法程序设计课程设计(论文)-最小平方反滤波》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、油气勘探方法程序设计课程设计(论文)设计(论文)题目最小平方反滤波学院名称地球物理学院专业名称勘查技术与工程(石油物探)学生姓名学生学号任课教师田仁飞设计(论文)成绩教务处制2015年7月1日最小平方反滤波一、方法原理由地震波的传播理论可知,在粘弹性介质中地震波是以地震子波的形式在地下传播,地面接收到的反射波地震记录是地层反射系数与地震子波的褶积,因此,地层相当于一个滤波器,是反射系数序列变成了由子波组成的地震记录,降低了地震勘探的纵向分辨率。反滤波的目的就是要设计一个反滤波器,来对地震记录滤波,消除地层滤
2、波的作用,提高地震记录的纵向分辨率。最小平方反滤波的基本思想在于设计一个滤波算子,用它把已知的输入信号转换为与给定的期望输出信号在最小平方误差的意义下是最佳输出。1)用最小平方法求反滤波因子对输入子波b(t)反滤波后的期望输出为d(t),实际输出为y(t),按最小平方原理,使二者的误差平方和Q为最小时求得的反滤波因子称为最小平方反滤波因子,用它对地震记录x(t)进行的反滤波为最小平方反滤波。设输入离散信号为地震子波b(n)={b(1),b(2),…,b(m)},待求的反滤波因子a(n)={a(0),a(1)
3、,a(2),…,a(m)},a(t)的起始时间为0,(m+1)为a(t)的延续长度,b(n)与a(n)的褶积为实际输出y(n),即yn=an*bn=τ=0maτbn-τ1实际输出与期望输出的误差平方和为Q=n=0m[yn-d(n)]2=n=0m[τ=0maτbn-τ-d(n)]2(2)22要使Q为最小,数学上就是求Q的极值问题,即求满足∂Q∂a(l)=0l=0,1,…,m(3)的滤波因子a(t)。即满足方程τ=0maτrbbl-τ=rbdll=0,1,…,m(4)其中rbbl-τ=n=0mbn-τb(n-l
4、)为地震子波的自相关函数,rbdl=n=0md(n)b(n-l),写成矩阵形式rbb(0)rbb(1)⋮rbb(m)rbb(1)…rbb(m)rbb(0)…rbb(m-1)⋮…⋮rbb(m-1)…rbb(0)a0a1⋮am=adb0adb1⋮adbm(5)上式系数矩阵称为托布利兹方程。当期望输出是单位脉冲δt时,即dt=δt=1,t=00,t≠0(6)则rbdl=b-l(7)由于b(t)是地震子波,b(t)=0,当t<0时,上述矩阵可写成:rbb(0)rbb(1)⋮rbb(m)rbb(1)…rbb(m)rb
5、b(0)…rbb(m-1)⋮…⋮rbb(m-1)…rbb(0)a0a1⋮am=b00⋮0=10⋮0(8)用地震记录自相关系数rxx(τ)代替ybb(τ)2)已知地震记录x(t)x(t)=b(t)*ζ(t)(9)22其中x(t)为地震记录,ζ(t)是反射系数。根据自相关函数的性质,可证明:地震记录自相关rxx(n)是地震子波自相关rbb(n)和反射系数自相关rζζ(n)的褶积,即:rxxn=rbbn*rζζn(10)假定反射系数是随机白噪音,则rζζn=N0,n=00,n≠0(11)故可得:rxxn=t=0+
6、∞rbbtrζζ(n-t)=N0rbbn(12)故得到rxx(1)…rxx(m)rxx(0)…rxx(m-1)⋮…⋮rxx(m-1)…rxx(0)a0a1⋮am=10⋮0(13)其中ai=1N0b0ai(14)解出方程,即可求得反滤波因子a(t)。二、方法步骤在地震记录上选取自相关段,要选择在波形单一,能量强的地方。自相关段的长度应大于或等于子波的长度;求选取段的自相关函数:rxxn=t=1m-nxt×xt+n,n=0,1,2,⋯,M-1(15)其中M为自相关长度;22把rxxn代入式中求解at,并由式得反
7、滤波因子a(t),式中,通常取N0=1;将地震记录x(t)与反滤波因子a(t)褶积,完成反滤波;yt=τ=0m-1aτ×xt-τ,t=m,m+1,…,L(16)其中m为反滤波因子长度,L为地震记录长度。三、源程序1)雷克子波模型源程序#include"stdio.h"#include"math.h"#include"stdlib.h"#include"malloc.h"#include"string.h"#definePI3.1415926#definefm25//主频#definedt0.001//采样间
8、隔#definedz10//深度采样间隔#defineN100//反射系数序列长度#defineNw100//子波长度#defineP199//合成地震记录长度//=========建立速度模型===========//voidvelocity(floatv[],intn){inti,z;floath=1000;for(i=0;i=0)&&(z