地震记录数值模拟的褶积模型法实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地震记录数值模拟的褶积模型法

实验报告

专业:勘查技术以工程

学号: XXXXXXXXXXXXXXX

姓名: XXXXXXXXXXXXX

实验题目:地震记录数值模拟的褶积模型法实验报告一、实验目的

掌握褶积模型基本理论;

实现方法与程序编制;

由褶积模型初步分析地震信号的分辨率问题。

二、实验原理和方法:

1、褶积原理

地震勘探的震源往往是带宽很宽的脉冲,在地下传播、反射、绕射到测线,传播经过中高频衰减,能量被吸收。吸收过程可以看成滤波的过程,滤波可以用褶积完成。在滤波中,反射系数与震源强弱关联,吸收作用与子波关联。最简单的地震记录数值模拟,可以看成反射系数与子波的褶积。通常,反射系数是脉冲,子波取雷克子波。

(1)雷克子波:

(2)反射系数:

(3)褶积公式:

数值模拟地震记录trace(t):

trace(t) =rflct(t)*wave(t)

反射系数的参数由z变成了t,怎么实现?在简单水平层介质,分垂直和非垂直入射两种实现,分别如图1和图2所示。

1)垂直入射:

t=2*h/v

2)非垂直入射:

2、褶积方法

(1)离散化(数值化)

计算机数值模拟要求首先必须针对连续信号离散化处理。反射系数在

空间模型中存在,不同深度反射系数不同,是深度的函数。子波是在时间记录上一延续定时间的信号,是时间的概念。在离散化时,通过深度采样完成反射系数的离散化,通过时间采样完成子波的离散化。如果记录是Trace(t),则记录是时间的函数,以时间采样离散化。时间采样间距以 t表示,深度采样间距以 z表示。在做多道的数值模拟时,还有横向x的概念,横向采样间隔以 x表示。

离散化的实现:

或:

(2)离散序列的褶积

三、实验内容

1、垂直入射地震记录数值模拟的褶积模型;

2、非垂直入射地震记录数值模拟的褶积模型;

3、点绕射的地震记录数值模拟的褶积模型;

三、实验步骤

(一)实验一:

1、根据垂直入射褶积模型理论算法,填充程序(附后)的下划线部分,使程序完整,调试程序,算出结果,用“Fimage”显示软件显示褶积结果;

2、根据非零偏移距算法,编制非零偏移距褶积模型程序,算出结果,用“Fimage”显示软件显示褶积结果。(参考垂直入射褶积模型理论算法和程序,子波与反射层不变);

3、变换子波的长度Nw和主频fm,重复1和2;

(1)Nw=80的情况下:1)fm=5,2)fm=10,3)fm=15,3)fm=20,3)fm=55;

(2)Nw=160的情况下:1)fm=5,2)fm=10,3)fm=15,3)fm=20,3)fm=55;

(二)实验二:两层反射界面

如图3所示为两层反射界面的模型,对比不同间距H12情况下,不同长子波长度Nw和主频fm的褶积模型。

1、H12=20m时:

(1)Nw=80的情况下:

1)fm=5,2)fm=10,3)fm=15,4)fm=20,5)fm=55;

(2)Nw=160的情况下:

1)fm=5,2)fm=10,3)fm=15,4)fm=20,5)fm=55;

2、H12=40m时:

(1)Nw=80的情况下:1)fm=5,2)fm=10,3)fm=15,3)fm=20,3)fm=55;(2)Nw=160的情况下:1)fm=5,2)fm=10,3)fm=15,3)fm=20,3)fm=55;

3、H12=60m时:

(1)Nw=80的情况下:1)fm=5,2)fm=10,3)fm=15,3)fm=20,3)fm=55;(2)Nw=160的情况下:1)fm=5,2)fm=10,3)fm=15,3)fm=20,3)fm=55;

4、H12=80m时:

(1)Nw=80的情况下:1)fm=5,2)fm=10,3)fm=15,3)fm=20,3)fm=55;(2)Nw=160的情况下:1)fm=5,2)fm=10,3)fm=15,3)fm=20,3)fm=55;

(三)点绕射的褶积模型

(1)地质模型与参数:

如图4所示为点绕射模型

(下图)及其地震记录(上图)。

参数为:Nx=128,Nz=200,

V=3500m/s,h=1000m。如图4图下

图所示,地下绕射点位置为:(Ix0=NX/2,Iz0=1000/20)。其他参数与前述同。

(2)走时计算

如图4所示,绕射点正上方检波器的自激自收世间为t0:

t0=2h/v

任意位置检波器的自激自收世间为ti:

(3)褶积模型

爆炸反射界面传播到检波点的脉冲值游侠是计算:

(四)观察并记下实验结果图

四、实验结果分析

1、结果显示

(1)源程序段:

实验一.垂直入射地震记录数值模拟的褶积模型

单层反射界面

///// 预处理部分/////

#include

#include

#include

int Cnltn(float,float);

int Rflct(float,float,float);

int Wave(float,float);

#define Nx 128

#define Nt 256

#define Nw 160

///// 主程序波分/////

void main()

{

float

dt=0.004,dx=20,fm=20,h=1000,v=30 00;

int iflag_Co,iflag_Re,iflag_Wv;

if(iflag_Wv=Wave(fm,dt)!=1)printf("W ave is error");

if(iflag_Re=Rflct(dt,h,v)!=1)printf("Ref lection is error");

if(iflag_Co=Cnltn(dt,dx)!=1)printf("Co nvosion is error");

}

///// 函数实现部分/////

//Wave Formaingfunction ///

int Wave(float fm,float dt)

{

FILE *fpw;

int It;

float Wa[Nw],t;

double pai=3.1415926;

if((fpw=fopen("wave.dat","wb"))==NU LL)printf("Connot open file ""wave""");

for(It=0;It

{

t=(float)(It+1)*dt;

///// 雷克子波的计算/////

Wa[It]=(float)(1-2*pai*pai*fm*fm*t*t)*( float)exp(-2*pai*pai*fm*fm*t);

fwrite(&Wa[It],sizeof(Wa[It]),1,fpw); }

fclose(fpw);

return(1);

}

///// Reflect Formaing function /////

int Rflct(float dt,float h,float v)

{

FILE *fpr;

int It,Ix,Ltdpth;

float t;

float Re[Nt];

if((fpr=fopen("Reflect.dat","wb"))==N ULL)printf("Connot open file

""Reflect""");

相关文档
最新文档