基于压缩聚焦网格点的快速反卷积算法
2022-03-27王岩松胡定玉
王 月, 杨 超, 王岩松, 胡定玉
(1.上海工程技术大学 机械与汽车工程学院,上海 201600; 2.上海工程技术大学 城市轨道交通学院,上海 201600)
传统波束形成算法(conventional beamforming, CBF)利用传声器阵列采集的声压信号识别声源分布特征,但其输出波束旁瓣高、空间分辨率低,无法完全满足声源高分辨率识别需求。为了提升CBF的性能,研究人员提出了各种性能良好的改进算法,如:对角加载自适应波束形成算法[1]、正交波束形成算法[2]、函数波束形成算法(functional beamforming, FB)[3]及多种反卷积算法。在这些算法中,后两种算法因其动态范围高、抑制旁瓣能力强及缩减主瓣宽度显著等优点而倍受关注。
CBF算法的输出可以表示为声源声压强度分布与阵列点传播函数(point spread function, PSF)的卷积[4]。反卷积算法通过迭代算法求解卷积方程,可消除PSF对波束形成结果的影响,输出一个较“干净”的声源图。DAMAS(deconvolution approach for the mapping of acoustic sources)[5]算法利用高斯-赛德尔迭代方法求解传统波束形成输出结果、阵列点传播函数及声源声压强度分布三者之间的线性方程组,重构声源强度分布,缩减主瓣宽度,抑制旁瓣干扰。为了进一步降低DAMAS的计算时间长,DAMAS2和DAMAS3[6]基于算法阵列点传播函数具有空间转移不变性假设,利用快速傅里叶变换将声源声压强度分布与阵列点传播函数的卷积转化为波数域的乘积,提升了算法迭代效率。SC-DAMAS(sparsity constrained deconvolution approaches for acoustic source mapping)[7]算法基于声源空间稀疏分布假设,可快速求解反卷积中的逆问题,实现声源强度和位置的估计。NNLS(nonnegative least-squares approach)[8-9]算法则是在传统波束形成输出结果、阵列点传播函数及声源声压强度分布之间建立差函数,通过最小化差函数重构声源强度分布。CLEAN[10]算法通过在传统波束形成结果中移除主瓣峰值对应的PSF,净化声源识别结果。CLEAN-SC(CLEAN based on spatial source coherence)算法基于空间中同一声像图内主瓣与旁瓣相干的事实,通过迭代移除CBF生成的声像图中与主瓣相干的旁瓣,提升声源识别效果。但是,当声源间距小于瑞利极限或者声源频率较低时,CBF在各声源处输出的主瓣发生融合,此时CLEAN-SC亦无法准确分辨声源。为了提升CLEAN-SC的空间分辨率,Sijtsma等先后提出了高分辨率CLEAN-SC(high-resolution CLEAN-SC,HR-CLEAN-SC)[11-12]算法和自适应高分辨率CLEAN-SC(Adaptive HR-CLEAN-SC)[13]算法。当Adaptive HR-CLEAN-SC算法与优化阵列[14]结合使用时,可以定位出瑞利极限分辨率范围内最多4个紧密间隔的非相干声源。但是改进算法的计算时间也相应增加。
目前,关于CLEAN-SC算法的研究中,缺乏兼顾空间分辨率和计算时间的研究。针对此问题,本文提出一种基于压缩聚焦网格点的快速反卷积算法,即CLEAN-SC-CG(CLEAN-SC with compressed grid)。CLEAN-SC-CG利用FB算法计算高分辨率的波束输出,并通过设置阈值筛选输出值,将大于阈值的输出值及其对应的网格点信息保留,删除冗余网格点,将保留信息作为CLEAN-SC的输入,逐点迭代求解出各声源强度。
1 基本理论
1.1 CLEAN-SC
CLEAN-SC基于旁瓣在空间上与主瓣相干的事实,迭代移除各声源在互谱矩阵(cross spectral matrix, CSM)中的贡献,并用一个“干净”波束替换主要声源,达到清晰化声像图的目的。CLEAN-SC定义了源分量h,将源分量h替代方向向量g计算互谱矩阵,因此避免了PSF对声像图的影响。
CLEAN-SC依赖于CBF的计算结果,利用互谱矩阵,CBF在聚焦网格点ξj处计算声源功率的表达式为
(1)
式中:(·)*为共轭转置;gj为方向向量;p为复声压信号;wj为加权向量;C为互谱矩阵。
首先,CLEAN-SC通过式(1)获得一个带有旁瓣干扰的声像图,即迭代从i=0开始,并定义每次迭代更新后的CSM为
D(i)=D(0)=C
(2)
(3)
对于i≥1的情况,进行如下迭代过程。
(4)
其中
(5)
步骤3计算代替被移除声源的“干净”波束
(6)
式中:φ为安全系数;λ为决定带宽的参数,通常0<φ≤1。
步骤4更新互谱矩阵CSM
(7)
(8)
将式(7)代入式(8)可得
(9)
一次迭代完成。当算法符合条件‖D(I+1)‖≥‖D(I)‖时,迭代终止。最终,CLEAN-SC输出的声像图是“干净”波束和剩余声像图的叠加
(10)
1.2 CLEAN-SC-CG
为了减少CLEAN-SC的计算时间及提升CLEAN-SC的空间分辨率,提出了CLEAN-SC-CG算法。CLEAN-SC-CG算法利用FB算法对声源进行初始定位,将获得初始定位结果作为CLEAN-SC的初始值,然后通过设置阈值对初始值进行筛选,大于阈值的初始值及其相对应的网格信息被保留下来,其他初始值则不参与迭代运算,并另赋它值。
FB算法是在CBF算法的基础上将CSM进行特征值分解
C=UΣU*
(11)
式中:U为酉矩阵,U=(u1,…,uN),u1,…,uN为C的特征向量;Σ为对角矩阵,Σ=diag(α1,…,αN),其中,α1,…,αN为C的特征值。
FB算法的计算表达式
(12)
式中,ν为一个需要根据具体数据集确定的指数。与CBF相比,FB算法通过指数ν衰减与旁瓣相关的PSF值,达到抑制旁瓣、提升空间分辨率的目的,本文指数ν取值为16[15]。
在CLEAN-SC-CG中,仅保留满足式(13)的聚焦网格点
Aν(ξ)>βν
(13)
式中,βν为阈值。阈值并非一个确定值,本文依据两个原则确定阈值的取值范围。原则一为背景噪声,一般低于背景噪声的声源不被关注,试验环境中背景噪声的声压级可以作为阈值的最小值;原则二为声压级低于峰值20 dB的噪声,低于峰值20 dB的噪声源对声场中目标声源的识别影响较小,所以,此噪声源的声压级可以作为阈值的最大值。阈值影响CLEAN-SC-CG压缩聚焦网格点的数量以及声像图中旁瓣的干扰程度,可根据试验环境和试验目的确定阈值的取值。
CLEAN-SC-CG算法的计算步骤及流程图,如图1所示。
图1 CLEAN-SC-CG算法流程图
步骤1由式(12)计算函数波束形成输出Aν(ξ)。
步骤2根据式Aν(ξ)>βv,压缩聚焦网格点。
步骤4对满足条件的网格点信息进行反卷积(CLEAN-SC)计算,得出 “干净”声像图。
为了方便描述步骤2中压缩聚焦网格点的结果,引入压缩比σ[16]
(14)
采用FB算法对原聚焦网格进行压缩处理,具有3个方面的优势:①FB算法的高动态范围可以提供更大的聚焦网格压缩比,减少运行时间;②FB算法通过调整谱函数的指数值可以获得分辨率高于CBF的声源定位结果,为后续算法提供较好的初始值,提升空间分辨率;③FB算法具有定位弱源的优势,克服了CBF算法因为高旁瓣容易掩盖弱源的问题。将FB算法定位声源的优势与CLEAN-SC算法高分辨率的优势相结合,可以在更短的时间内得到一个更精确的声像图。
2 声源定位仿真
2.1 仿真设置
本节通过仿真分析CLEAN-SC和CLEAN-SC-CG的空间分辨率及计算效率。仿真中,声源为两个不相干点声源,声源频率f1=f2=3 000 Hz,声压级均为100 dB。聚焦网格点间隔为0.05 m。阵列为一个同心圆面阵列,直径分别为d1=0.14 m,d2=0.36 m,d3=0.50 m。传声器个数为36,每个传声器加入信噪比为10 dB的高斯白噪声。声源面与阵列平面平行,且声源面中心与阵列平面中心在同一条直线上。根据两项原则,阈值取值范围为10~80 dB。仿真中CLEAN-SC-CG的阈值为34 dB。反卷积算法中,“干净”波束的宽度设置为5 cm,即λ= 1.2/0.052=480,安全系数φ=0.99。
2.2 双源空间分辨率分析
在空间分辨率分析中,坐标原点位于阵列中心,声源面与阵列平面之间的距离z=3 m,声速c=340 m/s,则瑞利极限R=1.22zc/(d3f)≈0.83 m。聚焦声源面为4 m×4 m,网格点数为6 561。经数据分析,在上述仿真条件下,CLEAN-SC-CG的双声源空间分辨率极限为0.55 m。以下为两种不同间隔下CLEAN-SC-CG的不相干双声源识别图像。
当声源间隔为0.55 m时,声源分别位于(0,0,3 m)和(0.55 m,0,3.00 m)处;当声源间隔为0.60 m时,声源分别位于(0,0,3 m)和(0.60 m,0,3.00 m)处。图2(a)~图2(d)分别为CBF、CLEAN-SC、FB(ν=16)、CLEAN-SC-CG识别间隔为0.55 m的不相干双声源图像。图3(a)~图3(d)分别为CBF、CLEAN-SC、FB(ν=16)、CLEAN-SC-CG识别间隔为0.60 m的不相干双声源图像。声源识别图像的动态显示范围为50 dB。
图2 间隔为0.55 m的不相干双声源识别图像
图3 间隔为0.60 m的不相干双声源识别图像
当声源间隔为0.55 m时,CBF的声源识别图像出现主瓣融合的现象,如图2(a)所示,其最大声压级估计值为100.58 dB。CBF出现主瓣融合,可能导致峰值位置与目标声源位置不一致或者峰值个数多于目标声源个数。然而,CLEAN-SC需要通过搜索CBF计算结果中的峰值达到“净化”CBF声源图的目的。当CBF出现主瓣融合时,CLEAN-SC无法准确定位目标声源的位置,甚至出现两个“伪声源”,如图2(b)所示。图2(b)中,CLEAN-SC识别不相干双声源的定位结果为(0.25 m,0,3.00 m)和(0.75 m,0,3.00 m),其x方向误差分别为0.25 m和0.20 m,y方向定位误差均为0。仿真中,CLEAN-SC的迭代次数为19次,最大声压级估计值为100.54 dB。FB算法通过指数ν衰减了与旁瓣相关的PSF值,抑制旁瓣,突出主瓣,提升了CBF声源识别的空间分辨率,有效地降低了出现主瓣融合现象的机率,如图2(c)所示,其最大声压级估计值为100.16 dB。由于FB算法提供的较好分辨率的声源定位结果,CLEAN-SC-CG可以准确识别声源,其不相干双声源的定位结果为(0,0,3 m)和(0.55 m,0,3.00 m),迭代次数为3次,压缩比为27.11,最大声压级估计值为100.19 dB,如图2(d)所示。
当双声源间隔为0.6 m时,CBF的声源识别图像仍然出现了主瓣融合的现象,如图3(a)所示,其最大声压级估计值为100.22 dB。当CBF出现主瓣融合现象时,CLEAN-SC无法准确定位目标声源的位置。CLEAN-SC识别不相干双声源的定位结果为(0.1 m,0,3.0 m)和(0.7 m,0,3.0 m),其x方向定位误差均为0.1 m,y方向定位误差均为0,最大声压级估计值为100.18 dB。CLEAN-SC的声像图中出现了一个“伪声源”,如图3(b)所示。相比于CBF,FB算法声源识别结果较清晰,如图3(c)所示,其最大声压级估计值为100.06 dB。由于FB较好的声源定位结果,CLEAN-SC-CG准确识别出双声源,其定位结果分别为(0,0,3 m)和(0.6 m,0,3.0 m),迭代次数为4次,压缩比为27.11,最大声压级估计值为100.03 dB,如图3(d)所示。由上述仿真结果可得,CLEAN-SC-CG可以有效地提升声源识别的空间分辨率。
2.3 计算效率分析
通过分析聚焦网格点数,研究CLEAN-SC和CLEAN-SC-CG的计算时间变化趋势。仿真中,计算效率采用CLEAN-SC与CLEAN-SC-CG计算时间的差值ΔT与CLEAN-SC-CG的计算时间TCLEAN-SC-CG的比值η进行评价。η值越大,计算效率提升越显著。图4为CLEAN-SC和CLEAN-SC-CG的计算时间及CLEAN-SC-CG的压缩比σ随聚焦网格点数J的变化曲线。图4中,随着J的增加,CLEAN-SC-CG和CLEAN-SC两种算法的计算时间均有所增加。根据算法可知,随着聚焦网格点数增多,CLEAN-SC-CG计算波束形成及筛选聚焦网格点的运算量增加,CLEAN-SC计算波束形成及每次迭代更新声功率和“干净”波束的运算量同样逐渐增加。但是,由于压缩了参与算法迭代的聚焦网格点数,CLEAN-SC-CG的计算时间始终小于CLEAN-SC的计算时间。同时,随着J的增加,CLEAN-SC和CLEAN-SC-CG的计算时间相差越大,CLEAN-SC-CG的计算速度优势越发明显。根据压缩比的变化曲线可知,由于聚焦网格点数增加,压缩比逐渐增大,CLEAN-SC-CG压缩网格效果越显著,剔除冗余聚焦网格点数越多,与相同聚焦网格点数下CLEAN-SC的运算量相比越少,所以CLEAN-SC-CG的计算速度优势越明显。在仿真中,当网格点数J=1 681时,CLEAN-SC和CLEAN-SC-CG的计算时间相差最小,差值约为0.97 s,计算效率η≈1.36,压缩比σ=14.49,即计算效率至少可以提升1.36倍。由此可得,CLEAN-SC-CG可以有效提升计算效率。
图4 CLEAN-SC和CLEAN-SC-CG的计算时间、聚焦网格点压缩比
3 试验验证
3.1 试验设置
双扬声器识别试验布局如图5所示,采用不相干信号激励的两个扬声器作为声源。激励信号的频率f=2 000 Hz,两个扬声器分别位于(0.2 m,0,1.0 m)、 (-0.2 m,0,1.0 m)。试验在半消声室(9.8 m×8.6 m×3.5 m,长×宽×高)内进行,采用与仿真相同型号的面阵列及LMS SCADAS Mobile数据采集仪测量声压信号。两个扬声器距离0.4 m 图5 试验布局图 图6(a)、6(b)分别为CLEAN-SC、CLEAN-SC-CG的扬声器识别图像,“o”为目标声源位置,“*”为算法定位声源位置,动态显示范围为50 dB。由图6(a)可得,CLEAN-SC识别扬声器的图像分辨率不理想,定位结果分别为(0.21 m,0.04 m,1.00 m)和(-0.19 m,0,1.00 m),计算时间为35.45 s,最大声压级估计值为86.41 dB。与图6(a)相比,图6(b)CLEAN-SC-CG识别扬声器的图像分辨率明显提升,定位结果为(0.20 m,0.03 m,1.00 m)和(-0.2 m,0,1.0 m),定位误差更小,最大声压级估计值为87 dB。CLEAN-SCG-CG的压缩比σ=78.45,计算时间为7.24 s,计算效率η≈3.90,即与CLEAN-SC相比,CLEAN-SC-CG有效的缩减了参与计算的聚焦网格点数量,计算效率提升了约3.90倍。根据定位结果,造成y轴定位误差的原因可能为正半轴扬声器非严格位于x=0的轴线上,即测量误差。试验结果与仿真结果基本一致,验证了仿真结论的正确性。 图6 双扬声器识别图像 本文针对目前CLEAN-SC缺乏兼顾空间分辨率与计算效率的研究,给出了一种压缩聚焦网格点的快速反卷积算法。通过仿真与试验研究,得出结论如下: (1)提升了空间分辨率,由于FB算法可以提供比CBF更高分辨率的波束输出,CLEAN-SC-CG对于低于瑞利极限的不相干双声源具有良好的识别效果。 (2)提升了计算效率,CLEAN-SC-CG充分利用FB算法的高动态范围,获得了较大的聚焦网格点压缩比;阈值一定,聚焦网格点数越多,压缩比越大,计算效率提升越明显。3.2 试验结果分析
4 结 论