改进的波束形成算法及其在多声源定位中的应用

2018-08-30 14:38谢雨轩车驰东
噪声与振动控制 2018年4期
关键词:声源波束遗传算法

谢雨轩,车驰东

(上海交通大学 船舶海洋工程国家重点实验室,上海 200240)

空间声源定位是噪声与振动控制领域中的一个重要问题。波束形成技术是一项处理阵列信号的技术,应用于声呐、雷达等领域,传统波束形成技术需要传感器数量多,计算复杂,一般是针对声源离接收点较远的情况。对于船舱、车辆内部这种声源离接收点较近的情况,若采用较少的传感器,运用传统的波束形成算法,对于多点声源工况的声定位,不能取得很好的结果。

Yang-Hann Kim等较系统地阐述了传统波束形成算法[1]。所谓波束形成(beamforming)算法是运用一个扫描向量(scan vector)和实验结果在空间域上进行内积,在每个方位上能得到一个归一化的“波束形成能量”,观察该能量大小在空间方位上的分布,能量大的方位即声源的方位。基于此算法,许多学者在不同工况下进行了算法改进、阵列改进等相关研究。P.Chiariotti等运用了平均波束形成方法来消除噪声,对车内噪声进行试验[2]。Alaa Abdeen等研究了圆形阵列的精确性和实时性能,对单点源进行测试并得到较好的结果[3]。从众多文献的方法可以看出目前的相关研究存在两个局限性:一是需要的传感器数量较多,一般在25个以上,才能得到较为符合实际的结果,二是大部分文献都采用单点声源作为例子,并不能说明多点声源的情况。

李雷等将遗传算法应用到天线阵信号传输的波束形成算法中,证明了遗传算法和波束形成算法结合的可能性[4]。遗传算法是一种全局概率优化算法,是数值解而非解析解,对于常规方法无法求解的非线性方程组,只要给定较准确的解析域,基于其全局收敛特性,能得到较为准确的结果。罗亚中等在收敛可靠性、计算成本方面对于遗传算法解非线性方程组的优势进行了论证[5]。

本文则采用改进扫描向量的波束形成非线性方程组算法,运用有限传感器采集的信号,按照平面声源理论列出非线性方程,通过参数优化,运用遗传算法解出常规方法不好求解的非线性方程组,再运用波束形成算法在空间域上解出“波束形成能量”相对于空间角度的分布,从而对声源定位。

1 理论分析

1.1 波束形成理论[1]

若声源S到传感器阵列的距离L远大于传感器的间距d,且其间距大于声波的波长λ(即当L>>d并且d>λ),此时传感器阵列收到关于声源S的声信号可近似地看作平面波,这是波束形成理论的基本假设。

单一声源定位模型如图1、图2所示,其中θ为声源与阵列垂直面的夹角(方位角),ω为声频率,相邻传感器的声程差为dsinθ。

图1 平面波示意图

图2 负载阵列计算示意图

在声源定位中,由m个传感器构成的阵列的实测信号向量为

其中pi(ω)为第个传感器测得的响应。

根据波束形成理论,当单一声源S的方位角为θ时,可将第i个传感器的理论响应定义为扫描矢量(scan vector)

其中m为传感器的个数,φ为初相位为响应时间差,c为声速。

由全部扫描矢量构成理论响应列阵

定义“波束形成能量”

β的大小反应了实测响应信号和理论响应信号的相关程度。对于某个θ,通过改变φ,将得到的最大的β作为该θ对应的β,通过改变θ,可以计算出β随θ的变化(扫描),而当β最大时对应的θ即是声源所在的可能性最大的方位。

上述方法对于单一点源的定位可得出较好的结果,但随着源个数的增多,采用式(2)作为扫描向量和实测值进行内积会造成很大误差。这是因为,波束形成相当于以扫描向量为基础特征对波形进行特征识别,式(2)为单个正弦波,反应的是单点源,而多点源工况下采集到的数据波形是不同正弦波的叠加,与单个正弦波形状相差很大。

1.2 改进扫描向量

对于多个源的情况,需对传统波束形成算法进行改进。假设n个源的方位角、幅值和初相位分别为θk,Ak和φ(kk=1,2,3…n。k通常根据方位角大小依次编号),这时第i个传感器的理论响应实际是n个声源作用的矢量叠加,因此将扫描向量改变为

基于改进扫描向量表达式(5),可利用2.1小节所述方法定义“波束形成能量”,并通过多维扫描进行声源定位。但是随着声源数目增多,计算量将几何增长。这是因为对于n个源有3n-1个扫描维度,分别是n-1个Ak维度,n个θk维度和n个φk维度,计算量过大且易引起误差。

为了克服这一问题,本文采用了一种简化的分步计算方法:首先基于遗传算法,利用各传感器响应,求解出各源的幅值,并得到方位角和初相位与参考源参数(通常取θ1、φ1)的相对关系,如此可将3n-1维扫描简化为关于θ1、φ1的二维扫描,参照2.1小节单一源的波束形成进行识别。

1.3 基于遗传算法求解

利用m个传感器定位n个点声源,每个传感器的响应均为n个正弦信号的矢量叠加,如图3所示。第i个传感器对相邻两个(第k和第k+1个)声源响应的相位差Δδ(ii=1,2,3…,n-1)可以表示成

αk和γk分别表征相邻声源的初相位差以及到第i个传感器的声程差引起的相位差。

图3 多声源叠加示意图

各传感器的总响应可以表示为

将式(6)、式(7)代入式(8),再将式(8)代入式(9),其中为实测值为图2中第i个传感器的响应幅值为图2中第i个传感器相对于第1个传感器的相位差。通过式(9)的实部和虚部可列出由2m-2个方程组成的方程组,用于求解3n-2个未知数,理论上当2m≥3n时,方程组可解。

对于上述非线性方程组,常规求解方法难以求解,本文采用遗传算法求解。

遗传算法是一种全局最优化算法。本文求解流程图如图4。

解出αi、γi、Ai之后,只要确定θ1和φ1,即可确定所有的参数。

对θ1、φ1进行扫描,将扫描结果进行叠加,即可得到基于改进算法的“能量-角度”曲线。

观察“能量-角度”曲线,得到声源所在的方位。

2 多点声源定位

2.1 实验概述

为了验证改进算法的有效性,在半消声室内进行声源定位实验,见图5。声源和接受装置的布置如图6所示。

图4 遗传算法流程图

图5 实验室示意图

图6 试验布置示意图

所采用的声源为两个小型扬声器,由信号发生器提供正弦噪声信号。接受装置为一Y型三向传感器阵列,每列设5个电容传声器,见图7、图8。实验中两个声源在不同的工况(间隔距离)下发出频率为300 Hz的噪声信号,由传感器阵列接受信号,分别按传统及改进波束形成算法进行处理后进行比较。实验工况见表1。

2.2 测试与计算结果

各传感器测得的时间信号经滤波后得到图9、图10所示的曲线,横坐标为时间,纵坐标为声压幅值。四条曲线反应了相邻四个传感器的信息,可用于计算传感器之间的相位差和幅值差。

图7 阵列正视图

图8 阵列侧视图

表1 工况表

图9 时间信号曲线整体

图10 时间信号曲线局部

图11至图14、图15至图18所示的分别是运用传统算法和改进算法时工况一的定位结果,其中图11至图13、图15至图17分别是三个阵列“波束形成能量”随方位角的扫描结果,图14、图18分别为经三个方向的“波束形成能量”处理后合成的声源定位效果图。

图11 工况一阵列一能量(传统)

图12 工况一阵列二能量(传统)

图13 工况一阵列三能量(传统)

图14 工况一定位结果(传统)

图19至图22为工况二、三时两种算法定位效果的比较。为简便计,这两个工况下的能量分布省略。

定义定位的相对误差η来表示声源定位结果的准确度。

图15 工况一阵列一能量(改进)

图16 工况一阵列二能量(改进)

图17 工况一阵列三能量(改进)

图18 工况一定位结果(改进)

其中Δs表示定位点与声源点的图像距离,S表示定位图像的图像尺度。相对误差统计见表2。

图19 工况二定位结果(传统)

图20 工况二定位结果(改进)

图21 工况三定位结果(传统)

图22 工况三定位结果(改进)

由图14、图18的比较及表2中的结果可见:在两个声源相聚较近时,等效于单一声源,两种算法定位结果基本一致。

由图19、图20的比较、图21、图22的比较以及表2的结果可见:当两个声源的距离增大时,改进算法可以有效提高定位精度,并准确定位多个源的位置。

表2 定位相对误差

3 结语

针对传统波束形成算法的局限性,提出改进扫描向量对多点源噪声进行定位。基于遗传算法对多源参数的相互关系进行求解,大大降低扫描维度,简化计算。通过实验,比较了两种算法的定位效果。由比较可见:当多个声源相距较近的时候,这些源等效于单一点源,两种算法定位结果基本一致;但当声源相互距离增大时,改进算法可以有效提高定位精度,从而验证了其有效性。

猜你喜欢
声源波束遗传算法
虚拟声源定位的等效源近场声全息算法
基于共形超表面的波束聚焦研究
超波束技术在岸基光纤阵中的应用
毫米波大规模阵列天线波束扫描研究*
基于遗传算法的智能交通灯控制研究
基于GCC-nearest时延估计的室内声源定位
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
智能自动避障与追踪声源小车的设计
基于改进的遗传算法的模糊聚类算法
基于改进多岛遗传算法的动力总成悬置系统优化设计