首波判读软件简介

  • Post author:
  • Post category:其他


1. 应用背景

该软件实现对超声波离散波形的首波点的时间判断,包括波形首波的起点和首播的波峰。

该软件可用于检测基桩完整性,判定桩身缺陷的程度及位置。核心算法既可用于灌注桩和打入桩,也可用于高架桥墩的测试

2. 波形类别

一级分类

二级分类

备注

无法检测

发射波周期与采样周期不符要求

要求:采样率>=10

(发射波周期/采样周期)

检测不到波形

回波强度过低,达不到可靠性要求

噪音过大,无法检测

可检测

返回首波起始点和峰值点坐标

坐标计数由1开始

3. 检测原理

1)信号噪声水平评估, 详见ProcessNoiseVerify函数;

2) 极值点查找;

3) 极值点位置精细化;

4) 首峰值位置判定;

5) 起始位置判定;

6) 微弱噪声下的起始位置判定。

4. 识别效果

首波判断准确率达99.5%以上,对微弱反射信号有极强的适应性。



5. 库函数接口

5.1 接口简介

定义类CWaveDetect及接口函数void CWaveDetect:: ProcessMain(int* panResult,int* panSigIn, int nLength, float* pafParas),其中panResult为输出结果, panSigIn为输入RGB图像数据, nLength为输入信号长度, pafParas为发射波周期及采样周期,单位为毫秒。

5.2 例程

int nNum,*panSig;

nNum = (int)m_arrWave.GetSize();

panSig=new int[nNum]; // 获取信号数据

for (int i=0; i

panSig[i]=m_arrWave[i];

//波形检测判断

int anResult[4]; // 保存结果

CWaveDetect clWave;

clWave.ProcessMain(anResult,panSig,nNum,m_afParas);

// 结果输出

CString strOut;

if (anResult[0]==0){ // 无法检测

if (anResult[1]==1)

strOut=_T(“发射波周期与采样周期不符要求”);

else if(anResult[1]==2)

strOut=_T(“检测不到波形”);

else if(anResult[1]==3)

strOut=_T(“回波强度过低,达不到可靠性要求”);

else if(anResult[1]==4)

strOut=_T(“噪音过大,无法检测”);

else

strOut=_T(“未知原因,无法检测”);

m_nWaveStart =1;

m_nWavePeak =1;

}

else{

strOut.Format(_T(“起点坐标-%d, 极点坐标-%d”),anResult[2],anResult[3]);

m_nWaveStart =anResult[2];

m_nWavePeak =anResult[3];

}

6. 开发者联系方式

blog: blog.csdn.net/yuntin99

qq:  1913440946



版权声明:本文为yuntin99原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。