一种面向声速剖面的水下节点定位方法转让专利

申请号 : CN201810909788.6

文献号 : CN109031314B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 董宇涵孙传真李征张凯李志德

申请人 : 清华大学深圳研究生院

摘要 :

本发明公开了一种面向线性声速剖面的水下节点定位方法,包括如下步骤:A1、分析输入的锚节点与目标节点间的声速剖面的线性程度;A2、根据线性程度的不同,采用粒子群优化算法;对线性程度为单段线性的声速剖面,采用单段线性声速剖面模型的定位方法,得到目标节点的坐标;对线性程度为多段线性的声速剖面,各段内近似为线性,采用多段线性声速剖面模型的定位方法,计算锚节点与目标节点间的水平距离,实现定位。采用粒子群优化算法在性能上优于现有技术,分段线性的处理方式,简化了计算,定位更简单。

权利要求 :

1.一种面向线性声速剖面的水下节点定位方法,其特征在于,包括如下步骤:A1、分析输入的锚节点与目标节点间的声速剖面的线性程度;

A2、根据线性程度的不同,采用粒子群优化算法,对不同线性程度的声速剖面模型采用不同的定位方法,求解目标节点坐标;

所述步骤A2中,

若锚节点与目标节点间的声速剖面的线性程度为单段线性,采用单段线性声速剖面模型的定位方法,得到目标节点的坐标;

若锚节点与目标节点间的声速剖面的线性程度为多段线性,采用多段线性声速剖面模型的定位方法,各段分别为线性,得到各段的水平距离之和,求得目标节点的坐标;

当声速剖面为单段线性,则粒子值为二维坐标,采用粒子群优化算法直接求解得到目标节点坐标;

当声速剖面为多段线性,则粒子值为一个数,迭代求解得到的最优粒子值为声波在第一段的传输距离,采用粒子群优化算法求解声波在第一段传播的水平距离,确定声传播轨迹,继而求出声波在其余段传播的水平距离,从各段的水平距离求得总的水平距离,进而求得目标节点坐标。

2.根据权利要求1所述的水下节点定位方法,其特征在于,所述步骤A1中,采用贪心算法来分析输入的声速剖面的线性程度,包括以下步骤:A11、起始:假设声速剖面的观测数据点数为n,将整个声速剖面分成 个连续不重叠片段,其中, 为向下取整函数;使用普通最小二乘回归拟合每个片段中的回归线;

A12、迭代:计算所有相邻片段两两合并为一段回归线所造成的误差增加,将误差增加最小的两段相邻回归线由一条回归线代替;

A13、输出:若迭代至只有一段,则用单段线性来表示声速剖面;若多于一个片段,则用多段线性来表示声速剖面。

3.根据权利要求1所述的水下节点定位方法,其特征在于,依据锚节点与目标节点的所处深度判断采用何种声速剖面模型:若锚节点与目标节点间的声速剖面为单段线性,则采用单段线性声速剖面模型;

若锚节点与目标节点间的声速剖面为多段线性,则采用多段线性声速剖面模型。

4.根据权利要求1所述的水下节点定位方法,其特征在于,所述单段线性声速剖面模型的定位方法,包括如下步骤:B1、声波信号从锚节点到目标节点的传播时间t,满足以下公式:其中,a为线性声速剖面的斜率,θA与θT分别为锚节点与目标节点所在弧线处切角与水平轴正方向的夹角;

由几何关系可知,θT=α+β,θA=β-α,

其中β是锚节点与目标节点连线的角度,α为锚节点与目标节点连线与锚节点位置切线的夹角;而且,Δz表示锚节点与目标节点间垂直距离的差,D表示锚节点与目标节点间的水平距离,(xA,yA)表示锚节点的坐标,(xT,yT)表示目标节点的坐标;

C(z)=az+b              (5)其中,a为线性声速剖面的斜率,b为线性声速剖面的截距即水平面处的声速,声速参数a和b可以提前测得,z是水深,C(z)为该深度处的声速;

传播时间t为水平距离D即目标节点坐标(xT,yT)的函数,记为t(xT,yT);

B2、各锚节点辐射区域的交集为粒子群算法的初始化区域,在该区域内,每一个粒子按照以下规则来更新自己的位置;

其中,n代表迭代的步数,下标i代表第i个粒子,v代表粒子速度,c1和c2是学习速率,可以设置为常数,w是惯性常量,r为0到1之间均匀分布的随机数, 表示第i个粒子经历的所有值中的最优值,Gbest表示粒子群中所有粒子经历过的全局最优值,pi=(xTi,yTi)表示每个粒子的值均为一个二维向量,vi=(vi1,vi2)表示每个粒子的速度矢量B3、根据速度来更新粒子的位置:

pi(n+1)=pi(n)+vi(n)             (7)其中,pi=(xTi,yTi)表示区域内随机初始化多个粒子中每个粒子的值均为一个二维向量,且每一个粒子都对应着自己的速度矢量vi=(vi1,vi2),分别对应着粒子值每一维的更新速度,下标i表示第i个粒子;

B4、代价函数为:

其中,t0m和tm(xT,yT)分别为声波信号从第m个锚节点到目标节点(xT,yT)传播时间的实测值和理论值,M表示与目标节点通信的锚节点的个数;

根据公式(6)和(7),群中的每一个粒子更新自己的位置,当满足代价函数(8)的最小允许误差或者达到最大迭代次数时,停止迭代,此时得到的解即为目标节点的坐标。

5.根据权利要求1所述的水下节点定位方法,其特征在于,所述多段线性声速剖面模型的定位方法,包括如下步骤:C1、计算目标节点与锚节点的水平距离;

C2、采用最小二乘法计算目标节点坐标。

6.根据权利要求5所述的水下节点定位方法,其特征在于,计算目标节点与锚节点的水平距离,包括如下步骤:C11、采用粒子群优化算法求解声波在第一段传播的水平距离D1;

C12、根据D1计算声波在第(j+1)段的传播的水平距离Dj+1;

C13、各段传播的水平距离之和为目标节点与锚节点的水平距离。

7.根据权利要求5所述的水下节点定位方法,其特征在于,采用粒子群优化算法求解声波在第一段传播的水平距离,包括以下步骤:E11、声波信号在第一段的传播时间t1为

其中,a1为第一段线性声速剖面的斜率,θ1为声波在第一段分界点处的弧线角度,已知信号在第j段终点处的角度为θj,由于角度不会突变,则第(j+1)段的起始角也为θj,因此,在第(j+1)段中有E12、声波在第(j+1)段中的传播时间tj+1为其中,aj+1为第(j+1)段线性声速剖面的斜率;

t1是D1的函数,记为t1(D1);由于迭代关系,tj也是D1函数,记为tj(D1);

E13、用粒子群优化算法来求解代价函数

获得D1的最优值;

其中,锚节点与目标节点所处的声速剖面共有N个线性片段,实际测量的某锚节点到目标节点的传播时间为t0,锚节点深度为zA,目标节点深度为zT,声波信号在第一段的传播时间为t1,在第j段的传播时间为tj,声波信号在第一段传播的水平距离为D1,在第j段传播的水平距离为Dj。

8.根据权利要求6所述的水下节点定位方法,其特征在于,根据D1计算声波在第(j+1)段的传播距离,利用下列公式进行计算:目标节点与锚节点的水平距离为各段水平距离之和:

说明书 :

一种面向声速剖面的水下节点定位方法

技术领域

[0001] 本发明涉及水下定位领域,尤其涉及一种面向声速剖面的水下节点定位方法。

背景技术

[0002] 水下定位在环境勘探、灾难预测、资源开发等方面都具有重要的意义。由于水声通信传播距离远超水下光通信和电磁波通信,且技术相对成熟,因此常被用于水下节点定位。
[0003] 由于水下环境的复杂性,通常采用相对较为准确的基于信号到达时间的测距定位(Time of Arrival,TOA)和基于信号到达时间差的测距定位(Time Difference of Arrival,TDOA)。而基于信号到达角度的定位(Angle of Arrival,AOA)需要额外的硬件支持、成本较高;基于信号强度的测距定位(Received Signal Strength Indicator,RSSI)效果较差。
[0004] 使用TOA测距需要精确地表示两点间信号传播时间与距离的关系。如果声速不变的情况下,到达时间与距离呈简单的线性关系。然而,在声速变化的情况下,由时间求解距离存在一定的难度。通过射线追踪法,每隔0.02弧度发送一条射线根据声速剖面模拟声传播轨迹,由此寻得未知点的坐标,该方法定位精度受模拟间隔的限制。通过对恒定梯度声速下的传播时间与定位的研究,该方法得到了线性声速剖面情况下传播时间与水平距离的关系,并通过高斯牛顿法(Guass-Newton Algorithm,GNA)求解未知节点坐标,然而该方法也存在一定的局限性,一方面,GNA容易陷入局部最优值,使得坐标计算误差较大,另一方面,线性声速剖面与实际的声速剖面并不相符。
[0005] 因此,对线性声速剖面算法优化,及实际声速剖面进行处理,是目前亟待解决的问题。

发明内容

[0006] 本发明的目的是为了解决现有技术如何对线性声速剖面算法优化、及对实际声速剖面进行处理的问题,本申请提供了一种面向声速剖面的水下节点定位方法。
[0007] 为了解决上述技术问题,本申请采用如下技术方案:
[0008] 一种面向线性声速剖面的水下节点定位方法,包括如下步骤:
[0009] A1、分析输入的锚节点与目标节点间的声速剖面的线性程度;
[0010] A2、根据线性程度的不同,采用粒子群优化算法,对不同线性程度的声速剖面模型采用不同的定位方法,求解目标节点坐标。
[0011] 优选地,所述步骤A2中,对线性程度为单段线性的声速剖面,采用单段线性声速剖面模型的定位方法,得到目标节点的坐标;对线性程度为多段线性的声速剖面,采用多段线性声速剖面模型的定位方法,得到目标节点的坐标。
[0012] 优选地,所述步骤A1中,采用贪心算法来分析输入的声速剖面的线性程度,包括以下步骤:A11、起始:假设声速剖面的观测数据点数为n,将整个声速剖面分成 个连续不重叠片段,其中, 为向下取整函数;使用普通最小二乘回归拟合每个片段中的回归线;A12、迭代:计算所有相邻片段两两合并为一段回归线所造成的误差增加,将误差增加最小的两段相邻回归线由一条回归线代替;A13、输出:若迭代至只有一段,则用单段线性来表示声速剖面;若多于一个片段,则用多段线性来表示声速剖面。
[0013] 优选地,依据锚节点与目标节点间声速剖面的线性程度判断采用何种声速模型:若锚节点与目标节点间的声速剖面为单段线性,则采用单段线性声速剖面模型;若锚节点与目标节点间的声速剖面为多段线性,则采用多段线性声速剖面模型。
[0014] 优选地,当声速剖面为单段线性,则粒子值为二维坐标,采用粒子群优化算法直接求解得到目标节点坐标;当声速剖面为多段线性,则粒子值为一个数,迭代求解得到的最优粒子值为声波在第一段传播的水平距离,采用粒子群优化算法分段求解得到目标节点坐标。
[0015] 优选地,所述单段线性算法,包括如下步骤:
[0016] B1、声波信号从锚节点到目标节点的传播时间t,满足以下公式:
[0017]
[0018] 其中,a为线性声速剖面的斜率,θA与θT分别为锚节点与目标节点所在弧线处切角与水平轴正方向的夹角;
[0019] 由几何关系可知,θT=α+β,θA=β-α,
[0020] 其中β是锚节点与目标节点连线的角度,α为锚节点与目标节点连线与锚节点位置切线的夹角;而且,
[0021]
[0022]
[0023]
[0024] Δz表示锚节点与目标节点间垂直距离的差,D表示锚节点与目标节点间的水平距离,(xA,yA)表示锚节点的坐标,(xT,yT)表示目标节点的坐标;
[0025] C(z)=az+b  (5)
[0026] 其中,a为线性声速剖面的斜率,b为线性声速剖面的截距即水平面处的声速,声速参数a和b可以提前测得,z是水深,C(z)为该深度处的声速;
[0027] 传播时间t为水平距离D即目标节点坐标(xT,yT)的函数,记为t(xT,yT)。
[0028] B2、各锚节点辐射区域的交集为粒子群算法的初始化区域,在该区域内,每一个粒子按照以下规则来更新自己的位置;
[0029]
[0030] 其中,n代表迭代的步数,下标i代表第i个粒子,v代表粒子速度,c1和c2是学习速率,可以设置为常数,w是惯性常量,r为0到1之间均匀分布的随机数, 表示第i个粒子经历的所有值中的最优值,Gbest表示粒子群中所有粒子经历过的全局最优值,pi=(xTi,yTi)表示每个粒子的值均为一个二维向量,vi=(vi1,vi2)表示每个粒子的速度矢量
[0031] B3、根据速度来更新粒子的位置:
[0032] pi(n+1)=pi(n)+vi(n)  (7)
[0033] 其中,pi=(xTi,yTi)表示区域内随机初始化多个粒子中每个粒子的值均为一个二维向量,且每一个粒子都对应着自己的速度矢量vi=(vi1,vi2),分别对应着粒子值每一维的更新速度,下标i表示第i个粒子;
[0034] B4、代价函数为:
[0035]
[0036] 其中,t0m和tm(xT,yT)分别为声波信号从第m个锚节点到目标节点(xT,yT)传播时间的实测值和理论值,M表示与目标节点通信的锚节点的个数;
[0037] 根据公式(6)和(7),群中的每一个粒子更新自己的位置,当满足适代价函数(8)的最小允许误差或者达到最大迭代次数时,停止迭代,此时得到的解即为目标节点的坐标;
[0038] 优选地,所述多段线性声速剖面模型的定位方法,包括如下步骤:C1、计算目标节点与锚节点的水平距离;C2、采用最小二乘法计算目标节点坐标。
[0039] 优选地,计算目标节点与锚节点的水平距离,包括如下步骤:C11、采用粒子群优化算法求解声波在第一段传播的水平距离D1;C12、根据D1计算声波在第(j+1)段的传播距离;C13、各段的传播距离之和为目标节点与锚节点的水平距离。
[0040] 优选地,采用粒子群优化算法求解声波在第一段传播的水平距离,包括以下步骤:
[0041] E1、声波信号在第一段的传播时间t1为
[0042]
[0043] 其中,a1为第一段线性声速剖面的斜率,θ1为声波在第一段分界点处的弧线角度。已知信号在第j段终点处的角度为θj,由于角度不会突变,
[0044] 则第(j+1)段的起始角也为θj,因此,在第(j+1)段中有
[0045]
[0046] E2、声波在第(j+1)段中的传播时间tj+1为
[0047]
[0048] 其中,aj+1为第(j+1)段线性声速剖面的斜率。
[0049] t1是D1的函数,记为t1(D1);由于迭代关系,tj也是D1函数,记为tj(D1);
[0050] E3、用粒子群优化算法来求解代价函数
[0051]
[0052] 获得D1的最优值;
[0053] 其中,锚节点与目标节点所处的声速剖面共有N个线性片段,实际测量的某锚节点到目标节点的传播时间为t0,锚节点深度为zA,目标节点深度为zT,声波信号在第一段的传播时间为t1,在第j段的传播时间为tj,
[0054] 声波信号在第一段传播的水平距离为D1,在第j段传播的水平距离为Dj。
[0055] 优选地,根据D1计算声波在第(j+1)段的传播距离,利用下列公式进行计算:
[0056]
[0057] 优选地,目标节点与锚节点的水平距离为:
[0058]
[0059] 优选地,根据目标节点与锚节点的水平距离d,利用最小二乘法求解得到目标节点的坐标。
[0060] 与现有技术相比,本发明的有益效果为:
[0061] 本发明的面向声速剖面的水下节点定位方法,在线性声速剖面,采用粒子群优化算法,得到目标节点的坐标,粒子群优化算法的性能并不随着声速剖面斜率的改变而改变,性能更优。
[0062] 进一步地,将声速剖面依据线性程度分段线性化,保证在每一段内,声速与水深近似为线性变化,简化计算方法。
[0063] 进一步地,利用角度不会突变的特点,声波在第一层终点处的角度等于在第二层的起始角,将声速剖面进行二段线性,计算出目标节点与锚节点的水平距离,再进行位置计算,解决了求解目标节点的坐标较困难的问题,简化定位方法。
[0064] 进一步地,采用多段线性及粒子群优化算法的方法,使定位误差随着到达时间误差的性能、随着声速剖面梯度变化、随着到达时间误差的增性能变化情况等优于现有技术。

附图说明

[0065] 图1.线性声速剖面定位方法流程图示意图;
[0066] 图2.线性声速剖面声传播轨迹示意图;
[0067] 图3.两段线性声速剖面声传播轨迹示意图;
[0068] 图4.不同到达时间误差下的算法定位误差性能比较示意图;
[0069] 图5.不同声速剖面梯度下的算法定位误差性能比较示意图;
[0070] 图6不同到达时间误差下的面向分段线性声速剖面的算法定位误差性能比较示意图。
[0071] 具体实施方式一
[0072] 下面结合具体实施方式并对照附图对本发明做进一步详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
[0073] 本发明的面向声速剖面的水下节点定位方法示意图如图1所示,包括以下步骤:
[0074] S1、输入:锚节点与目标节点间的声速剖面,声波信号从锚节点到达目标节点的传播时间;
[0075] S2、分析声速剖面线性程度;对线性程度为单段线性的声速剖面,采用单段线性声速剖面模型的定位方法,得到目标节点的坐标;对线性程度为多段线性的声速剖面,采用多段线性声速剖面模型的定位方法,各段分别近似为线性,得到各段的水平距离之和,求得目标节点的坐标。
[0076] S3、单段线性声速剖面模型的定位方法,采用粒子群优化算法求解,粒子值为二维坐标;转步骤S5;
[0077] S4、多段线性声速剖面模型的定位方法,粒子值一个数,迭代求解得到的最优粒子值为声波在第一段的传输距离,求解各段的水平距离,并对各段的水平距离求和,得到锚节点与目标节点的水平距离,运用最小二乘算法计算出目标节点的坐标;
[0078] S5、输出目标节点的坐标。
[0079] 具体实施方式二
[0080] 本发明的面向声速剖面的水下节点定位方法,分析声速剖面的线性程度,按照如下方法进行:
[0081] 将声速剖面依据线性程度分段线性化,保证在每一段内,声速与水深近似为线性变化。优选地,采用贪心算法分析输入的声速剖面的线性程度,具有如下步骤:
[0082] (1)起始:假设声速剖面的观测数据点数为n,将整个声速剖面分成 个连续不重叠片段, 为向下取整函数。使用普通最小二乘回归拟合每个片段中的回归线。
[0083] (2)迭代:计算所有相邻片段两两合并为一段回归线所造成的误差增加,将误差增加最小的两段相邻回归线由一条回归线代替。一直合并直到符合停止标准,即下一次片段合并所造成的误差增加将大于之前合并的误差增加的最大值,意味着将要合并两个本应该保持分离的片段。
[0084] (3)输出:若迭代至只有一段,可用单段线性来表示声速剖面;若仍有不止一个片段,则可用多段线性来表示声速剖面。
[0085] 具体实施方式三
[0086] 本发明的面向声速剖面的水下节点定位方法,分析声速剖面的线性程度,按照如下方法进行:
[0087] 锚节点与目标节点均配备深度传感器,依据锚节点与目标节点的所处深度判断采用何种声速剖面线性化模型。
[0088] 若锚节点与目标节点间的声速剖面为单段线性,则采用单段线性声速剖面模型;
[0089] 若锚节点与目标节点间的声速剖面为多段线性,则采用多段线性声速剖面模型,在每一段内,声速与水深近似为线性变化。
[0090] 具体实施方式四
[0091] 在本发明的单段线性声速剖面模型的定位方法,单段线性声速剖面如下所述:
[0092] 在单段线性声速剖面情况下,水声声速剖面在呈单段线性时,如图2所示,通常表示为
[0093] C(z)=az+b  (1)
[0094] 其中,a为线性声速剖面的斜率,b为线性声速剖面的截距即水平面处的声速,声速参数a和b可以提前测得,z是水深,C(z)为该深度处的声速。
[0095] 在单段线性声速剖面下,由锚节点到目标节点的声传播轨迹是一段圆弧。假设a>0,且锚节点的深度大于目标节点的深度,即zA>zT,此时,声传播轨迹如图2所示,其中锚节点为参考节点,目标节点为待定位节点。
[0096] 在线性声速下,锚节点到目标节点的传播时间为
[0097]
[0098] 其中,a为线性声速剖面的斜率,θA与θT分别为锚节点与目标节点所在弧线处切角与水平轴正方向的夹角,由几何关系可知,θT=α+β,θA=β-α,其中β是锚节点与目标节点连线的角度,α为两点连线与锚节点位置切线的夹角。Δz来表示两点间垂直距离的差,D来表示两点间的水平距离,即 (xA,yA)和(xT,yT)分别代表锚节点与目标节点的坐标,因此有
[0099]
[0100] 由Snell定律有
[0101]
[0102] 求解(4)有
[0103]
[0104] 由此可知,传播时间可以表示为水平距离D即目标节点坐标(xT,yT)的函数,记为t(xT,yT)。
[0105] B2、通过优化代价函数(6)来获取目标节点坐标的最优值。
[0106]
[0107] 其中,t0m和tm(xT,yT)分别为信号从第m个锚节点到目标节点(xT,yT)传播时间的实测值和理论值,M表示与目标节点通信的锚节点的个数,当有三个及以上不共线的锚节点存在时(6)可解。
[0108] 采用粒子群优化算法来求解目标节点的坐标。
[0109] 由于发射功率和定位区域的限制,目标节点分布在一定区域内,各锚节点辐射区域的交集即为粒子群算法的初始化区域。在该区域内随机初始化多个粒子,每个粒子的值均为一个二维向量,表示为pi=(xTi,yTi),且每一个粒子都对应着自己的速度矢量vi=(vi1,vi2),分别对应着粒子值每一维的更新速度,下标i表示第i个粒子。群中的每一个粒子根据代价函数(6)来判断当前粒子值的优劣,并记录该粒子经历的所有值中的最优值 以及粒子群中所有粒子经历过的全局最优值Gbest。每一个粒子按照以下规则来更新自己的速度:
[0110]
[0111] 其中n代表迭代的步数,c1和c2是学习速率,可以设置为常数,w是惯性常量,r为0到1之间均匀分布的随机数。更新完速度,可以根据速度来更新粒子的值:
[0112] pi(n+1)=pi(n)+vi(n)  (8)
[0113] 根据(7)和(8),群中的每一个粒子更新自己的值,当满足代价函数(6)的最小允许误差或者达到最大迭代次数时停止迭代,此时得到的全局最优值Gbest即为目标节点的坐标。
[0114] 具体实施方式五
[0115] 本发明的多段线性声速剖面模型的定位方法,多段线性声速剖面模型如下所述:
[0116] 对于多段线性声速剖面模型,节点的定位步骤如下:
[0117] 1、计算目标节点与锚节点的水平距离;
[0118] 2、由最小二乘法计算目标节点坐标。
[0119] 优选地,计算目标节点与锚节点的水平距离有如下分步骤:
[0120] 11、采用粒子群优化算法求解声波在第一段传播的水平距离D1;
[0121] 12、根据D1计算声波在第(j+1)段的传播距离;
[0122] 13、各段的传播距离之和为目标节点与锚节点的水平距离。
[0123] 根据锚节点与目标节点间的海水典型的声速剖面特性,当当声速剖面为多段线性时,本发明提出多段线性算法(Piecewise Linear Algorithm,PLA)。此时,直接求解目标节点的坐标较为困难,可以将问题转换为先求锚节点与目标节点间的距离,再进行位置计算。设锚节点与目标节点所处的声速剖面共有N个线性片段,实际测量的某锚节点到目标节点的传播时间为t0,锚节点深度为zA,目标节点深度为zT,声信号在第一段的传播时间为t1,在第j段的传播时间为tj,信号在第一段传播的水平距离为D1,在第j段传播的水平距离为Dj。
声传播轨迹如图3所示,由4.2节可知信号在第一段的传播时间为
[0124]
[0125] 其中,a1为第一段线性声速剖面的斜率,θ1为声波在第一段分界点处的弧线角度。已知信号在第j段终点处的角度为θj,由于角度不会突变,则第(j+1)段的起始角也为θj,所以可以确定第(j+1)段中的声传播轨迹。在第(j+1)段中有
[0126]
[0127] 声波在第(j+1)段中的传播时间便为
[0128]
[0129] 其中,aj+1为第(j+1)段线性声速剖面的斜率。
[0130] 显然,t1是D1的函数,记为t1(D1);由于迭代关系,tj也是D1函数,记为tj(D1)。可以优化以下代价函数来获得D1的最优值
[0131]
[0132] 同样的,可以用PSO算法来求解该代价函数,由于在第一段的水平距离是一个非负数,且D1的值不会超过声波在两点间传播时间测量值t0与定位区域范围内声速v最大值的乘积,所以初始化粒子范围为[0,max(v)*t0]。
[0133] 有了声波在第一段传播的水平距离D1,由几何关系可得声波从锚节点出发的起始角θA,由(10)可知声波在锚节点与目标节点间的传播轨迹,且声波在第(j+1)段的传播距离为
[0134]
[0135] 最终,目标节点与锚节点的水平距离为
[0136] 获取三个及以上不共线的锚节点与目标节点的水平距离,即可用最小二乘法求解目标节点坐标。其中,三个不表示三段,而是表示与目标节点通信的锚节点的个数,需要有大于或等于三个不共线的锚节点存在时,目标节点位置才可解,否则无法计算位置。
[0137] 具体实施方式六
[0138] 本发明的一种面向线性声速剖面的水下节点定位方法,假设所有的锚节点与目标节点随机分布在[0,800]*[0,800]*[0,800]m3的水域中,共有5个锚节点,锚节点与目标节点都配有深度传感器。对锚节点与目标节点间的声速剖面的线性程度分析如下:
[0139] 采用但不限于贪心算法来对声速剖面分段线性化,具体分段步骤如下:
[0140] (1)起始:假设声速剖面观测的数据点数为n,将整个声速剖面分成 个连续不重叠片段,记为Su,u=1、2、…、 为向下取整函数。使用普通最小二乘回归拟合每个片段中的回归线。
[0141] (2)迭代:计算所有相邻片段两两合并为一段回归线所造成的误差增加,即S1和S2合并、S2和S3合并、S3和S4合并,以此类推,将误差增加最小的两段相邻回归线由一条回归线代替。一直合并直到符合停止标准,即下一次片段合并所造成的误差增加将大于之前合并的误差增加的最大值。
[0142] (3)若迭代至只有一段,则可以用单段线性来表示声速剖面;若有多段,则表示为多段线性声速剖面。
[0143] 采用锚节点与目标节点的所处深度判断声速剖面线性化,方法如下:
[0144] 锚节点与目标节点均配备深度传感器,依据锚节点与目标节点的所处深度判断采用何种模型:
[0145] 若声速剖面为单段线性,则采用单段线性声速剖面模型的方法计算目标节点坐标;
[0146] 若声速剖面为多段线性,则采用多段线性声速剖面模型的方法计算目标节点坐标。
[0147] 具体实施方式七
[0148] 在本实施例中,若锚节点与目标节点间的声速剖面为单段线性,假设该声速剖面线性片段起始深度的声速是1500m/s,声速剖面的斜率为0.1,即节点的速度满足C(z)=az+b,其中,线性声速剖面斜率a=0.1、截距b=1500,z为节点深度。
[0149] 定位步骤如下:
[0150] (1)根据定位区域及锚节点辐射区域的交集确定粒子群初始化的区域,在该区域内随机初始化100个粒子,每一个粒子值为一个二维向量,表示为pi=(xTi,yTi),每个粒子都对应着随机初始化的速度矢量记作vi=(vi1,vi2);
[0151] (2)迭代:
[0152] (2a)计算声信号从每个锚节点(xAm,yAm),m=1,…,M,到每个粒子,i=1,…,100,的当前值pi=(xTi,yTi)的理论传播时间tm:因每个粒子涉及的计算步骤相同,不失一般性地忽略中间过程变量的粒子序号下标。
[0153] 计算粒子当前值与锚节点间的水平距离
[0154] 计算锚节点与粒子当前值连线的角度β,以及两点连线与锚节点位置切线的夹角α:
[0155]
[0156]
[0157] 其中,C(zA)与C(zT)分别表示锚节点和目标节点所处深度的声速,Δz表示锚节点与目标节点深度差值。计算粒子当前值与锚节点所在弧线处切角与水平轴正方向的夹角:θT=α+β,θA=β-α;
[0158] 计算声信号从第m个锚节点到每个粒子的理论传播时间:
[0159]
[0160] (2b)每一个粒子根据代价函数 来判断当前值的优劣。记录该粒子所经历的所有值的最优值 以及粒子群中所有粒子经历过的全局最优值Gbest。
[0161] (2c)每一个粒子按照以下规则来更新自己的值:
[0162]
[0163] pi(n+1)=pi(n)+vi(n)
[0164] 其中n为迭代步数,c1和c2是学习速率,设置为常数1.5,w是设置在0.1到1.1之间的惯性常量,r为0到1之间均匀分布的随机数。
[0165] (3)当满足代价函数的最小允许误差,或者当迭代次数大于1000次时,停止迭代。此时得到的全局最优值即为目标节点的坐标。
[0166] 具体实施方式八
[0167] 若锚节点与目标节点的间的声速剖面为多段线性,则采用多段线性算法。在本实施例中,设置声速剖面为两段线性的形式,靠近水面的一段为负梯度线性剖面,斜率为-0.1,远离水面的一段为正梯度声速剖面,斜率为0.1。声速剖面的分界面在水深为400米处。
设置锚节点在远离水面的一层,目标节点在靠近水面的一层,即zA∈[400,800],zT∈[0,
400]。
[0168] 对于多段线性声速剖面模型,节点的定位步骤如下:
[0169] (1)目标节点与锚节点水平距离的计算
[0170] (1.1)由粒子群优化算法求解声波在第一段传播的水平距离D1:
[0171] 随机初始化100个粒子,粒子值为一个数pi=D1i,初始化粒子值的范围为[0,max(v)*t0],t0为锚节点与目标节点间声信号传播时间的测量值,max(v)为声速剖面中的速度最大值。每个粒子对应着一个随机初始化的速度vi。
[0172] 计算当前粒子值对应的几个角度:因每个粒子涉及的计算步骤相同,不失一般性地忽略中间过程变量的粒子序号下标,
[0173]
[0174]
[0175] θ1=α+β,θA=β-α
[0176] 其中,ΔzA1为锚节点与第一个分断点处的深度差值,z1为第一个分断点处的深度。θ1为声波在第一段分段点处的弧线角度。
[0177] 计算在该粒子值下声波在声速剖面的第一个线性片段的理论传播时间:
[0178]
[0179] 其中,a1为第一段线性声速剖面的斜率。
[0180] 已知信号在第j段终点处的角度为θj,则第(j+1)段的起始角也为θj。在第(j+1)段中有
[0181]
[0182] 声波在第(j+1)段中的传播时间便为
[0183]
[0184] 其中,aj+1为第(j+1)段线性声速剖面的斜率。
[0185] 显然,tj是D1i的函数,记为tj(D1i)。每一个粒子根据代价函数来判断当前粒子值在声信号从锚节点到目标节点经过的N个声速剖面线性片段中的优劣。
记录该粒子所经历的所有值的最优值 以及粒子群中所有粒子经历过的全局最优值Gbest。
由此来更新自己的值。
[0186] 当满足代价函数的最小允许误差,或者当迭代次数大于1000次时,停止迭代。此时得到的全局最优值所对应的粒子值即为声波在第一个线性片段中传播的水平距离D1。
[0187] (1.2)根据D1计算声波在第(j+1)段的传播距离
[0188]
[0189] 最终,目标节点与锚节点的水平距离为
[0190] (2)由最小二乘法计算目标节点坐标,依据锚节点的坐标与第(1.2)步计算所得的目标阶段与锚节点的水平距离计算如下矩阵:
[0191]
[0192]
[0193] 最小二乘法计算目标节点坐标为:[xT;yT]=(ATA)-1ATB
[0194] 将本发明的方法与现有技术进行比较,其中采用均方根误差(Root Mean Square Error,RMSE)作为衡量定位误差的指标,其定义如下:
[0195]
[0196] 其中, 为目标节点的坐标估计值,(x,y)为该节点的真实坐标,K为仿真次数;
[0197] 现有技术包括:
[0198] 2.1基于线性声速剖面模型的GNA定位方法;
[0199] 2.2基于直线传播模型的平均速度算法(Mean Velocity Algorithm,MVA);
[0200] 2.3基于直线传播模型的目标速度算法(Target Velocity Algorithm,TVA);其中,
[0201] 直线传播模型是假设水中声速不变,声传播轨迹按直线传播,以某一个速度与到达时间的乘积作为两点间距离的估计;
[0202] 线性声速剖面模型,是在线性声速下,声传播轨迹是一段圆弧。
[0203] MVA是指计算锚节点与目标节点速度的算数平均值作为平均速度来计算距离,然后用最小二乘法计算目标节点坐标;
[0204] TVA是指用目标节点处的速度估计两点间的距离,再用最小二乘法计算目标节点坐标。
[0205] 本发明方法与三种传统算法的RMSE随着到达时间误差的增性能变化情况如图4所示,其中,到达时间误差遵循着N(0,σ2)的正态分布规律,σ依次从1ms增加至10ms。如图3所示,GNA算法由于有些情况会收敛到局部最优值,所以在性能上要差于本发明提出的PSO方法,MVA和TVA方法由于距离估计存在误差,所以性能要差于PSO,且随着误差的增大,考虑声速变化的PSO与GNA算法性能优于MVA和TVA,且性能差距逐渐增大。
[0206] 本发明方法与三种传统算法的性能随着声速剖面梯度变化而变化情况如图5所示,仿真中,固定时间误差的标准差为2ms,依次改变声速剖面的斜率,从0.05开始以0.05为增量增加到0.3。如图所示,PSO与GNA算法的性能并不随着声速剖面斜率的改变而改变,对于只用一点处的速度作为整个水域速度的TVA方法的影响较大,均方根误差增加了40m左右。声速剖面斜率的改变对于使用平均速度来估计的MVA算法也有影响,但所受影响小于TVA,当声速剖面梯度从0.05增加至0.3时,均方根误差增加了6m左右。
[0207] 本发明方法与MVA、TVA二种传统算法的定位误差随着到达时间误差的变化情况如图6所示,如图所示,PLA的性能最好,MVA方法性能次之,TVA最差。
[0208] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。