《电子技术应用》
您所在的位置:首页 > 测试测量 > 设计应用 > 基于LabVIEW的超声探伤信号多小波去噪分析与应用
基于LabVIEW的超声探伤信号多小波去噪分析与应用
来源:微型机与应用2012年第5期
郭前岗,索会迎,周西峰
(南京邮电大学 自动化学院,江苏 南京210046)
摘要: 根据超声探伤信号的多小波阈值去噪原理,针对硬阈值函数不连续和软阈函数存在恒定偏差的缺点,提出了一种改进的软阈值函数。针对目前LabVIEW没有对多小波算法支持的缺点和MATLAB强大的数值处理能力,利用LabVIEW和MATLAB混合编程技术,在LabVIEW中实现了超声探伤信号的多小波阈值去噪处理,并显示消噪波形、保存消噪数据和频谱分析,扩展了LabVIEW的多小波信号去噪功能。实验结果表明,多小波阈值去噪与单小波阈值相比,在超声探伤信号中起到更好的去噪效果,改进的软阈值函数比传统软阈值函数明显地提高了信噪比,能够更有效地提取缺陷信息。
Abstract:
Key words :

摘  要: 根据超声探伤信号多小波阈值去噪原理,针对硬阈值函数不连续和软阈函数存在恒定偏差的缺点,提出了一种改进的软阈值函数。针对目前LabVIEW没有对多小波算法支持的缺点和MATLAB强大的数值处理能力,利用LabVIEW和MATLAB混合编程技术,在LabVIEW中实现了超声探伤信号的多小波阈值去噪处理,并显示消噪波形、保存消噪数据和频谱分析,扩展了LabVIEW的多小波信号去噪功能。实验结果表明,多小波阈值去噪与单小波阈值相比,在超声探伤信号中起到更好的去噪效果,改进的软阈值函数比传统软阈值函数明显地提高了信噪比,能够更有效地提取缺陷信息。
关键词: 超声探伤信号;多小波;阈值去噪;LabVIEW;MATLAB Script

 超声波无损检测技术现在被广泛应用到金属探伤中,在不损害或不影响被测对象的前提下,希望准确给出缺陷的大小、位置和数量等信息,但是超声回波中夹杂的噪声影响了对缺陷信息的提取,需要对其进行去噪处理。由于超声探伤信号是一种时域和频域均有限的信号,基于多小波良好的局部化能力,既保持了单小波所具有的时域与频域局部化特性,又同时具有对称性、正交性、短支撑性、高阶消失矩[1,2],可以更有效地对超声探伤信号进行去噪分析。多小波预处理方法采用Strela[3]提出的重复行和矩阵预处理方法。
 本文在介绍多小波阈值去噪原理的基础上,针对硬阈值函数不连续和软阈函数存在恒定偏差的缺点,提出了一种改进的软阈值函数,以美国NI公司推出的图形化编程语言LabVIEW 作为虚拟仪器平台。针对LabVIEW目前还没有对多小波算法支持的缺点,而MATLAB具有很强的数值分析和处理能力,利用LabVIEW 和MATLAB混合编程技术[4],在LabVIEW中实现了多小波去噪分析,扩展了LabVIEW的多小波去噪功能。
1 超声探伤信号多小波阈值去噪
1.1 多小波阈值去噪原理

 超声探伤信号的多小波去噪主要依据是在Besov空



3.2 LabVIEW和MATLAB混合编程设计步骤
 本文在MATLAB R2009b和LabVIEW 8.2 环境下,应用MATLAB Script节点实现了MATLAB和LabVIEW 混合编程,在LabVIEW中实现了超声探伤信号的多小波阈值去噪。具体设计步骤如下:
 (1)启动LabVIEW,新建一个VI,在程序框图中添加MATLAB Script节点,该节点位于Functions Palette的Mathematics|Scripts & Formula|Script Nodes|MATLAB Script Nods。
 (2)在节点中导入MATLAB环境下调试好的M文件,由于多小波函数为自定义函数,使用时需要通过path(path,‘M文件路径’)函数,在节点中加入相应的M文件的路径,否则无法正常调用M文件。
 (3)为MATLAB Script节点添加相应的输入接口,注意匹配LabVIEW与MATLAB传递参数的数据类型,然后读取超声波探伤信号的数据,进行滤波处理,并将结果返回到LabVIEW的波形图显示。
3.3 LabVIEW中多小波阈值去噪的编程实现
 (1)前面板设计:前面板实现了数据选择、路径显示、多小波去噪分析、单小波去噪分析,波形显示、频谱分析和信噪比计算。
 多小波分析面板可以通过下拉列表选择多小波类型、预处理方法、阈值量化函数和分解层数。单小波面板可以选择小波类型、阈值选取规则、阈值量化函数、阈值调整规则和分解层数。通过实验对比分析,可以选择一套更适合超声探伤信号去噪的最优方法。
 (2)程序框图中对应的程序设计:为了避免CPU资源浪费、降低CPU的利用率,本程序采用LabVIEW提供的事件结构,当“多小波分析”或“单小波分析”按钮按下后,触发相应的事件发生,程序才做出响应。多个事件同时发生时会形成事件队列,直到每个事件对应的代码被执行,不会遗漏事件[4]。
多小波分析调用了自定义函数MW_Denoise,此函数封装了多小波预处理、多尺度分解、阈值去噪处理、后处理和重构算法。具体函数接口为designal=MW_Denoise(signalnosie,′mwname′,maxlevel,′Preprocess′,′threshold′)。signalnosie为含噪声超声探伤信号,′mwname′指定多小波类型(本程序提供了GHM、Sa4和Haar多小波可供选择),maxlevel指定分解层数,′Preprocess′指定预处理方法(本程序采用Strela提出的重复行预滤波和矩阵预滤波),′threshold′指定阈值处理函数(包括软阈值‘soft’、硬阈值‘hard’和改进软阈值函数‘improvesoft’)。
 单小波分析调用了MATLAB小波工具包函数wden[9],函数接口如下:[XD,CXD,LXD]=wden(X,TPTR,SORH,SCAL,N,‘wname’),X为待消噪的信号,XD为消噪后的信号,[CXD,LXD]为其分解结构。TPTR指定阈值选取原则,SORH指定了阈值函数选择。SCAL是阈值尺度改变的比例,N为小波分解的层数。wname为分解时所用的小波。
 上述的各个参数可以右击MATLAB Script节点,添加相应输入口和输出口,然后通过LabVIEW添加相应的变量进行控制,但必须注意数据类型的匹配,否则无法完成接口的通信。单小波和多小波去噪程序框图如图3所示。

 

 

4 实验结果与分析
 本文的超声探伤数据从数字式超声波探伤仪获得,采用的是脉冲反射法A型显示。横坐标代表超声波的传播距离,反射波的位置可以确定缺陷的位置,纵坐标代表反射波的幅度,其高度可估计出缺陷的性质和大小[10-11]。
 未经过去噪的超声探伤信号时域图和对应的频谱以及多小波去噪后的频谱如图4所示,从时域波形图可以看出缺陷信息已经被噪声湮没,无法准确地辨别缺陷的具体位置,从频谱图中可以看出叠加了许多噪声的频谱,多小波去噪后,频谱中的噪声谱明显减少,有比较明显的去噪效果。

 下面通过信噪比(SNR)进一步比较改进软阈值函数和传统软、硬阈值函数的去噪效果。
 本实验分别使用sym8单小波和GHM[12]多小波,分解层数均为6层。去噪后的信噪比如表1所示。

 信噪比越高,去噪信号就越接近原始信号,去噪效果也就越好。由图5的纵向比较可以看出,无论是单小波还是多小波,改进后的软阈值函数比传统的软阈值函数在信噪比方面都有明显的提高。从横向比较,多小波无论在软、硬阈值函数还是改进后的软阈值函数方面,去噪后的信噪比都要高于单小波,可见多小波对于超声探伤信号去噪效果更好。
从表1也可以看出,硬阈值函数更加适合超声探伤信号去噪。采用硬阈值函数量化,当多小波系数的绝对值小于阈值时,将其全部置零,滤除噪声,当多小波系数的绝对值大于或等于阈值时,保持多小波的系数原值;采用软阈值函数量化,重构的多小波系数和原值之间存在恒定偏差的问题,相当于系数幅值的压缩,减少了重构信号的能量,重构后的信号幅值会略微有所下降。而采用改进后的软阈值函数量化时,当分解的系数大于等于阈值时,随着分解系数值的增加会逐渐地逼近真实的多小波系数,虽然幅值也会有所下降,但是去噪效果接近硬阈值。
 本文提出了一种改进的软阈值函数,有效克服了硬阈值函数不连续和软阈函数存在恒定偏差的缺点。针对目前LabVIEW没有对多小波算法支持的现状,通过使用LabVIEW和MATLAB混合编程技术,在LabVIEW中实现了对超声探伤信号的多小波阈值去噪处理,并且实现了消噪波形显示、消噪数据保存和频谱分析等功能。既保持了LabVIEW友好的界面显示,又扩展了LabVIEW的多小波阈值去噪功能。实验结果表明,改进的软阈值函数比传统软阈值函数明显的提高了信噪比,克服了软阈函数在重构多小波系数时存在恒定偏差的缺点。通过对比多小波阈值去噪与单小波阈值去噪后的结果,可以清楚看出,多小波去噪效果有较明显的优势,尤其在信号被噪声湮没的情况下,多小波还能准确地重构出原始信号,能够更加准确地反映出微小伤痕的情况,有利于提取能超声探伤信号中的缺陷信息。
参考文献
[1] 刘明才.小波分析及其应用[M].北京:清华大学出版社,2005.
[2] 程正兴,杨守志,冯晓霞.小波分析的理论算法进展和应用[M].北京:国防工业出版社,2007.
[3] STRELA V, WALDEN A T. Signal and image denoising via wavelet thresholding: orthogonal and biorthogonal, scalar and multiple wavelet transforms. Imperial College, Statistics Section, Technical Report TR-98-01,(1998).
[4] 陈锡辉,张银鸿.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.
[5] DONOHO D L. De-noising by soft-thresholding[J]. IEEE,Transaction. on IT,1995,41(3):613-627.
[6] 周西峰,朱文文,郭前岗.基于渐近半软阈值函数的超声信号去噪方法[J].探测与控制学报,2011,33(2).
[7] 程学庆,房晓溪,张健.LabVIEW图形化编程与实例应用[M].北京:中国铁道出版社,2005.
[8] 杨青川,华宇宁,张悦.基于LabVIEW的虚拟小波消噪仪的设计与实现[J].仪表技术与传感器,2007(4).
[9] 葛哲学,沙威.小波分析理论与MATLAB R2007实现[M]. 北京:电子工业出版社,2007.
[10] 林莉,李喜孟.超声波频谱分析技术及其应用[M].北京:机械工业出版社,2009.
[11] 李国华,吴淼.现代无损检测与评价[M].北京:化学工业出版社,2009.
[12] GERONIMO J, HARDIN D, MASSOPUST P R. Fractal functions and wavelet expansions based on several functions[J]. J Approx Theory, 1994;78:373-401.

此内容为AET网站原创,未经授权禁止转载。