运用时间增益方法对 gprmax 模拟的探地雷达数据进行处理
GPR 对地下进行探测时,随着电磁信号向下传播,雷达信号的幅值往往衰减很快。与浅层目标的回波相比,深层回波信号的幅度很小。这些信号需要经过校正处理后才能同时显示出来,即对快速衰减的深层回波信号进行补偿处理。对时变幅度进行补偿在GPR应用中被称为时间增益或距离增益。
文章目录
- 运用时间增益方法对 gprmax 模拟的探地雷达数据进行处理
- 一、时间增益效果
- 1、原始的 GPR 图像
- 2、时间增益后的 GPR 图像
- 3、时间增益函数
- 二、Matlab 代码分享
一、时间增益效果
GPR 应用非常广泛,其信号衰减也变化很大。在某些低损耗探测环境中,探测深度可达数十米。而在某些高损耗环境中,探测深度甚至不到一米。GPR 数据的读取和显示需要和当时的探测环境相一致。
1、原始的 GPR 图像
用gprMax模拟的地下空洞异常的图像。
由于电磁波衰减变化很大,从图中只能看到很模糊的双曲线。
2、时间增益后的 GPR 图像
对原始数据进行时间增益,结果如下
此图像比原始图像更加直观,反射双曲线清晰可见。
3、时间增益函数
运用时间增益对 GPR 数据进行校准的方法有多种。关键是需要基于先验的物理模型来确定时间增益函数,而不是任意选择某个函数进行校准,这样才可能使得人为产生的干扰信号最小。
时间增益处理是非线性的。从上面两幅图看出经过时间增益处理后,信号形式明显发生了改变。
一般地,电磁波能量变化服从指数变化的规律,因此,时间增益函数选择指数增益形式:
式中,x为采样率或时间,这里用的是采样率。
当 时,绘制的时间增益函数图像为:
一般要对时间增益函数值的最大值进行限定,不能无限增大。
二、Matlab 代码分享
close all
clear
clc
%
%
%
%
% 读取探地雷达数据
data = dlmread("shangxiang.txt");
% 构造时间增益函数
% 这里应用的是指数补偿增益
x = 1:length(data);
% y = 1.1.^(x*1e-2);
% y = 1.2.^(x*1e-2);
y = 1.3.^(x*1e-2)-0.5;
% y = 1.4.^(x*1e-2);
% y = 1.5.^(x*1e-2);
% 设置最大增益倍数
ymax = 25;
% 限制增益倍数
y(y>ymax) = ymax;
% 绘制时间增益函数图像
figure(1),
plot(y,'k','lineWidth',2);
axis([0 inf 0 30]);
data_new = data.*y';
% 绘制增益后的探地雷达图像
figure(2)
imagesc(data_new);
colorbar;
xlabel('trace number');
ylabel('samples');
title('revised image');
% 绘制原始探地雷达图像
figure(3)
imagesc(data);
colorbar
xlabel('trace number');
ylabel('samples');
title('original image');