基于矩阵补全的水下无线传感器网络节点定位方法
文献发布时间:2023-06-19 19:30:30
技术领域
本发明涉及水下无线传感器网络技术领域,更具体的,涉及一种基于矩阵补全的水下无线传感器网络节点定位方法。
背景技术
水下无线传感器网络(Underwater Wireless Sensor Networks,UWSNs)作为水域监测的关键技术之一,在海洋探索、水下环境监测、水下航行目标监测与跟踪、辅助导航等领域中拥有广阔的应用前景。传感器节点的定位技术在UWSNs的应用中占据着重要位置。具有有效节点位置信息的数据采集是数据应用的基础,要实现对水下资源和环境数据的有效采集和分析,必须建立在高精度的水下传感器节点定位技术的基础之上。因此,如何准确的确定水下传感器节点的位置是目前国内外学者的一个研究重点。
由于水下通信环境的特殊性,一般仅有部分节点可以进行精确定位,如潜艇、洋面浮标和水下固定信标等。在UWSNs中,这些位置已知的节点称为锚节点,其他常规节点则以锚节点作为定位基准进行通信定位。由于布置困难,水下锚节点数量一般较少,这将增大常规节点的定位难度。同时水下传感器网络拓扑由于水流或者节点故障等问题可能导致网络出现空洞,也会给水下节点定位带来困难。
以MDS算法为基础的节点定位方法被称为MDS-MAP算法,该算法的特点是需要锚节点数量少,且定位精度高于一般算法。MDS-MAP算法在二维平面中仅需要3个锚节点、三维空间中仅需要4个锚节点即可实现网络中所有节点的定位,符合水下传感器网络的应用特征,与其他算法相比具有明显优势。一般来说,这一类型的节点定位技术需要采集足够的距离数据,同时要求获取的距离数据较为准确,否则将严重影响算法的定位性能。由于水下传感器的传输距离有限,导致网络部分连接,会使得许多节点间的测量距离缺失。此外,复杂的水下通信环境使得节点间的距离测量受到各种噪声干扰,进而降低节点的定位精度。
由于水下环境复杂,水下节点的部署比陆地节点更为稀疏、水下网络结构不均匀且节点难以回收,从而给基于MDS-MAP算法的水下节点定位方法带来较大的定位误差。该类方法的定位误差主要来源于以下2个方面:
1)在距离数据的实际采集过程中,受限于节点自身的能量状况和通信范围,通常无法采集到所有节点间的距离信息,使得获取的欧式距离矩阵往往是不完整的,进而增加了节点定位的难度。
2)距离测量过程中不可避免的会受到各种噪声因素的干扰,使得获取的距离数据不准确,也会造成较大的节点定位误差。通常情况下,高斯噪声和异常值噪声是距离测量过程中所面临的主要干扰因素。
发明内容
本发明为了解决传统水下节点定位方法需要大量节点距离信息以及复杂水下环境导致的节点测距误差的问题,提供了一种基于矩阵补全的水下无线传感器网络节点定位方法,其能有效的提高节点定位精度。
为实现上述本发明目的,采用的技术方案如下:
一种基于矩阵补全的水下无线传感器网络节点定位方法,所述的方法包括步骤如下:
S1:用TOA测距方法获取不同传感器节点两两之间的欧式距离,从而得到水下传感器网络节点的欧式距离矩阵;
S2:采用基于非凸秩近似的矩阵补全算法对欧式距离矩阵进行恢复补全,得到恢复补全的欧式距离矩阵,由此获取网络中所有节点间的距离度量;
S3:利用MDS-MAP算法计算出水下所有节点的相对坐标,通过一部分锚节点的位置将常规节点的相对坐标转换为绝对坐标,并输出常规节点的坐标。
优选地,S1,具体如下:
利用TOA测距方法获取传感器节点i到传感器节点j的欧式距离,在定位周期T内,节点i收到节点j的广播数据包;
节点i根据收到的数据包的发送时间和收到数据包的时间计算出节点i和节点j之间的欧式距离,计算公式如下:
d
其中,d
节点i计算出到节点j的欧式距离后,便将欧式距离d
其中,n表示水下无线传感器网络中节点的数量,EDM表示欧式距离矩阵。
进一步地,所述的数据包包括节点标号、定位周期标记和发送时间;
所述的节点标号,在网络节点部署前设置好排序;
所述的定位周期,用于判断是否为本次定位周期的数据包,如果不是本次定位周期的数据包就丢弃,继续监听,否则节点i更新数据包;
所述的发送时间,节点j发送数据包的时间。
优选地,S2,采用基于非凸秩近似的矩阵补全算法对欧式距离矩阵进行恢复补全,具体如下:
将欧式距离矩阵进行分解,得到一个包括距离数据的低秩矩阵和一个包括异常值噪声的稀疏矩阵;所述的低秩矩阵用核范数进行近似,所述的稀疏矩阵用l
则欧式距离矩阵的恢复补全可建模为:
其中,D表示完整的欧式距离矩阵,E表示噪声矩阵,S表示观测距离矩阵,Ω表示观测距离矩阵S中已知元素的下标的集合,P
其次,引入一个非凸秩函数代替核范数来逼近原始秩函数,得到非凸秩函数逼近模型;
然后,利用交替方向乘子法求解提出的非凸秩函数逼近模型,得到完整的且无噪声污染的欧式距离矩阵。
进一步地,所述的引入一个非凸秩函数代替核范数来逼近原始的秩函数,得到非凸秩函数逼近模型,具体如下:
采用基于拉普拉斯函数的非凸正则项对式(3)中的核范数进行松弛化,并利用矩阵分解的思想将式(3)转化为一个较小规模的优化问题:
其中,‖V‖
将式(4)看作是一个变量可分离的凸规划问题,式(4)的增广拉格朗日函数形式为:
其中,Λ表示线性约束拉格朗日算子,<·,·>表示矩阵内积运算,μ>0表示惩罚参数、
再进一步地,利用交替方向乘子法求解提出的非凸秩函数逼近模型,具体如下:
运用交替方向乘子法对式(5)进行迭代求解,其基本的迭代公式如下所示:
μ
其中,ρ>1是一个常数,k表示当前迭代次数;
步骤D1:为更新U,保存V,E,Λ不变,将式(6)转化为其等价形式:
其中,P=S+Λ
U
步骤D2:根据式(13)求解V:
步骤D3:根据式(14)求解E:
E
其中,
步骤D4:根据式(9)更新拉格朗日乘子Λ
步骤D5:根据式(10)更新参数μ
步骤D6:判断
优选地,利用MDS-MAP算法计算出水下所有节点的相对坐标,具体步骤如下:
先计算恢复补全的欧式距离矩阵的双中心化相似矩阵G:
其中,
再对双中心化相似矩阵G进行奇异值分解:
[A,Σ,B]=svd(G) (16)
其中,Σ表示矩阵G经过奇异值分解得到的对角矩阵、svd( )表示奇异值分解操作、A和B表示矩阵G经过奇异值分解得到的两个正交矩阵;
最后计算节点的相对坐标矩阵R:
其中,r
进一步地,通过一部分锚节点的位置将常规节点的相对坐标转换为绝对坐标,并输出常规节点的坐标,具体如下:
先计算锚节点的坐标变换矩阵Q:
其中,Q
再将常规节点的相对坐标转换为绝对坐标:
t
最终输出常规节点的坐标{t
一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于矩阵补全的水下无线传感器网络节点定位方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现所述基于矩阵补全的水下无线传感器网络节点定位方法的步骤。
本发明的有益效果如下:
本发明针对水下无线传感器网络中测量距离数据缺失且距离数据受噪声污染的问题,采用基于非秩近似的矩阵补全算法对欧式距离矩阵进行恢复补全。不仅能够对缺失的距离矩阵进行准确的恢复补全,而且能够有效处理高斯噪声和异常值噪声带来的影响,具有较好的鲁棒性和准确性。
本发明针对水下无线传感器网络中锚节点数量少且分布不均匀,迭代误差大导致的节点定位精度低问题,本发明基于恢复补全后的完整欧式距离矩阵,采用MDS-MAP算法计算出常规节点的相对位置之后,利用少量锚节点的位置信息将相对位置转化为绝对位置,具有较高的节点定位精度。
附图说明
图1是水下无线传感器网络结构的示意图。
图2是本发明的基于矩阵补全的水下无线传感器网络节点定位方法的步骤流程图。
图3是网络拓扑结构的示意图。
图4是EDM补全误差的示意图。
图5是节点定位误差的示意图。
图6是节点实际定位效果的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做详细描述。
实施例1
本实施例考虑的水下无线传感器网络(Underwater Wireless Sensor Networks,UWSNs)的网络结构如图1所示,主要由浮标节点、锚节点和常规节点等组成。其中,浮标节点是指部署在水面上的节点,这类节点装备有GPS接收器,能通过GPS信号进行定位,同时也可以与岸边的基站通信发送相关数据。锚节点是指UWSNs中计算能力较强的一类节点,这类节点可以通过与浮标节点直接通信获取其位置信息,从而实现自身定位。常规节点是指一类计算能力较弱且能耗较低的水下节点,这类节点通常无法直接获取自身位置信息,需要利用定位算法求解这类节点的位置坐标。
本发明所提出的基于矩阵补全的水下节点定位方法主要包括三个阶段:欧式距离矩阵(Euclidean Distance Matrix,EDM)构造阶段、欧式距离矩阵补全阶段和节点定位阶段,具体如图2所示,一种基于矩阵补全的水下无线传感器网络节点定位方法,所述的方法包括步骤如下:
S1:用TOA测距方法获取不同传感器节点两两之间的欧式距离,从而得到水下传感器网络节点的欧式距离矩阵;
S2:采用基于非凸秩近似的矩阵补全算法对欧式距离矩阵进行恢复补全,得到恢复补全的欧式距离矩阵,由此获取网络中所有节点间的距离度量;
S3:利用MDS-MAP算法计算出水下所有节点的相对坐标,通过一部分锚节点的位置将常规节点的相对坐标转换为绝对坐标,并输出常规节点的坐标。
在一个具体的实施例中,S1,具体如下:
利用TOA测距方法获取传感器节点i到传感器节点j的欧式距离,在定位周期T内,节点i收到节点j的广播数据包;
节点i根据收到的数据包的发送时间和收到数据包的时间计算出节点i和节点j之间的欧式距离,计算公式如下:
d
其中,d
节点i计算出到节点j的欧式距离后,便将欧式距离d
其中,n表示水下无线传感器网络中节点的数量,EDM表示欧式距离矩阵。
在本实施例中,所述的数据包包括节点标号、定位周期标记和发送时间;
具体见表1:
表1水下传感器节点数据包
所述的节点标号,在网络节点部署前设置好排序,也即在网络节点部署前就已经排好序;
所述的定位周期,用于判断是否为本次定位周期的数据包,如果不是本次定位周期的数据包就丢弃,继续监听,否则节点i更新数据包;
所述的发送时间,节点j发送数据包的时间。
在一个具体的实施例中,S2,采用基于非凸秩近似的矩阵补全算法对欧式距离矩阵进行恢复补全,具体如下:
基于欧式距离矩阵EDM的低秩特性,考虑将原始EDM分解为一个低秩矩阵和一个稀疏矩阵。因此将欧式距离矩阵进行分解,得到一个包括距离数据的低秩矩阵和一个包括异常值噪声的稀疏矩阵;所述的低秩矩阵用核范数进行近似,所述的稀疏矩阵用l
则欧式距离矩阵的恢复补全可建模为:
其中,D表示完整的欧式距离矩阵,E表示噪声矩阵,S表示观测距离矩阵,Ω表示观测距离矩阵S中已知元素的下标的集合,P
其次,引入一个非凸秩函数代替核范数来逼近原始的秩函数,得到非凸秩函数逼近模型;
然后,利用交替方向乘子法求解提出的非凸秩函数逼近模型,得到完整的且无噪声污染的欧式距离矩阵。
在一个具体的实施例中,所述的引入一个非凸秩函数代替核范数来逼近原始秩函数,得到非凸秩函数逼近模型,具体如下:
由于式(3)中的核范数并非矩阵秩最好的近似,难以获得模型的精确解。因此,本实施例考虑采用非凸秩函数来替代核范数,提出了一种基于非凸秩近似的矩阵重建模型。该模型采用基于拉普拉斯函数的非凸正则项(称之为γ函数)对式(3)中的核范数进行松弛化,并利用矩阵分解的思想将式(3)转化为一个较小规模的优化问题:
其中,‖V‖
这是因为式(3)中矩阵D的秩为r,且矩阵D的大小为n×n,而矩阵U和V的大小分别为n×r。当满足U
将式(4)看作是一个变量可分离的凸规划问题,式(4)的增广拉格朗日函数形式为:
其中,Λ表示线性约束拉格朗日算子,<·,·>表示矩阵内积运算,μ>0表示惩罚参数、
本实施例中的“逼近”表示“近似”或者“替换”的意思,原始的秩函数是一个l
在一个具体的实施例中,利用交替方向乘子法求解提出的非凸函数逼近模型,具体如下:
运用交替方向乘子法对式(5)进行迭代求解,其基本的迭代公式如下所示:
μ
其中,ρ>1是一个常数,k表示当前迭代次数;
步骤D1:为更新U,保存V,E,Λ不变,将式(6)转化为其等价形式:
其中,P=S+Λ
U
步骤D2:根据式(13)求解V:
步骤D3:根据式(14)求解E:
E
其中,
本实施例中,式(14)可以借助经典的正交Procrusters技术来获取最优解。
步骤D4:根据式(9)更新拉格朗日乘子Λ
步骤D5:根据式(10)更新参数μ
步骤D6:判断
基于上述非凸秩近似的矩阵补全方法恢复得到的完整欧式距离矩阵EDM,可以获取网络中所有节点间的距离度量,此时可以利用MDS-MAP算法计算出水下所有节点的相对坐标,具体步骤如下:
先计算恢复补全的欧式距离矩阵的双中心化相似矩阵G:
其中,
再对双中心化相似矩阵G进行奇异值分解:
[A,Σ,B]=svd(G) (16)
其中,Σ表示矩阵G经过奇异值分解得到的对角矩阵、svd()表示奇异值分解操作、A和B表示矩阵G经过奇异值分解得到的两个正交矩阵;
最后计算节点的相对坐标矩阵R:
其中,r
在一个具体的实施例中,通过一部分锚节点的位置将常规节点的相对坐标转换为绝对坐标,并输出常规节点的坐标,具体如下:
先计算锚节点的坐标变换矩阵Q:
其中,Q
再将常规节点的相对坐标转换为绝对坐标:
t
最终输出常规节点的坐标{t
本实施例针对水下无线传感器网络中测量距离数据缺失且距离数据受噪声污染的问题,本发明提出了一种基于非凸秩近似的低秩矩阵补全模型。该模型不仅能够对缺失的距离矩阵进行准确的恢复补全,而且能够有效处理高斯噪声和异常值噪声带来的影响,具有较好的鲁棒性和准确性。
本实施例针对水下无线传感器网络中锚节点数量少且分布不均匀,迭代误差大导致的节点定位精度低问题,本发明基于恢复补全后的完整欧式距离矩阵,采用MDS-MAP算法计算出常规节点的相对位置之后,利用少量锚节点的位置信息将相对位置转化为绝对位置,具有较高的节点定位精度。
为了验证本发明所提出的基于矩阵补全的水下无线传感器节点定位方法(NRAM)的有效性,假设网络模型中的所有传感器节点都装备有压力传感器,通过压力传感器获取水下节点的深度信息,从而利用二维平面技术来解决水下三维空间的节点定位问题。本发明考虑如图3所示的网络拓扑结构。如图3所示,100个传感器节点均匀的分布在一个100*100m
为研究算法在噪声干扰条件下的性能,本发明考察了算法在同时受到高斯噪声和异常值噪声影响下的性能表现。同时将实验结果与几种现有的最新方法进行比较,包括基于在线鲁棒矩阵补全(Online Robust Matrix Completion,ORMC)的定位算法,基于具有列异常值和稀疏噪声矩阵补全(Matrix Completion with column Outliers and Sparsenoise,MCOS)的定位算法,基于截断核范数和稀疏正则项矩阵分解(matrix decompositionvia truncated nuclear norm and a sparse regularizer,TNNSR)的定位算法和基于半定规划的定位算法(Semidefinite Relaxation Localization,SDRL)。本发明的仿真实验平台配置为:Windows 10 64位操作系统,Inter(R)Core(TM)i7-7700k 4.20GHz CPU,16GBRAM,仿真软件为MATLAB R2022a。所有仿真均重复运行100次,取它们的平均值作为最终结果。
为有效评估算法性能,本发明选取的两个评价指标定义如下:
(1)平均补全误差(Average Completion Error,ACE):
其中,D表示实际完整的EDM,
(2)平均定位误差(Average Localization Error,ALE):
其中,X表示实际的节点坐标矩阵,
本发明假设在距离信息采集过程中同时受到高斯噪声和异常值噪声的干扰。实验中同时添加均值为0,方差为100的高斯噪声以及取值为500~1000之间的异常值噪声,这里的异常值噪声比例设置为1%。图4和图5分别给出了五种算法在混合噪声影响下的EDM补全误差和节点定位误差。
如图4所示,NRAM和ORMC算法在混合噪声影响下均能表现出较好的矩阵补全效果,不仅能够平滑高斯噪声,还能有效处理异常值噪声带来的干扰。其中,ORMC和NRAM算法在观测率达到0.3时,两种算法的矩阵补全误差就可以稳定在0.02m。相比之下,SDRL算法在观测率达到0.7时其矩阵补全误差才达到0.02m。MCOS算法在观测率达到0.9时其补全误差才达到0.02m。而TNNSR算法在观测率达到0.9时依旧具有较大的补全误差。虽然当观测率大于0.3时ORMC算法能够获得和NRAM算法近乎相同的矩阵补全精度,但是当观测率低于0.2时ORMC算法的补全性能要明显劣于NRAM算法。实验结果表明本发明所提出的NRAM算法不仅能够有效处理混合噪声的影响,而且可以在观测率较低的情况下具备较高的矩阵补全精度。
由图5可以看出,五种算法的节点定位误差和矩阵补全误差的结果类似。在混合噪声影响下,本发明所提出的NRAM算法的节点定位误差在观测率为0.1时,即可达到1.5m的定位误差。同等条件下,TNNSR、ORMC、MCOS和SDRL算法的定位误差则分别为4.8m、3.6m、4.5m和3.5m。实验结果表明,本发明所提出的NRAM算法能够有效处理高斯噪声和异常值噪声的干扰,能够在数据观测率较低的情况下依旧取得较好的矩阵补全效果,进而得到较高的节点定位精度。
图6展示了100个传感器节点的最终定位结果。其中实心三角形表示锚节点的实际位置,空心圆圈表示常规节点的实际位置,实心点则表示利用本发明所提出的定位方法计算得到的常规节点的位置。在此实验中,距离数据的观测率为0.3,高斯噪声均值为0,方差为100,异常值噪声的比例为1%。如图6所示,实心点基本都能较准确的落在空心圆圈内。结果表明在部分采样数据缺失和受噪声污染情况下,本发明所出的基于矩阵补全的定位方法能够实现传感器节点的准确定位。
综上所述,本发明所提出的基于矩阵补全的水下节点定位算法不仅能够有效处理水下复杂环境中的噪声影响,而且在水下节点随机布置、网络结构不均匀、锚节点较少以及网络区域较大的情况下仍能保存较高的定位精度和较好的鲁棒性。
实施例2
一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如实施例1所述基于矩阵补全的水下无线传感器网络节点定位方法的步骤。
实施例3
一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现如实施例3所述基于矩阵补全的水下无线传感器网络节点定位方法的步骤。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
- 基于矩阵补全的无线传感器网络定位方法
- 基于非测距的水下无线传感器网络节点定位方法及系统