王冠群,张春华,李 宇,张扬帆
(1.中国科学院声学研究所,北京100190;2.中国科学院先进水下信息技术重点实验室,北京100190;3.中国科学院大学,北京100049)
在水下传感器网络系统中,传统的声源定位方法[1-3]需要两个步骤:各个节点首先对阵元域接收数据进行处理,得到声源的波达方向(Direction of Arrival,DOA)估计,并将DOA估计值以有线或无线的方式传输至融合中心;然后在融合中心将所有节点的声源方位量测信息进行数据融合,从而得到声源的位置估计。在传统方法中,各节点独立完成中间参数估计过程,忽略了接收信号来自同一声源的约束条件,造成信息损失,从而无法获得声源的最优位置估计。
为了避免传统分步定位方法的缺点,Weiss 等[4]提出基于最大似然估计的直接定位方法(Direct Position Determination,DPD)。DPD方法联合多节点阵元域接收数据来构造似然代价函数,并 通过空间二维搜索直接获得目标位置估计。该方法能够在减少传统方法中因两步分离而造成信息损失的同时,避免多目标定位过程中因数据关联所带来的高算法复杂度等问题。在传统 DPD方法的基础上,王云龙等[5]在估计代价函数中考虑了多普勒频移信息,提出了改进的直接定位方法(Improved Direct Position Determination,IDPD)方法,提高了目标的定位精度;Tirer等[6]针对于多目标状态下,DPD方法的估计精度不高问题,提出将 DPD和最小方差无失真响应(Minimum Variance Distortionless Response,MVDR)方法联合,能够实现多目标的超分辨定位等。上述的 DPD及其衍生方法中均用平面直达波建立信号接收模型,而水下传感器网络系统多布放在近海海域,在浅海环境中由于声波的多模态传播特性不能简单地用直达波表示,侯云山等[7]根据简正波理论,在平坦硬质海底和高斯白噪声条件下构造出适用于均匀线阵的浅海接收模型。
针对于水下多站联合的声源定位问题,本文基于文献[7]建立了多站接收模型,并提出一种适用于浅海的多站直接定位方法,该方法根据各节点的阵元域接收建立联合似然代价函数,并利用遗传算法进行多维搜索,直接获得声源的位置估计。
假设在浅海环境中存在一个多元同构阵列联合定位系统,接收节点为海底水平圆阵,每个节点的阵元数为M,节点接收模型如图1所示。
图1 定位系统的节点接收模型示意图Fig.1 Schematic diagram of the base receiving model of positioning system
若zl,m为阵列l中第m号阵元的接收数据;sd为声源 d的辐射信号,d=1,…,D,D为声源数目;l=1,…,L,L为系统中接收节点个数;m=1,…,M,M为阵列的阵元数,则在简正波理论模型[7]下,第t时刻的阵元接收形式为
式中:N为简正波模态数目;θl,d为声源d相对于接收阵列l的水平入射角;R为圆阵的半径;ξn为第n阶简正波的水平波数;wl,m(t)为接收阵列l中第m号阵元的接收噪声;φd,n(rl,d,hl)表示声源d的第n阶简正波。为了简化信道模型,将浅海环境看作硬质均匀浅海声场,则 φd,n(rl,d,hl)可简化为
式中:H为海水深度;αn为第n阶简正波的垂直波数;hl和hd分别为接收阵列l和声源d的深度;rl,d为声源d和接收阵列l之间的水平距离。
将节点l的接收按阵元排成列矢量,则单节点接收的矩阵表达为
式中:
其中:t1,t2,…,tK为时间采样序列;K为采样点数。
本文根据确定性极大似然方法来进行声源定位过程,假设所有阵列接收的噪声级相等,并且各个阵元的接收噪声均服从均值为0、方差为σ2的高斯分布,则所有阵列的联合概率密度函数为
因此,在声源数目D已知的前提下,多个声源状态联合{X1,…,XD}的最大似然估计结果可通过最小化代价函数Q(X1,…,XD)获得:
式中:Xd=[xd,yd]T表示声源d的位置向量,xd和yd分别表示二维平面内声源 d的东向坐标和北向坐标。由于矩阵Bl和Φl包含所有声源到阵列l的角度和距离信息,并且可由声源的位置向量组合{X1,…,XD}唯一确定,因此可通过最小化代价函数获得声源的最优位置估计,即:
6.3.1 建筑信息模型的建立。建筑信息模型的建立是BIM技术质量管控应用的第一步,是一切功能实现的基础设计阶段,它多以BIM的建模居多。施工阶段成熟的软件较少,施工阶段模型可以用几个阶段的模型直接修改并添加信息,应用或根据设计CAD图纸重新建模,主要体现在参数化建筑图源和参数化修改引擎,自定义组面对构件建模构件之间的质能关系。施工阶段,通过直接的操作BIM模型,在此添加各项施工5D质量管理信息,施工阶段的BIM 5D模型得以重构。
在代价函数Q(X1,…,XD)中,S为未知的确定信号,可用其确定性极大似然估计值代替:
式中:(BΦ)+=((BΦ)H(BΦ))-1(BΦ)H表示矩阵BΦ的广义逆,联立式(5)~(7)可得:
式中,RZl为阵列l接收阵元域数据的协方差矩阵,可用观测时间T内K个采样点的平均值来代替:
本文提出的多声源联合定位方法实质上属于非线性的多维优化问题,传统有效的多维搜索方法有高斯-牛顿算法、交替投影算法、遗传算法等[8]。高斯-牛顿算法[9]需要选择合适的初始值,初始值选择不当,则在迭代过程中容易陷入局部最小,从而导致估计错误;交替投影算法[10]通过在搜索空间中划分网格并逐点进行搜索,而声源定位精度与网格划分疏密程度密切相关,为了提高定位精度则必然导致网格无限细分,同时通过网格搜索的方法存在收敛到局部极值点的可能;为了能够获得全局最优值点,由于遗传算法[11]具有全局收敛性、鲁棒性强等优点,选择遗传算法来求解多维优化问题。
本文采用单种群实数编码的方式,每个染色体由D个基因组成,每个基因为一个二维矢量,对应固定声源Xd=[xdyd]T,基于遗传算法的多声源定位过程如下所示:
(1)初始化种群
在多站联合探测区域内随机产生基因,并将基因组合成一个2×1×D维的染色体,最后根据种群数量N将所有染色体进行组合,构造出一个2×1×D×Nc的初始种群。
由于要获得代价函数Q(X1,…,XD)的全局最小值,并且Q>0,因此可将代价函数的倒数作为遗传算法的适应度函数F,即F=1Q。
(3)选择遗传
本文采用确定式采样选择方法来选择遗传,该方法分为三个步骤:
首先计算所有染色体的期望生存数目En:
(4)交叉与变异
交叉率Pc和变异率Pm直接影响算法的收敛特性,交叉过程是产生新染色体的主要方式。在早期遗传过程中,需要进行大量的交叉过程以加强全局搜索能力,当种群逐渐进入稳态后,则需要弱化交叉过程,并且通过提高变异率来加强局部搜索能力。为了实现两个概率的自适应调整,根据模拟退火思想设置交叉和变异概率[12]:
式中,g=1,…,G,G为初始设定的进化代数。
本文对种群内所有染色体按以上两个概率进行交叉和变异过程。在交叉过程中选用单点交叉方式;在变异过程中,选用高斯变异方法对染色体中各个基因进行变异操作,所谓高斯变异方法是指变异操作时选用符合正态分布的随机变量来代替原有的基因[13]。
(5)终止条件判断
当进化次数达到初始设定的进化代数时,则终止进化并输出适应度最大(即代价函数最小)的染色体;若未达到,则跳转到第二步继续迭代进化。
在仿真实验中,假设声场环境为硬底均匀浅海声场,海底深度H和水中声速c分别为100 m和1 500 m·s-1。探测节点以及声源位置如图 2所示。探测节点个数为 3,并且按照正三角形拓扑结构放置,假设各节点为水平圆阵,阵元数为20,阵元间距为c /(2 f0)。以三角形的几何中心为坐标原点,且x轴与其中两个节点连线平行,节点间距为4 000 m。多节点的联合探测区域是以原点为中心,探测半径为6 000 m的圆,在探测区域内存在两个静止的声源,位置分别为[200,-3 500]m、[3 200,1 400]m,声源深度均为50 m。假设各声源的发射信号为相互独立的窄带高斯随机噪声,声源级和环境噪声级分别为120、60 dB。对观测时间内的阵元域采样数据进行窄带滤波,滤波器的中心频率f0和带宽B分别为1 kHz和50 Hz,观测时长为1 s,采样率为5f0。在利用遗传算法进行多维搜索时,设置种群大小为1 000,遗传代数为200。
图2 探测节点以及声源位置Fig.2 The positions of bases and sources
图3是声源定位结果以及终止进化后遗传算法输出的基因分布,其中每个基因代表一个声源。图3中的观测窗为图2中各声源观测区域的放大图。可知通过多维迭代搜索,本文方法具有全局收敛性,并且定位结果能够很好地收敛到声源的真实位置。
仿真对比文中算法与分步定位算法在浅海环境中的声源定位性能,并分析各参数对定位精度的影响。假设场景中只存在声源2,分析过程中均进行50次蒙特卡洛仿真。对比方法采用分步定位方法,首先根据 MVDR方法找到各个节点探测的声源方向,然后利用最小二乘(Least Squares,LS)方法进行多节点方位融合,以确定声源位置。
图3 声源定位结果和终止进化后遗传算法输出的基因分布Fig.3 The source positioning result and the gene distribution of genetic algorithm output after terminating evolution
由于各个探测节点接收的声源信噪比不同,为了讨论方便,本文讨论固定声源级下不同环境噪声级对定位性能的影响,结果如图4所示。经分析可知,在较高信噪比下的两种方法的定位误差均稳定在 50 m内,随着环境噪声级降低,两种方法的定位误差均增大,但是本文方法的单声源定位误差均小于MVDR-LS方法。这是因为分步定位算法在进行位置估计时,存在中间参数估计误差,再经过多节点联合的位置解算过程,导致误差被进一步放大;本文方法利用各节点阵元域数据进行联合处理,直接获得声源位置估计,因此文中方法的定位性能优于MVDR-LS方法。
图4 不同环境噪声级下本文方法和MVDR-LS法的定位误差Fig.4 Relation between positioning error and ambient noise level for the proposed algorithm and the MVDR-LS algorithm
探测节点为海底固定阵,其扰动误差较小,因此设置节点位置扰动及阵元扰动误差上限分别为100 m。仿真结果如图 5所示。由于固定节点的扰动较小,在一定范围内,两种定位算法的定位误差受节点位置扰动影响不大,并且文中算法的定位效果优于MVDR-LS方法。
图5 节点位置扰动下本文方法和MVDR-LS法的定位误差Fig.5 Relation between positioning error and base position disturbance for the proposed algorithm and the MVDRLS algorithm
由于文中定位方法假设声源数目已知,当假设声源数目与真实数目失配时(包括过估计和欠估计),分析文中方法的适用性。而定位方法的适用性则体现在声源数目失配时,是否仍能对真实声源进行有效定位。
考虑在低信噪比环境下,常规信源数方法不能进行准确的声源数目估计时,分析文中定位方法的适用性。设定环境噪声级为 75 dB,其它参数与前文一致,仿真结果如图6和表1所示。表1声源数目匹配情况中(a,b)为(真实声源数目,假设声源数目)的简化写法。
图6为声源数目失配时的声源定位结果,当声源数目过估计时,对于所有真实声源均能给出有效的位置估计,并且在真实声源附近会出现一个或多个估计声源;当声源数目欠估计时,会造成部分真实声源丢失,但是也不会产生错误的位置估计。表1为声源数目失配时的声源定位误差对比,可以看出声源数目失配对真实声源的定位精度影响不大;在过估计时定位误差略有增大,然而在欠估计时声源定位误差比正常估计时小。分析可知,原因在于:当真实声源数目不变时,随着假设声源数目增多,声源联合状态 { X1,…,XD}的维度增大,也就导致遗传算法中染色体维度增大,从而产生声源定位误差与假设声源数目成正比的这一现象,可通过扩大种群数量或者增加遗传代数来改善声源定位效果。
图6 真实声源和假设声源数目失配时本文方法的定位结果Fig.6 Source positioning results of the proposed method under the mismatch between real and assumed source number
表1 真实和假设声源数目失配时的声源定位误差Table 1 The source positioning error under the mismatch between real and assumed source numbers
文中提出一种适用于浅海声源的多阵列直接定位方法,该方法根据简正波理论建立阵列接收模型,并根据各阵列接收数据建立联合似然代价函数,最后利用遗传算法进行多维搜索,直接获得多声源位置估计。仿真结果表明,该方法的声源定位误差小于传统的分步定位方法,在较高信噪比时的定位误差稳定在 50 m内。该方法避免了分步定位方法中二次估计误差的引入,提高了声源定位精度,为水下声源的定位问题提供了新的解决思路。