地震记录数值模拟的褶积模型法课案.docx

上传人:b****1 文档编号:2525351 上传时间:2023-05-03 格式:DOCX 页数:25 大小:185.54KB
下载 相关 举报
地震记录数值模拟的褶积模型法课案.docx_第1页
第1页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第2页
第2页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第3页
第3页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第4页
第4页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第5页
第5页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第6页
第6页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第7页
第7页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第8页
第8页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第9页
第9页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第10页
第10页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第11页
第11页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第12页
第12页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第13页
第13页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第14页
第14页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第15页
第15页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第16页
第16页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第17页
第17页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第18页
第18页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第19页
第19页 / 共25页
地震记录数值模拟的褶积模型法课案.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

地震记录数值模拟的褶积模型法课案.docx

《地震记录数值模拟的褶积模型法课案.docx》由会员分享,可在线阅读,更多相关《地震记录数值模拟的褶积模型法课案.docx(25页珍藏版)》请在冰点文库上搜索。

地震记录数值模拟的褶积模型法课案.docx

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

 

本科生实验报告

实验课程数值模型模拟

学院名称地球物理学院

专业名称勘测技术与工程

学生姓名

学生学号

指导教师熊高君

实验地点5417

实验成绩

 

2015年5月

 

成都理工大学

《地震数值模拟》实验报告

实验时间

2015年5月

开课单位

地球物理学院

指导教师

熊高君

实验题目:

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

姓名

学号

班级

专业

勘测技术与工程(石油物探)

院(系)

地球物理学院地球探测与信息技术系

单项成绩

内容理解

写作结构

程序设计

模型设计

计算结果

结果分析

总成绩

 

实验报告

一、实验题目:

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

二、实验目的:

掌握褶积模型基本理论、实现方法与程序编制,由褶积模型初步分析地震信号的分辨率问题。

三、原理公式

1、褶积原理

地震勘探的震源往往是带宽很宽的脉冲,在地下传播、反射、绕射到测线,传播经过中高频衰减,能量被吸收。

吸收过程可以看成滤波的过程,滤波可以用褶积完成。

在滤波中,反射系数与震源强弱关联,吸收作用与子波关联。

最简单的地震记录数值模拟,可以看成反射系数与子波的褶积。

通常,反射系数是脉冲,子波取雷克子波。

(1)雷克子波:

wave(t)=cos(2

ft)*

(2)反射系数:

 

(3)褶积公式:

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

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

反射系数的参数由z变成了t,怎么实现?

在简单水平层介质,分垂直和非垂直入射两种实现,分别如图1和图2所示。

图1图2

1)垂直入射:

t=2h/v;

2)非垂直入射:

t=

2、褶积方法

(1)离散化(数值化)

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

反射系数在空间模型中存在,不同深度反射系数不同,是深度的函数。

子波是在时间记录上一延续定时间的信号,是时间的概念。

在离散化时,通过深度采样完成反射系数的离散化,通过时间采样完成子波的离散化。

如果记录是Trace(t),则记录是时间的函数,以时间采样离散化。

时间采样间距以Δt表示,深度采样间距以Δz表示。

在做多道的数值模拟时,还有横向Δx的概念,横向采样间隔以Δx表示。

离散化的实现:

t=It×Δt;x=Ix×Δx;z=Iz×Δz;

或:

It=t/Δt;Ix=x/Δx;Iz=z/Δz

(2)离散序列的褶积

trace(It)=

四、实验内容

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

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

五、方法路线

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

2、根据非零偏移距算法,编制非零偏移距褶积模型程序,算出结果,用“Fimage”显示软件显示褶积结果。

(参考垂直入射褶积模型理论算法和程序,子波与反射层不变);

3、变换子波的主频:

fm(10hz到300hz范围),重复1和2;

4、变换子波的长度:

Nw(80ms到160ms范围),重复1和2;

5、改变反射层深度:

h(800m到1600m范围),重复1和2;

6、改变介质速度:

v(2000m/s到7000m/s范围),重复1和2。

六、实验结果

1、结果显示

1)垂直入射

图3—1Nw=32,h=1000,v=3000,fm=100地震记录数值模拟的褶积模型(左)和子波(右)

图3—2Nw=32,h=1000,v=3000,fm=200地震记录数值模拟的褶积模型(左)和子波(右)

图3—3Nw=32,h=1000,v=3000,fm=300地震记录数值模拟的褶积模型(左)和子波(右)

图3—4h=1000,v=3000,fm=25,Nw=20地震记录数值模拟的褶积模型(左)和子波(右)

图3—5h=1000,v=3000,fm=25,Nw=30地震记录数值模拟的褶积模型(左)和子波(右)

图3—6h=1000,v=3000,fm=25,Nw=40地震记录数值模拟的褶积模型(左)和子波(右)

图3—7Nw=32,v=3000,fm=25,h=1000地震记录数值模拟的褶积模型

图3—8Nw=32,v=3000,fm=25,h=1200地震记录数值模拟的褶积模型

图3—9Nw=32,v=3000,fm=25,h=1400地震记录数值模拟的褶积模型

图3—10Nw=32,h=1000,fm=25,v=2000地震记录数值模拟的褶积模型

图3—11Nw=32,h=1000,fm=25,v=4000地震记录数值模拟的褶积模型

图3—12Nw=32,h=1000,fm=25,v=6000地震记录数值模拟的褶积模型

2)非垂直入射

图4—1Nw=32,h=1000,v=3000,fm=100地震记录数值模拟的褶积模型(左)和子波(右)

图4—2Nw=32,h=1000,v=3000,fm=200地震记录数值模拟的褶积模型(左)和子波(右)

图4—3Nw=32,h=1000,v=3000,fm=300地震记录数值模拟的褶积模型(左)和子波(右)

图4—4h=1000,v=3000,fm=25,Nw=20地震记录数值模拟的褶积模型(左)和子波(右)

图4—5h=1000,v=3000,fm=25,Nw=30地震记录数值模拟的褶积模型(左)和子波(右)

图4—6h=1000,v=3000,fm=25,Nw=40地震记录数值模拟的褶积模型(左)和子波(右)

图4—7Nw=32,v=3000,fm=25,h=1000地震记录数值模拟的褶积模型

图4—8Nw=32,v=3000,fm=25,h=1200地震记录数值模拟的褶积模型

图4—9Nw=32,v=3000,fm=25,h=1400地震记录数值模拟的褶积模型

图4—10Nw=32,h=1000,fm=25,v=2000地震记录数值模拟的褶积模型

图4—11Nw=32,h=1000,fm=25,v=4000地震记录数值模拟的褶积模型

图4—12Nw=32,h=1000,fm=25,v=6000地震记录数值模拟的褶积模型

子波振幅谱:

图5—1fm=100的子波振幅谱

图5—2fm=100的子波振幅谱

2、对比分析

a)由图3—1、图3—2、图3—3(或图4—1、图4—2、图4—3)可知,当子波长度(Nw=32)、深度(h=1000)、速度(v=3000)不变,子波频率变化时,褶积模型不变,且均在0.5到1s之间;

b)由图3—4、图3—5、图3—6可知,当深度(h=1000)、速度(v=3000)、子波频率(fm=25)不变,子波长度变化,且垂直入射时,褶积模型为直线模型,是因为垂直入射时,时间与深度为线性关系;

c)由图4—4、图4—5、图4—6可知,当深度(h=1000)、速度(v=3000)、子波频率(fm=25)不变,子波长度变化,且非垂直入射时,褶积模型前半部分为双曲线模型,后半部分为直线模型,是由于计算的褶积结果的实际长度小于所取的长度,计算机赋的随机数所致,所以,非垂直入射时的褶积模型只有图件上显示的前半部分的双曲线,是由于非垂直入射时,时间与深度为双曲线关系;

d)由图3—7、图3—8、图3—9,当子波长度(Nw=32)、速度(v=3000)、子波频率(fm=25)不变,深度变大时,垂直入射时,图件上显示的褶积模型的位置逐渐向下移,即地震波的旅行路程变大,旅行时变长;

e)由图4—7、图4—8、图4—9可知,当子波长度(Nw=32)、速度(v=3000)、子波频率(fm=25)不变,深度变大时,非垂直入射时,图件上显示的褶积模型的位置不变,这是由于非垂直入射时,相当于地下有一半圆形界面,在圆心处自激自收;

f)由图3—10、图3—11、图3—12(或图4—10、图4—11、图4—12)可知,当子波长度(Nw=32)、深度(h=1000)、子波频率(fm=25)不变,速度变大时,图件上显示的褶积模型的位置逐渐向上移,这是由于随着速度变大,地震波的旅行时变小;

g)由图5—1与图5—2可知,当子波频率变化时,其振幅谱不变。

七、讨论建议

1、实验收获

通过此次试验,初步掌握了褶积模型基本理论、实现方法与程序编制,由褶积模型初步分析地震信号的分辨率问题,掌握了褶积模型与子波主频、子波长度、界面深度、介质中地震波速度的关系。

2、存在问题

对褶积模型的理论实现过程不是十分清楚,对结果的物理含义理解不够深入。

3、其他问题

由于不同的计算机,计算精度不一样,计算得到的数据结果可能会有部分差异,但总体趋势不变。

4、心得体会

在此次试验中,应特别注意褶积模型的理论实现过程的理解,以及程序调试时,要特别仔细地去检查每一个错误,每修改一处错误,就重新运行一次程序。

附程序代码:

//=================1.预处理部分==============//

#include

#include

#include

floatCnltn(float,float);

floatRflct(float,float,float);

floatWave(float,float);

#defineNx128

#defineNt256

#defineNw32

#definePI3.1415926

//==================2.主程序波分==============//

voidmain()

{

floatdt=0.004,dx=20,fm=25,h=1000,v=3000;

intiflag_Co,iflag_Re,iflag_Wv;

if(iflag_Wv=Wave(fm,dt)!

=1)

printf("Waveiserror");

if(iflag_Re=Rflct(dt,h,v)!

=1)

printf("Reflectioniserror");

if(iflag_Co=Cnltn(dt,dx)!

=1)

printf("Convosioniserror");

}

//=================3.函数实现部分===============//

//==============3.1WaveFormaingfunction=============//

floatWave(floatfm,floatdt)

{

FILE*fpw;

intIt;

floatWa[Nw],t;

if((fpw=fopen("wave.dat","wb"))==NULL)

printf("Connotopenfile""wave""");

for(It=0;It

{

t=It*dt;

Wa[It]=cos(2*PI*fm*t)*exp(-2*PI*PI*fm*fm*t);//形成子波

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

}

fclose(fpw);

return

(1);

}

//============3.2ReflectFormaingfunction==============//

floatRflct(floatdt,floath,floatv)

{

FILE*fpr;

intIt,Ix,J,Ltdpth;

floatt,dx=20,x;

floatRe[Nt];

printf("请输入J:

\n");

scanf("%d",&J);

if((fpr=fopen("Reflect.dat","wb"))==NULL)

printf("Connotopenfile""Reflect""");

for(Ix=0;Ix

{

for(It=0;It

{

Re[It]=0.;

}

if(J==1)

t=2*h/v;//垂直入射反射界面由深度转换为自激自收时间

if(J==2)

{

x=Ix*dx;

t=2*sqrt(h*h+x*x)/v;//非垂直入射反射界面由深度转换为自激自收时间

}

if((J!

=1)&&(J!

=2))

printf("输入错误\n");

Ltdpth=(int)(t/dt);

Re[Ltdpth]=1;

for(It=0;It

{

fwrite(&Re[It],sizeof(Re[It]),1,fpr);

}

}

fclose(fpr);

return

(1);

}

//=============3.3Convolutionfunction=============//

floatCnltn(floatdt,floatdx)

{

FILE*fpc,*fpw,*fpr;

intIt,Ix,Itao;

floatWa1[Nw],Wa[Nw],Re[Nt+Nw+Nw],Re1[Nt],t;

floatCon[Nt+Nw];

if((fpc=fopen("Convosion.dat","wb"))==NULL)

printf("Connotopenfile""Convosion""");

if((fpw=fopen("wave.dat","rb"))==NULL)

printf("Connotopenfile""wave""");

if((fpr=fopen("Reflect.dat","rb"))==NULL)

printf("Connotopenfile""Reflect""");

for(Ix=1;Ix<2;Ix++)

{

for(It=0;It

{

fread(&Wa1[It],sizeof(Wa1[It]),1,fpw);

}

for(It=0;It

Wa[It]=Wa1[Nw-It-1];//褶积前子波准备

}

fclose(fpw);

for(Ix=0;Ix

{

for(It=0;It

{

fread(&Re1[It],sizeof(&Re1[It]),1,fpr);

}

for(It=0;It

{

Re[It]=0;

}

for(It=0;It

{

Re[It+Nw]=Re1[It];//反射系数准备

}

for(It=0;It

{

Con[It]=0;

t=0;

for(Itao=0;Itao

{

t+=Re[It+Itao]*Wa[Itao];//褶积运算

}

Con[It]=t;

}

for(It=Nw/2;It

{

fwrite(&Con[It],sizeof(Con[It]),1,fpc);

}

}

fclose(fpw);

fclose(fpr);

fclose(fpc);

return

(1);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2