APP下载

基于改进式SL0算法的超声混叠信号分离

2022-09-05陆传雨陆铭慧刘浩宇徐喜浩

航空学报 2022年7期
关键词:字典原子噪声

陆传雨,陆铭慧,*,刘浩宇,徐喜浩

1. 南昌航空大学 无损检测教育部重点实验室,南昌 330063 2. 中车青岛四方机车车辆股份有限公司,青岛 266111

铝合金具有密度小、强度高、加工性能优良等特点,广泛应用于航空航天领域。真空扩散焊作为一种固相增材制造技术常用于飞行器内部部分复杂铝合金构件的加工与制作。但在焊接过程中,接头处可能存在未焊合、弱结合等情况,导致构件内部存在缺陷,影响构件质量,严重时甚至会引发飞行事故。因此,对这类焊接构件的无损检测具有重要意义。

压电超声检测具有检测灵敏度高,成本低,效率高等特点,在该类金属构件的检测中发挥了很好的效果。传统超声特征扫描技术将超声波垂直入射至构件内,通过分析反射回波实现内部缺陷的检测。但对于等厚的同种材料扩散焊接构件(例如3层等厚铝合金薄板),当上、下层界面在某一垂直位置同时存在缺陷时,上层缺陷的二次回波会和下层缺陷的一次回波产生了重叠,导致下层缺陷识别和定位困难,如图 1所示。本文希望通过算法实现下层界面重叠信号的分离,并对上下层界面的缺陷精确定位。

图1 重叠缺陷的超声回波示意图Fig.1 Schematic diagram of ultrasonic echo waveform of overlapping defects

近些年,稀疏分解方法常被应用于解决此类信号重叠问题。该方法首先选择一个与原始信号类似的原型原子,然后对原型原子进行参数扩展或字典学习来创造一个过完备字典,最后通过稀疏分解算法选择精确表示信号的最小原子子集(稀疏表示)来重构原始信号。郑国军等采用基于Gabor字典的正交匹配追踪算法(Orthogonal Matching Pursuit,OMP)对管道轴向缺陷的超声导波信号进行分解,利用分解后得到的前后两端信号实现了缺陷定量。燕学智等提出了一种基于近似L0范数约束的新算法,实现了宽带信号波达方向估计联合估计。其在低信噪比、小快拍及信源空间间隔较小的情况下,可明显提高参数估计精度及角度分辨率。Mor等为了解决薄层介质超声测厚时,上下表面回波混叠的问题,在传统OMP算法的基础上提出了一种支持匹配追踪(Support Matching Pursuit,SMP)算法。该算法通过超声回波的时间定位特性,成功实现了重叠信号分离。以上方法虽然可以解决部分信号重叠的问题,但当多个信号严重重叠时却不能起到很好的分离效果。因为OMP算法中采用的贪婪迭代思想仅在每次迭代中寻找当前的最优解。对于重叠严重的信号,这会使其陷入局部最优解,导致信号分离的结果和真实情况并不匹配。事实上,重叠信号的精确分解与重构问题的难点在于如何令所求得的字典原子子集最稀疏。而这一过程可以抽象为L0范数最小化问题,这也是本文重点想要解决的问题。

L0范数最小化问题的解虽然存在,但这是一个非确定性多项式(NP-hard)问题,无法直接求解。因此,如何找到该问题的近似最优解就成了国内外学者的研究重点。Mohimani等提出了一种平滑化L0范数的方法(SL0算法)。该方法将L0范数替换为一种高斯族函数,通过不断收缩高斯族函数中的方差来近似逼近L0范数,最终得出最优解。L0算法有着较好的求解结果和较快的求解速度,但由于可行集的等式约束条件限制,使其对于噪声特别敏感,并不适合实际信号。为了提高SL0算法的鲁棒性,消除噪声的影响, Bu等在SL0算法的基础上融合了L2范数正则化的思想,提出了一种正则化SL0算法(ReSL0算法)。通过在投影时加入正则化项来平衡最小化L0范数和约束条件之间的限制,成功的抑制了噪声。但是正则化参数的选取对于一维信号重构有着较大的影响,其取值只能通过试错法来大概得出。因此,对于真实实验,该方法仍然需要改进。此外,为了克服SL0在利用梯度下降法近似逼近L0范数过程中所产生的“锯齿”现象和搜索步长选取困难等问题,进一步提高SL0的性能。赵瑞珍等将SL0算法中近似逼近过程中需要用到的高斯族函数和梯度下降法换成了双曲反正切函数和修正牛顿迭代法,提出了一种基于光滑L0范数和修正牛顿法的重建算法(NSL0算法),在缩短求解时间并提高计算精度的同时避免了梯度下降法中搜索步长的超参数调节。

为了实现三层等厚铝合金扩散焊试块在超声检测中波形重叠的问题,本文在传统SL0算法的基础上提出一种改进式SL0算法。使用双曲反正切函数和修正牛顿迭代法代替原本SL0中使用的高斯族函数和梯度下降法,简化算法流程,以避免部分超参数调节对结果产生的影响。同时,将传统SL0算法中的等式约束投影条件修改为不等式约束的凸优化问题,以实现对于含噪信号的稀疏分解,增强算法鲁棒性,更好地满足实际需要。

1 算法原理

1.1 稀疏表示

=

(1)

式中:=[,,…,]为在过完备字典上的投影系数,也称为稀疏向量。由于字典的过完备性,在字典上的表示方式不唯一。而信号的稀疏就表示在选定的过完备字典中用尽可能少的字典原子来(精准地)表示原始信号,其本质即为求解:

(2)

1.2 Gabor字典

由于超声波信号的基本结构特征与Gabor函数较为相似。因此,利用该函数的时频参数离散化得到的Gabor字典常常被应用于超声信号的处理中。Gabor函数达式为

(3)

式中:为时间;()=e为高斯函数;为尺度因子,表示函数能量分布情况;为平移因子,表示函数波形出现的具体位置;为频率调制因子,表示函数主频;为相位因子,表示函数相位。

1.3 SL0算法

(4)

式中:为投影系数向量=[,,…,]中的一个元素;为投影系数向量的长度,是一个常数;为可变的方差参数。接着采用最速下降算法来逼近()的最大值,其过程可表示为

(5)

(6)

此时得到的解即为满足式(2)的最优解。以上即为SL0算法的基本流程。但由于式(5)中必须满足可行集=的要求,当信号含噪时会出现过拟合的现象,无法很好地得到稀疏解。为了满足本文中的真实含噪信号的稀疏表示,需要对SL0算法进行一些改进。

2 改进式SL0算法

为了解决传统的SL0算法中存在超参数较多、对含噪信号分解效果差等问题,对SL0算法进行了3处优化:

1) 采用OMP算法来计算初始解。在传统SL0算法中,常采用=的最小二乘解作为初始化解。但在含噪信号中,这样得到的初始解往往混乱且巨大,使得前期大部分迭代并没有发挥作用。而用OMP算法得到的初始解能够很好地给出稀疏系数的取值范围,减少无用的迭代过程,加快运算速度。

2) 采用修正牛顿迭代算法和双曲正切函数来优化迭代过程:传统SL0算法中使得的梯度下降算法在迭代过程中存在锯齿现象、收敛性较差、步长参数难以确定等问题。而采用修正牛顿迭代算法和双曲正切函数(式(7))来进行迭代不仅克服了梯度下降算法的缺陷,还拥有更简洁的函数表示形式(式(8)),也加快了迭代的速度。

(7)

(8)

3) 采用凸二次规划代替传统SL0中等式约束条件:传统SL0算法在投影时采用=的约束条件对于噪声非常敏感。为了增强算法的鲁棒性,改进了投影方式如下:

(9)

式中:为可允许的最大误差。通过将原本的等式约束条件放宽为不等式约束,从而减少噪声对算法的影响,得到更接近原始信号的解

本文改进式SL0算法的流程大致可以分为3个部分:初始化参数、内外双循环迭代、输出结果。其具体步骤如图 2所示。

图 2 改进式SL0算法流程图Fig.2 Flow chart of the improved SL0 algorithm

初始化参数。首先,利用OMP算法和过完备字典获取初始解。接着,从递减序列[,,…,]中选取光滑函数的参数=(其中:=-1,∈[05~1],本文取=0.7;初始参数=1,序列最小值不小于0.001)。最后,设定可允许的噪声导致的误差项

1) 外部循环:确定光滑函数参数=,执行内部循环。当内部循环满足终止条件时,令=+1并更新光滑函数参数,重复运行循环直到<1×10后停止。

输出结果:最终得到的即为信号的最稀疏表示。

3 实验结果及分析

3.1 试块与实验平台

为了模拟实际工件中存在的缺陷重叠现象,将3块等厚铝板(100 mm×100 mm×10 mm)扩散焊接,制作成一件标准试块。其中每两层铝板间制作了高度为0.5 mm、直径为2 mm的圆柱形人工缺陷。根据所处位置的不同将这些缺陷分为3种情况:① 仅上层界面存在缺陷;② 仅下层界面存在缺陷;③ 上下2层界面存在重叠缺陷。试块及内部缺陷的示意图及实物图如图 3所示。

图3 标准试块示意及实物Fig.3 Schematic diagram and physical image of standard test block

为了获得标准试块中各位置的超声波形,采用中心频率为10 MHz的超声探头和水浸式超声特征扫描装置对试块进行了全波列扫查。该装置由控制与处理系统、机械传动装置、超声信号发射接收装置3个部分组成,其示意图和实物图如图4 所示。在进行扫查时,控制系统先向机械传动系统发出指令,使其带动超声信号发射接收装置对整个工作平面内所有位置的超声信号进行采集,接着将采集好的信号返回处理系统进行后期处理。为了提高扫查精度,该装置在横轴和纵轴方向的扫查步进都为0.2 mm,扫查区域面积为100 mm×100 mm,采集卡的采样频率为200 MHz,单个位置的接收信号长度为2 573个点。

图4 实验平台示意及实物图Fig.4 Schematic diagram and physical map of experimental platform

3.2 信号分析和预处理

利用超声特征扫描装置采集了标准试块中的全部波列,并绘制出3种不同位置下的缺陷波形如图 5所示。通过对下层界面的超声回波进行了局部放大处理可以明显看出3种不同下缺陷波形的区别。事实上,由于扩散焊接所处的高温高压环境对铝板的厚度有一定影响,所以本该完全重合的回波波形仅由大部分发生了重叠这也为后续的信号分离提供了可能。

图5 超声A-Scan在3种不同位置的接收波形Fig.5 Acoustic echos received by ultrasonic A-scan at three different positions

接下来,通过小波变换对图 5中3种不同情况下的超声回波进行了时频联合分析,其时频图如图 6所示。

图6 下层界面超声回波时频图Fig.6 Time-frequency diagram of ultrasonic echo from lower interface

从图 6中可以得出,超声回波信号时域占宽约为4.5×10,频带宽度约为8~10 MHz。通过对单位时间内的噪声能量进行计算,得到在含噪情况下可允许的最大误差为=015。下文将利用这些条件来对重叠信号进行稀疏分解。

3.3 信号分解与重构

为了更好地实现含噪超声重叠信号的稀疏表示,采用与超声信号具有相似结构特征的Gabor字典作为过完备字典。同时,根据3.2节中对真实信号的分析,本文限定了部分参数的取值范围,减少了过完备字典原子数量。这样不仅降低了计算量,还能提高算法的性能。其中,字典原子的尺度参数设定为6×10;时移参数范围为0~1.5 μs(以2.5×10μs为步进);频率参数范围为8~9.8 MHz(以0.2 MHz为步进);相位参数范围为0~17 π/18 rad(以π/18 rad为步进)。这样不仅降低了计算量,还能提高算法的性能。

在上述条件下生成的尺寸为300×10 980的过完备字典中依旧存在大量与原始信号没有太大关系的字典原子。为了进一步减少无关原子的影响,提高运行速度,本文仅取和原始信号内积大于0.2 的原子,利用它们组成尺寸为300×785的新字典来进行下面的运算。

在确定了过完备字典和可允许的最大误差=015后,利用改进式SL0算法对标准试块中采集到的超声重叠信号(见图7(a))进行稀疏化处理,得到如图7(b)所示的稀疏向量。从图 7中可以看出,稀疏向量中仅存在3个不为0的值,它们分别代表原子序号为280、289、600的3个不同的字典原子,这3个字典原子如图7(c)所示。

图7 混叠超声回波的稀疏分解结果Fig.7 Sparse decomposition results of aliased ultrasonic echoes

通过图7(c)可以看出,由于过完备字典的冗余性,算法选出了序号为280、289的2个特征参数几乎相同的原子。由于这2个原子的参数几乎相同,显然表示的是同一个信号。为了去除沉余,更好地描述该信号,将这2个原子组合成一个新原子(新原子的幅值序号为280,289的2个原子幅值之和,原子参数280原子相同),并将其命名为1号原子。同时,将序号为600的原子命名为2号原子。它们的参数信息如表1所示。

表1 稀疏分解后的原子及其参数

因此,该算法实际上将原始信号分解成了1号、2号2个原子。它们和原始信号的对比如图8所示。

图8 稀疏表示原子及其重构信号Fig.8 Atoms obtained by sparse decomposition and their reconstructed signals

由图 8可知,在完美还原原始信号的同时,改进式SL0算法不仅避免了原始信号中噪声的影响,还极大程度地对原始信号进行了稀疏化。为了验证该算法得到的原子是否能够还原真实情况,将标准试块切开,利用游标卡尺分别测得上界面缺陷、下界面缺陷到上表面的距离,并将真实数据与通过分解信号的时移信息计算出的深度数据进行对比,结果如表2所示。

表2 缺陷深度数据对比Table 2 Comparison of defect depth data

表2中的原子声程指的是稀疏分解后得到每个原子所处位置的声程,而计算深度则是指利用声程和事先测得的试块中声速(本文中的铝合金扩散焊接试块的声速约为6 130 m/s)计算得到的缺陷深度。显然,改进式SL0算法得到的深度信息和真实数据很接近。并且,2个原子的相位信息也几乎一致,满足声波在铝中的传播特性。因此可以近似认为该算法分离出的2个信号就是构成重叠信号的2个原始信号。

此外,为了进一步说明改进式SL0算法在含噪信号的稀疏与重构方面的优越性,对OMP、SL0、NSL0、ReSL0、改进式SL0这5种算法对超声重叠信号的稀疏和重构效果进行详细对比。其中,对超声重叠信号的稀疏化结果如图9所示。

图9中,各算法对原始超声混叠信号的稀疏效果有着明显差异。其中,SL0和NSL0算法的效果最差。这2种算法都对噪声很敏感,它们使用了大量无关原子来拟合原始信号中的噪声。ReSL0算法在一定程度上降低了信号中噪声对稀疏分解结果的干扰,但是,该算法中引入的正则化参数需要人为设定,再通过多次尝试来接近最稀疏的情况,这种算法得到的结果往往不是最好的稀疏结果。而OMP算法虽然具有很好的稀疏化效果,且几乎不受噪声影响,但它采用贪婪迭代的思想,仅考虑当前步骤最优结果,使其稀疏结果和真实情况并不一致。

图10给出了利用不同算法得到的稀疏向量重构原始信号的结果。其中,SL0和NSL0算法的拟合结果具有更多的噪声细节,这也和稀疏表示结果相对应。而OMP、ReSL0和改进式SL0算法的重构结果类似,都和原始信号有着很高的相似性。结合稀疏表示结果和重构图像可以看出,不同的稀疏方法虽然都能实现原始信号的分解,但是只有改进式SL0算法能够有效实现含噪的超声重叠信号的最稀疏化。

图9 超声重叠信号的稀疏表示结果Fig.9 Sparse representation results of ultrasonic aliasing signals

图10 利用稀疏向量对原始信号的重构结果Fig.10 Reconstruction result of original signal using sparse vector

4 结 论

研究了稀疏表示方法对于超声重叠信号的分离。针对传统SL0算法对噪声敏感、稀疏能力表现一般、超参数较多等问题,提出了一种改进式SL0算法。该算法将原本的等式约束的投影条件换成了不等式约束的凸优化问题,在实现含噪信号稀疏化的同时提高了稀疏能力。通过使用双曲反正切函数和修正牛顿迭代,不仅克服了梯度下降法的弊端,还减少了超参数。对真实超声信号的实验结果表明,相比于其他常见的稀疏算法,该算法能更好地实现含噪信号的稀疏表示,且分离出的信号与真实情况一致。

猜你喜欢

字典原子噪声
“白噪声”助眠,是科学还是忽悠?
原子究竟有多小?
原子可以结合吗?
带你认识原子
字典的由来
大头熊的字典
要减少暴露在噪声中吗?
正版字典
有些噪声能让你深睡眠
一种基于小波包变换的双模噪声中信号检测