二维码
分享按钮
QC检测仪器网|www.qctester.com
首页: 产品中心: 资讯频道: 展会频道: 市场研究: 供求信息: 新品介绍: 企业名录: 技术文章: 检测机构
专家解答: 学会协会: 行业资料: 电子样本: 期刊书库: 资料下载: English: QC视频: QC杂志: QC访谈: 邮寄现场
注册会员 会员中心
登陆企业
仪器搜索
热门关键字: 量仪量具  无损检测  物理测试  力学测试  材料试验  光学仪器  设备诊断监测  表面处理检测  环境检测  化学分析  实验室仪器  仪表类  超声波探伤仪
您现在的位置:首页 >  技术文章  > 基于VB和MATLAB编程的TOFD信号处理系统

基于VB和MATLAB编程的TOFD信号处理系统

http://www.qctester.com/ 来源: 本站原创  浏览次数:5282 发布时间:2013-11-15 QC检测仪器网

         徐薇  王苗苗

(上海航天设备制造总厂,上海200245 上海电气电站服务公司,上海201100)

 

    [摘 要]应用一种基于经验模态分解(EMD)的信号处理方法,对超声TOFD检测回波到达时间进行识别。介绍了VB和MATLAB软件混合编程方法在该TOFD检测信号处理中的应用,尤其是使用MATLAB ActiveX对象的混合编程技术在该系统中的应用。给出了成功开发的TOFD信号处理系统的例子,设计了数据采集卡硬件控制程序和采用了先进的基于EMD的Hilbert-Huang变换进行信号分析处理。

[关键词]声波衍射时差法;经验模态分解;Hilbert-Huang变换;VB;MATLAB; 

  [中图分类号]                [文献标识码]           [文章编号]  

 

The system of TOFD signal-processing based on the Hybird programming of VB and MATLAB

XU Wei  WangMiaoMiao 

Keywords: Time of flight diffraction(TOFD);empirical mode decomposition(EMD);Hilbert transform;VB;MATLAB;

Abstract: A method based on empirical mode decomposition was proposed to improve the time resolution of 

ultrasonic signals. Hybird programming of VB and MATLAB used for developing TOFD data acquisition and 

analyzing system is introduced,expecially the method of ActiveX object –based.An example of TOFD signal acquisition and analyzing system successfully is provided,the program of 

hard-ware control are developed,advanced Hilbert-Huang transfer is adopted for TOFD data-processing.

 

    信号数据的采集、处理和结果显示是检测应用中的重要工作,用VB和MATLAB相结合既简单方便又具有强大的数据信号分析处理功能,本文结合使用TOFD信号处理系统来说明它们的应用。

1  引言

    衍射时差法(TOFD)是一种新型超声无损检测方法,TOFD主要根据缺陷端部产生的衍射信号之间的时间差对缺陷进行定位和定量。由于其具有检测速度快、定量精度高、定位准确和可确定缺陷尺寸等优点[1]。该检测方法能够精确定位缺陷的大小。但由于外界环境的影响,采集到的超声回波信号有时会受到噪声的干扰,或者由于缺陷接近被测物体的表面以及检测的材料厚度过小,信号会产生混叠现象[2,3],这样就无法精确各衍射波和侧向波的准确到达时间,从而给材料缺陷的定位以及定量带来比较大的误差。本文拟采用一种基于EMD(经验模态分解)[4]的方法对超声TOFD检测信号进行恰当的处理,精确提取检测信号的各波的时间参数。

2  系统简介

    本系统是针对TOFD检测信号在检测薄板试件时容易产生检测回波波形重叠的情况而专业设计的一个TOFD信号数据采集和分析处理系统。采集的信号为TOFD探头检测试块时所得到的AD原始数据,把原始的AD数据转换成电压值。这样就可以把检测的电压值信号一一在采集卡控制界面画为连续的波形。由于板厚和噪声等诸多因素的影响下,波形很混叠,为了区分各个波的到达时间以达到对缺陷进行准确定位和定量的目的,加入了EMD信号处理算法这一模块。TOFD信号数据采集和处理系统流程图如下:

 

3  系统硬件设计

在本系统中,选用的硬件有一对TOFD探头,一块材料为钢的试块,工控机,一块超声发射接收卡,还有一块凌华公司生产的PCI8002的数据采集卡。

按照TOFD检测标准,本实验系统采用的是标称角度为的TOFD探头,中心频率选择为5MHz,晶片直径为6mm。在本实验中,探头分列试块模拟缺陷的两边,使模拟缺陷刚好位于两探头的中间,探头间距为S=1.73d,其中d为缺陷高度重点离板材表面距离(深度)。连到工控机上的美国声学物理公司的IPR1210发射接收卡上。再通过IPR1210的射频输出口接到工控机上的PCI8002数据采集卡。

实验所用试块为20015030mm的长方体钢板,在钢板的侧面加工有3个横孔作为人工模拟缺陷,深度不一样。两个分别为20mm和35mm的的圆孔,还有一个60MM的的孔。加工检测试样如图2所示:

                          图2    试块图

    PCI-8002是建立在32位,PCI总线架构上的高性能数据采集卡。采样频率最为40MHz,特别是可以将连续的高速数据流存入计算机中。PCI-8002支持三种触发方式进行模/数转换:软件触发,内部定时触发,外部定时触发。软件触发允许用户在需要的时候得到一个采样,内部定时触发用于连续的高速数据采集,PCI-8002还可以使用外部触发源,实现与外部设备的同步采样。 在本采集模块中,将通过超声探伤仪的触发信号触发采集卡。PCI-8002支持PCI总线控制DMA数据传输,支持高速和无空隙数据采集,利用PC中的一块存储区,PCI-8002可以实现总线控制的数据采集而不用CPU参与,可以让CPU执行其他任务。 在本采集模块中,将通过DMA方法传输数据。PCI-8002的主要技术参数如下: (1)12位AD精度,每通道40MHz采样频率 (2) 4路单端,同步模拟量输入 (3) AD每路512K字RAM存储器 (4)AD程控量程:±5V ±2.5V ±1V ±0.5V (5)AD触发方式:超前、跟随、中间、滞后触发 (6)支持模拟触发、数字触发(识别各种信号特性)(7)AD数据传输模式:查询、DMA (8)支持多卡同步 (9)DA:1路12位 模拟量输出 (10) 数字量输入、输出各8路。

整个硬件实验系统的框架图如下图3所示:

                  图3    实验系统框架图     

4  系统软件结构以及软件设计

    本系统选用的是VB6.0和MATLAB作为开发工具,其中VB开发的数据采集卡采集与控制界面和信号处理结果显示界面,包括数据采集卡的一些参数设置和电压数据的数字显示和波形显示。设置好采样频率之后,开始采样,采样结束后,以.rfw的格式保存在计算机中。而MATLAB执行的是基于EMD的Hilbert-Huang变换算法,首先将计算机中的.rfw的数据格式文件读入MATLAB中,然后用Hilbert-Huang变换算法处理,最后将TOFD信号处理后以检波波形显示。

4.1 系统软件结构

    本TOFD信号处理系统采用模块化设计,主要分为主界面、数据采集卡控制与采集模块、信号处理显示模块。如图4所示:

 

4.2 软件设计

4.2.1 数据采集控制界面

本TOFD信号处理系统主要设计的是数据采集卡的控制和采集模块的界面,当开始采样时,首先在界面上设置好到底是波形显示还是数值显示。选择好采样频率,设置采集卡的数据通道以及其电压增益数值和工作模式,这样就可以在软件的采集控制界面上看到电压信号的波形显示或数值显示了。采集控制界面如下图5所示:

                  图5   采集控制软件界面

4.2.2 信号处理和图形显示界面

    数据信号处理和图形显示模块主要是MATLAB ActiveX对象[5]的混合编程方法来实现。首先在MATLAB中编写M函数文件,这些文件分别实现不同的数据运算算法和处理功能,然后在VB的信号处理图形显示界面把M函数文件的程序读入到VB变量中,在MATLAB中执行完信号处理算法后,再通过剪贴板的GETDATA方法把检波波形显示在VB的IMAGE控件上。

    ActiveX自动化是ActiveX的一个协议,它允许应用程序或组件控制另一个应用程序或组件的运行,它包括自动化服务器和自动化控制器。MATLAB 可以作为自动化服务器,可以由其它应用程序编程驱动。MATLAB 支持COM技术,它提供了一个自动化对象,其外部名称是Matlab.Application ,其它程序通过COM技术提供的函数得到自动化对象支持的接口指针,通过调用接口函数便可控制和使用自动化对象了,利用这一特性,用户可以非常方便地在自已程序中使用MATLAB ,包括执行MATLAB 命令, 使用其功能丰富的工具箱(Toolbox) ,向MATLAB 输入数据,获取结果(数据,图形) 。在这里,我们采用VB6. 0 作为自动化控制器,在VB 里可以用CreateObject ( ”Matlab. Application”) 来创建一个MATLAB 自动化对象,然后控制和使用自动化对(MATLAB) ,这样既能用VB 编出漂亮的Windows 程序,又能同时获得MATLAB 在工程辅助设计,仿真等方面的功能。

    在VB应用程序内创建了Matlab ActiveX对象以后,就可以使用这个对象所包含的各种方法来实现对Matlab的调用。Matlab.Application对象含有5个方法,它们是Execute,PutFullMatrix,GetFullMatrix,MinimizeCommandWindow和MaximizeCommandWindow.各自实现的功能如下:

    (1)Execute(command as string)方法:执行本方法将调用Matlab执行一条由command字符串决定的MATLAB命令,同时返回一个字符串表示命令的执行情况。任何能在MATLAB命令行窗口内执行的命令均可以被包括在COMMAND字符串中。

(2)PutFullMatrix 方法:这个方法用来将MATLAB中的一个矩阵变量传送到VB程序的一个1维或2维数组中。

(3)GetFullMatrix方法:这个方法用来将VB程序的一个1维或2维数组传送到MATLAB中的一个矩阵变量中。

(4)MinimizeCommandWindow方法:这个方法用来使MATLAB命令行窗口最小化。

(5) MaximizeCommandWindow方法:这个方法用来使MATLAB命令行窗口最大化。

下面通过本系统的例子来说明这种混合编程方法:

 (1) 把M函数文件的内容读入到VB变量中

Open cdlfiles.FileName For Input As #1

While Not EOF(1)

Dim str As String

Line Input #1, str

Text1.Text = Text1.Text & str & vbCrLf

Wend

Close 1 

(2)声明并创建一个名为MATLAB的对象

Dim matlab As Object

Set matlab = CreateObject("matlab.application")

(3)执行M函数文件中的Hilbert-Huang算法

     matlab.Execute (Text1.Text)

matlab.Execute ("print -dbitmap")

(4)从剪贴板中获取信号处理的检波波形:

     Me.Image1.Picture = Clipboard.GetData()

(5)退出MATLAB对象并释放变量:

matlab.quit

Set matlab = Nothing

    Hilbert-Huang变换是工程界最新应用的一种有效的非平稳、非线性信号的时频分析方法,该方法将时间信号经过经验模态分解成为一组本征模函数,再进行Hilbert-Huang变换。与传统的傅立叶变换不同,这种变换方法局部性能良好而且是自适应的,假设典型的超声连续信号为:

    其中:A为信号的幅度;,f为固有频率;为衰减因子。经过经验模态分解后,原始信号可表示为[6]

        (1)          

    该式中:为分解后的残余量;为分解的各个固有模态函数,选择几个合适的模态分量来重构信号,经过Hilbert变换后得到检波波形信号包络。

执行完该信号处理算法后在VB中显示出的界面如下:

                 图6  信号处理显示界面

    图6很清楚的显示了侧向波与3个人工缺陷的衍射波及底面回波的到达时间。根据缺陷的埋深、两探头之间的间距、纵波声速及利用TOFD的计算公式可得上述各波的理论到达时间。通过图6可以获取TOFD检测实验识别的各回波到达时间,两者相比较如表1所示:

表1  各回波到达时间理论值与识别值

 

侧向波与1号缺陷衍射波时间差t1

侧向波与2号缺陷衍射波时间差t2

侧向波与3号缺陷衍射波时间差t3

侧向波与底面回波时间差时t4

理论值(

0.72

1.36

2.05

2.73

识别值(

0.71

1.36

2.3

2.94

   因为作为模拟缺陷所开的孔很小,所以很难分清上端衍射波和下端衍射波,在这把超声波遇到缺陷而产生的回波作为一个缺陷的衍射波。通过分析表1,可知各回波的理论值与实际值的误差很小,可精确为0.2。通过该实验可证明,基于EMD分解的信号处理方法可精确各回波的到达时间。

5 结论

    用VB和MATLAB混合编程的方法进行TOFD信号处理系统软件的开发,可以实现二者功能的互补和控制直观方便的目的。通过MATLAB ActiveX对象可以方便的控制M函数文件的调用和执行,从而实现对采集到的复杂的TOFD信号数据进行分析和处理,最后得到对我们有用的缺陷信息。并且系统界面友好,可靠性高,不失为TOFD信号处理及分析的一种理想选择。

6  参考文献

[1]李衍.超声TOFD法原理和标准介绍[J].无损探伤,2003,27(3):1-4.

[2]李衍.薄板试件的超声TOFD法缺陷定量和成像[J].无损探伤,2005,Vol 29 No.5

[3]Baskaran Getal Ultrasonic TOFD flaw sizing and imaging in thin plates using embedded signal 

identification technique(ESIT)[J].INSIGHT,2004,46(9):537-542.

[4] Huang N E, Shen Zheng,Long S R, et al. The empirical mode decomposition and the Hilbert spectrum 

for non-linear and non-stationary time series analysis [J].Proc. R.Soc.Lond(A),1998,454(1): 903-955.

[5]王颖,胡宗军.ActiveX:从Visual Basic6.0调用MATLAB的实现方法.机电工程,1999,VOL 5 No.5

[6]赵永林,刘桂雄.应用经验模式分解法处理超声无损检测信号.现代制造工程,2006,VOL 4

 

 

 

 相关信息

意见箱:
       
如果您对我们的稿件有什么建议或意见,请发送意见至qctester@126.com(注明网络部:建议或意见),或拨打电话:010-64385345转网络部;如果您的建设或意见被采纳,您将会收到我们送出的一份意见的惊喜!

①凡本网注明“来源:QC检测仪器网”之内容,版权属于QC检测仪器网,未经本网授权不得转载、摘编或以其它方式使用。
②来源未填写“QC检测仪器网”之内容,均由会员发布或转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,且不承担此类作品侵权行为的直接或连带责任。如从本网下载使用,必须保留本网注明的“稿件来源”,并自负版权等相关责任。
③ 如涉及作品内容、版权等问题,请在作品发表之日起两周内与本网联系,否则视为放弃相关权利。

热点新闻 行业资讯 政策法规
市场研究 行业资料 技术讲座
展会知识 战略合作 技术标准
展会资讯 更多 
遇见未来实验室,共探科技新纪元 20
VisionChina2025(上海
AMTS & AHTE South
科技盛典,洞“析”奥秘 2024慕尼
2024 慕尼黑上海分析生化展 逛
距离2025最近的一场电子信息行业盛
观众登记启动|优解制造未来,锁定20
聚力向新,抢抓3月机床采购季
开幕倒计时8天,第104届中国电子展
2024慕尼黑上海分析生化展 | 展
矩阵
行业资讯 更多 
“点亮梦想之光”青少年科教公益行进博
进博快报 | 瑞典商会领导嘉宾到访海
擎画未来 千人齐聚「蔡司全球质量创新
“组合拳”出击!突破电池膜球面高精度
数字驱动产业升级 | 第四届产品数字
创新交锋 蔡司全球质量创新峰会剧透第
30周年 | InnovMetric
守护生命之盾:医疗器械行业的质量精准
海克斯康亮相航空计量测试与检验检测发
航空业案例 | 三维扫描和增强现实技
权威!海克斯康QUINDOS软件荣获
2024年《财富》中国科技50强公布
热销仪器
检测仪器 检验仪器 测量仪器 测试仪器 无损检测 无损探伤 材料检测 材料试验 检测材料 几何量仪器
邮箱:(E-mail)QCtester#126.com   京ICP备12009517号-5  | 京公网安备11010502024614
北京考斯泰仪器信息有限公司   电  话:(Tel)010-58440895 /   
Copyright © 2009 QCtester.com Inc.All Rights Reserved. GoogleSitemap QC检测仪器网 版权所有
检测仪器备案信息  检测仪器行业  测量仪器  检测网