一、实验目的
通过编制C语言程序,了解水平层状介质情况下反射波时距曲线、以及均方根速度和平均速度近似的特点和差异。理解地震检波器组合的方向特性曲线、频率特性曲线。
二、主要内容
1、二层参数:V2 = 1500m/s,h2 = 700m。用精确方程计算反射波时距曲线,用均方根速度近似的双曲线方程计算反射波时距曲线,用平均速度近似的双曲线方程计算反射波时距曲线,将三种计算结果绘制在同一张图上,并对计算结果进行分析
2、编制地震检波器简单线性组合的方向特性曲线C或matlab计算程序,将检波器组合个数分别为2,3,4的方向特性曲线绘制在同一张图上(参考图见附图1),并对计算结果进行分析。
3、编制地震检波器简单线性组合的频率特性曲线C或matlab计算程序,将组内相邻检波器时差分别为0.01、0.002、0.005的频率特性曲线绘制在同一张图上(其中检波器组合个数为7,频率范围为0~200Hz,参考图见附图2),并对计算结果进行分析。
三、实验报告内容
本实验结束后要求写出实验报告,主要包括以下内容:
1、 实验目的及实验内容
2、 基本原理阐述
3、 实验结果分析
4、 程序及其附图
5、 实验体会
一、试验目的
了解水平层状介质情况下反射波时距曲线、以及均方根速度和平均速度近似的特点和差异。理解地震检波器组合的方向特性曲线、频率特性曲线。
二、实验原理
1.水平多层反射波时距曲线
.对于一个n层水平水平状模型,一射线倾斜入射,在第n层A点反射后到达观测点S的时间为
由斯奈尔定理可以确定每层的入射角度和透射角度和反射角度。
炮检距可以表示为
使用这两个公式分别计算,绘出时距曲线。
当x较小的时候,可以用平均速度和均方根速度来等效走时曲线,
2.组合方向特性曲线
当波的主频固定的时候,组合后的波的振幅至于波的射线方向有关,我们称与射线方向有关的组合振幅特性为组合方向特性。归一化的的组合振幅特性表达式为
3.组合频率特性曲线
将波传播方向改为时差,即可将
三、实验内容
1、二层参数:V2 = 1500m/s,h2 = 700m。用精确方程计算反射波时距曲线,用均方根速度近似的双曲线方程计算反射波时距曲线,用平均速度近似的双曲线方程计算反射波时距曲线,将三种计算结果绘制在同一张图上,并对计算结果进行分析
2、编制地震检波器简单线性组合的方向特性曲线C或matlab计算程序,将检波器组合个数分别为2,3,4的方向特性曲线绘制在同一张图上(参考图见附图1),并对计算结果进行分析。
3、编制地震检波器简单线性组合的频率特性曲线C或matlab计算程序,将组内相邻检波器时差分别为0.01、0.002、0.005的频率特性曲线绘制在同一张图上(其中检波器组合个数为7,频率范围为0~200Hz,参考图见附图2),并对计算结果进行分析。
四、实验结果
1.水平多层时距曲线
2.组合检波方向特性曲线
-
组合检波频率特性曲线
五、结果分析
1.水平多层反射波时距曲线
水平多层反射波使用三个公式计算时距曲线,用均方根速度和平均速度还是和精确公式还是有细微的误差,不过误差并不大,当炮检距比较小的时候,误差非常小,近似为双曲线,可以用这两个速度近似代替。平均速度计算的最大,平方根速度计算的次之,精确公式的最小。
2.组合方向特性曲线
组合方向特性曲线有明显规律性,对于高视速度的规则波,近乎垂直到达个检波点,相邻检波器之间的时差趋于零,达到最大值。组合数目多少对特性曲线也有影响,组合数目增加,通放带边界点左移,压制带内的极值降低。高视速度的波可以落入通放带,,组合输出波的振幅得到加强,低视速度的波组合后受到压制。
3. 频率特性曲线
从频率特性曲线上看,波的视速度趋于无穷时,组合后对所有频率成分都没有滤波作用,随着△t的增大,频率特性曲线通放带和压制带越来越明显,并且通放带变窄,表明组合有频率滤波作用,对于高频成分有压制作用。
六、源代码
1.水平多层时距曲线(C语言)
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define
dzkt5
"file.dat"
int main()
{
float x[41], t[41],t1[41],t2[41], p, h[100], v[100],v1,v2,s1,t0,s2,s3,s4,ni,ii[100],d1=0.0,d2=0.0;int i, j, m;
FILE *fp;
printf("请输入层数\n");
scanf("%d", &m);
//printf("请依次输入每层的层厚和波速,用回车或空格隔开");
for (i = 0;i<m;i++)
{
printf("请输入第%d层层厚和波速,空格或回车隔开\n",i+1);
scanf("%f%f", &h[i], &v[i]);
}
fp=fopen (dzkt5, "a+");//文件打开
for (i = 0;i<=40;i++)
{
t[i] = 0.0;
x[i] = 0.0;
s1 = 0.0;//初值
s2 = 0.0;
s3 = 0.0;//初值
s4 = 0.0;//初值
t0 = 0.0;
for (j = 0;j<m;j++)
{
p = sin(i / 180.0 * 3.141592653) / v[j];
ii[j] = asin(v[j]/v[0]*sin(i/180.0*3.141592653));
t[i] = 2 *h[j] /v[j]/ cos(ii[j])+t[i];
x[i] = 2 * h[j] * tan(ii[j])+x[i];
s1 = h[j] / v[j] * v[j] * v[j] + s1;//均方根速度
s2 = h[j] / v[j] + s2;
t0 = 2 * h[j] / v[j] + t0;
s3 = h[j] + s3;
s4 = h[j] / v[j] /+ s4;
}//累加计算
v1 = pow((s1 / s2),0.5);//均方根速度
v2 = s3 / s2;//平均速度
t1[i] = sqrt(t0*t0 + x[i] * x[i] / v1 / v1);//均方根速度计算时间
t2[i] = sqrt(t0*t0 + x[i] * x[i] / v2 / v2);//平均速度计算时间
printf("%.6f\t%.6f\t%.6f\t%.6f\n", x[i], t[i],t1[i],t2[i]);
fprintf(fp, "%.6f\t%.6f\t%.6f\t%.6f\n", x[i], t[i],t1[i],t2[i]);//存储到文件中
}
fclose(fp);//文件关闭
return 0;
}
2.组合检波方向特性曲线
T=0:0.001:1;
n=2;
fai=(sin(n*3.14*T))./(n*sin(3.14*T));
plot(T,abs(fai),'r');
hold on;
n=3;
fai=(sin(n*3.14*T))./(n*sin(3.14*T));
plot(T,abs(fai),'--');
hold on;
n=4;
fai=(sin(n*3.14*T))./(n*sin(3.14*T));
plot(T,abs(fai),':k');
hold off;
3.组合检波频率特性曲线
n=7;
f=0:1:200;
t=0.01;
fai=(sin(n*3.14*f*t))./(n*sin(3.14*f*t));
plot(f,abs(fai),'r');
hold on;
t=0.002;
fai=(sin(n*3.14*f*t))./(n*sin(3.14*f*t));
plot(f,abs(fai),'--');
hold on;
t=0.005;
fai=(sin(n*3.14*f*t))./(n*sin(3.14*f*t));
plot(f,abs(fai),'k:');
hold off
这个实验首先做了水平多层反射波时距曲线的绘制,水平多层反射波水平单界面反射波有着相似之处,我在这个任务中编制了了一个通用型程序,这个程序适合更多层底层模型反射波时距曲线的分析。另外本次试验做了组合检波的方向特性曲线和频率特性曲线,这两种曲线分析了组合检波是一个滤波器,有滤波作用,可以压制噪声,增强有用信号,提高信噪比。这个小程序用matlab编译,代码比较简单。
学生(签名): 2015 年 月 日 |
成绩评定: 指导教师(签名): 年 月 日 |
文章评论
水平层折射波时距方程C语言编程可以分享一下吗