Just another WordPress.com site

以前有过一篇文章写测地震回波的《用9233做地质检测》,但没有给出信号的处理方法。今天给出计算代码,这篇文章中用到的数据都是《用9233做地质检测》文中采集到的数据。如有不清楚的地方,可重新查阅。

之前一直没有弄透彻,似懂非懂的。在LabVIEW中的自相关计算VI的使用,也不甚明了。最近又断断续续看了不少这方面的书,看例程,终于弄懂了一些。不过我觉得最重要的还是多思考。没办法,还是有点笨阿。。。。。

1。用实测地震信号做自相关分析

进入正题,地震信号从震中传递到测试点,可能经过多个不同的路径(通常所说的声传递路径)到达测试点。由于路径路程、介质不同,传递的时间也不同。几个通过不同路径传播的冲击信号最终叠加在一起,传到测试点。如图1所示(用的还是原来那幅图):

 
图1  通过不同路经传递的地震信号

我们看一看实际采集到的信号(数据名称2008-03-10_153427,采样率为2kHz(1)),如图2,图3

 
图2 采集到的地震时域信号。总览,时间为1.77~2秒(相对于开始采集时间)

 
图3 采集到的地震时域信号。放大,时间为1.77~1.825秒(相对于开始采集时间)

图2,图3是同一次采集到的时域信号,分别对应不同的时间标尺。从这个时域信号,我们只能看到有几个尖峰。这里的震动信号是我们在远处用地质锤猛烈敲击地面产生,我们当作是脉冲信号。采集回来的波形简单的说,可以从尖峰之间的时间间隔判断传递的时间差。计算得:游标1-游标0=0.0035秒,游标2-游标0=0.0095秒。

现在可以得出结论,传递路径2#、3#和传递路径1#之间的时间间隔分别为0.0035秒,0.0095秒(1)。得益于激励信号是极其简单的、近似脉冲的信号,我们容易得出上面的结论。但这种方法的局限性太大:如果激励源是噪声信号,就无法做出任何判断。

下面我们用自相关的方法做分析:

在LabVIEW中,做自相关计算,得出自相关波形图,如图4:

图4 地震信号的自相关波形图

从图 4种能看到,在0秒处有最大相关值,接着是0.004秒(游标0)处和0.009(游标1)秒处有比较大的自相关值(1)

注1:最后得出来的结果存在0.0005秒的误差,0.0005秒=1/2k,即是实验所用采样率的倒数。所以我认为这已精度已经足够高了——1个采样点的误差,受限于我们的实验系统的系统误差——我们现在做的是数字信号处理的实验,而不是数据采集的实验。我还用另一组数据做了同样的两种计算,两中方法计算的结果一致程度比这个要查一些,见附1

附1另一组数据的计算结果
数据名称2008-03-10_153732,采样率为4166.67Hz,即采样间隔为0.00024秒

 
图5 2008-03-10_153732的地震信号的时域波形

从图5中读出游标1-游标0=0.00408秒,游标2-游标0=0.00960秒

图6 2008-03-10_153732的地震信号的自相关波形

从图中读出自相关峰值0(游标0)和峰值1(游标1)分别为0.00432秒,0.00936秒。两种方法在两个峰值的计算结果分别相差+0.00024秒,-0.00024秒。也是正负一个采样点的误差。另外,我还试着找了一下最大自相关值的时间,不是0,而是-0.00024。

LabVIEW代码如图7:
 
图7 地震信号自相关分析的LabVIEW代码

2。在LabVIEW中自己做实验

上面的实验激励源非常简单——地质锤(突然怀念起老爸的那把地质锤阿,小时候经常玩的玩具。哈哈哈,小巧,趁手。继续BT下:到底是趁手(想看就点击我)还是称手(想看就点击我)?)——我们可以把地质锤的敲击当作是理想的脉冲信号。而是实际情况下,很多时候是噪声信号,那么显然是无法从时域上面轻松读出传递路径的时间差的。

那么我们在LabVIEW中自己来仿真激励信号、做延时、做分析。

思路:
1。产生(仿真)激励信号
2。对原激励信号延时,模拟经过不同路径传递的振动信号。并和最初的激励信号叠加混合
3。做自相关计算
LabVIEW下的代码如图8

图8 LabVIEW下自相关实验的代码
1 原始信号
2 创建脉冲信号
3 卷积,实现信号的延时
4 建立波形
5 原始信号和延迟的信号进行叠加
6 计算自相关
7 创建自相关波形,便于阅读


图9 LabVIEW自相关实验前面板

欢迎转载,转载请注明链接、并留言告知。

留下评论