首波判读软件简介

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值