一种基于最小二乘法和MDS的自组网节点定位方法技术

技术编号:29932340 阅读:57 留言:0更新日期:2021-09-04 19:02
本发明专利技术公开的一种基于最小二乘法和MDS的自组网节点定位方法,属于无线网络通信领域。本发明专利技术使用MDS找到一个互为邻居的节点集合中所有节点的相对坐标,能明显降低在不规则形状的网络中的定位误差;采用了最小二乘法,利用多个已知坐标节点与未知节点之间的距离,逐个定位该节点集合外的节点,降低了未知节点的定位误差。本发明专利技术提供了一种在已知一部分锚节点坐标的情况下,在不规则形状的网络中,能获得自组网中所有节点的低误差坐标的节点定位方法,可应用于军事战场和灾区应急通信等领域中,解决了在不规则形状网络中获取网络节点坐标误差高的问题。标误差高的问题。标误差高的问题。

【技术实现步骤摘要】
一种基于最小二乘法和MDS的自组网节点定位方法


[0001]本专利技术属于无线网络通信领域,尤其涉及一种自组网节点的定位方法。

技术介绍

[0002]无线自组网的许多应用场景都要求获取节点的坐标信息,因此自组网节点的定位方法是自组网研究的重要课题之一。在定位算法中自组网节点被划分为锚节点和未知节点,锚节点是能够使用全球定位系统(Global positioning system,GPS)等位置辅助设备获得坐标的节点,未知节点是暂时未知坐标的节点。
[0003]目前自组网定位算法可以分为基于测距的定位算法和基于非测距的定位算法。MDS

MAP定位算法是一种基于多维尺度(Multidimensional scaling,MDS)的非测距的定位算法,该算法可以根据节点之间的距离生成相对坐标矩阵,再根据锚节点将相对坐标转换为绝对坐标。但是该算法由于使用最短路径法估计节点之间的距离,因此在不规则的网络中的定位误差较大。最小二乘定位算法是一种基于测距的定位算法,该算法根据三个以上已知坐标的锚节点求出未知节点的坐标,但是位于锚节点分布较少区域的未知节点是无法定位的。

技术实现思路

[0004]本专利技术公开的一种基于最小二乘法和MDS的自组网节点定位方法,提供了一种在已知一部分锚节点坐标的情况下,在不规则形状的网络中,能获得自组网中所有节点的低误差坐标的节点定位方法。可应用于军事战场和灾区应急通信等领域中,解决了在不规则形状网络中获取网络节点坐标误差高的问题。
[0005]本专利技术目的是通过下述技术方案实现的:
[0006]首先找出一个在单跳连接的情况下,每两个节点之间都是连通的节点集合。对该节点集合使用MDS

MAP定位算法完成定位,获取该节点集合中所有节点的相对坐标。使用最小二乘法,根据已知坐标的节点,逐个定位该节点集合外的节点,直至集合外节点的数量为0。最后将所有节点的相对坐标转换为绝对坐标。
[0007]本专利技术公开的一种基于最小二乘法和MDS的自组网节点定位方法,包括以下步骤:
[0008]步骤一:锚节点获取坐标
[0009]如果锚节点的数量小于3个,则无法完成定位算法,跳转到算法结束。如果锚节点的数量大于等于3个,令锚节点通过GPS等设备获取实际坐标,
[0010]步骤二:构建邻接矩阵
[0011]如果节点j是节点i的邻居,令N(i,j)=1,否则节点j不是节点i的邻居,令N(i,j)=0。构造一个大小为n
×
n的邻接矩阵N。
[0012]步骤三:找到互为邻居的节点集合
[0013]在整个网络中找到一个节点集合,该节点集合是一个完全图,其中每两个节点均互为邻居。
[0014](1)初始化一个节点集合V
in
为网络所有节点,再初始化另一个空的节点集合V
out

[0015](2)找到邻居节点最少的节点,也就是在邻接矩阵中1最少0最多的节点,然后删除矩阵N中该节点所在的一行和一列。在V
in
中删除该节点,并把该节点添加入V
out
内。
[0016](3)检查新矩阵是否为全1矩阵,如果是,退出循环进入(4);否则,回到(2)继续循环。
[0017](4)可以得到一个全1矩阵N。此时,集合V
in
是与矩阵N的行(或列)相对应的所有节点,集合V
out
为节点集合外部的所有节点。如果整个网络中的节点集为V,则V=V
in
+V
out
,设V为全集,那么V
in
与V
out
互为补集。
[0018](5)如果集合V
in
内的节点个数小于3,则无法继续定位,退出算法。如果集合V
in
内的节点个数大于等于3,则继续下一步。
[0019]步骤四:使用MDS计算相对坐标
[0020]通过测量接收信号强度得到集合V
in
中所有节点之间的欧式距离,使用MDS计算集合V
in
中节点的相对坐标。MDS的流程如下所示。
[0021]假设第i个节点的坐标是(x
i
,y
i
),d
ij
表示节点i与节点j之间的距离。
[0022]距离平方矩阵D2为
[0023][0024]中心矩阵J为
[0025][0026]其中,E为n阶单位矩阵,I为1
×
n维全1矩阵。
[0027]对距离的平方矩阵去中心化
[0028][0029]对矩阵B特征值分解
[0030][0031]可以求出相对位置矩阵X
[0032][0033]步骤五:用最小二乘法定位
[0034]在集合V
out
中找到一个节点v,该节点需要满足在集合V
in
中至少有三个节点是该节点的邻居并且邻居数是最多的。如果集合V
in
中的节点是v1,v2,

,v
m
,则节点v的邻居节点都是已知的。因为已知集合V
in
中所有节点的相对坐标,所以可以通过最小二乘法来计算节点v的相对坐标。将满足这个条件的节点按照V
in
内邻居数量排列,优先计算邻居数量多的节点。
[0035]最小二乘法的计算如下:
[0036]假设集合V
in
中节点v1,v2,

,v
m
的坐标是(x1,y1),(x2,y2),...(x
m
,y
m
),待定位节点v与节点集合中所有节点的距离为d1,d2,...,d
m
,节点v的坐标为
[0037]X=(A
T
A)
‑1A
T
b
ꢀꢀ
(6)
[0038]其中,矩阵A为
[0039][0040]矩阵b为
[0041][0042]在获得节点v的相对坐标之后,将节点v添加到集合V
in
中,并将v从集合V
out
中删除。如果v在V
in
内邻居数量小于3,则无法继续定位,将v标记为无法定位的节点之后也从集合V
out
中删除。
[0043]步骤六:将相对坐标转换为绝对坐标
[0044]重复第五步,直到集合V
out
为空,此时集合V
in
包含所有已定位节点,并知道了每个节点的相对坐标最后,根据同时已知的绝对坐标和相对坐标的锚节点计算坐标系变换的因子,将每个节点的相对坐标转换为绝对坐标如果锚节点没有被集合V
in
所包含,那么就没有对应的相对坐标,在最后转换的时候不能将该锚节点的绝对坐标计算在内。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于最小二乘法和MDS的自组网节点定位方法,其特征在于,包括如下步骤:步骤一:锚节点获取坐标;步骤二:构建邻接矩阵;步骤三:找到互为邻居的节点集合;步骤四:使用MDS计算相对坐标;步骤五:用最小二乘法定位;步骤六:将相对坐标转换为绝对坐标。2.如权利要求1所述,一种基于最小二乘法和MDS的自组网节点定位方法,其特征在于,步骤一的实现方法为:如果锚节点的数量小于3个,则无法完成定位算法,跳转到算法结束;如果锚节点的数量大于等于3个,令锚节点通过GPS等设备获取实际坐标。3.如权利要求1所述,一种基于最小二乘法和MDS的自组网节点定位方法,其特征在于,步骤二的实现方法为:如果节点j是节点i的邻居,令N(i,j)=1,否则节点j不是节点i的邻居,令N(i,j)=0;构造一个大小为n
×
n的邻接矩阵N。4.如权利要求1所述,一种基于最小二乘法和MDS的自组网节点定位方法,其特征在于,步骤三的实现方法为:在整个网络中找到一个节点集合,该节点集合是一个完全图,其中每两个节点均互为邻居;(1)初始化一个节点集合V
in
为网络所有节点,再初始化另一个空的节点集合V
out
;(2)找到邻居节点最少的节点,也就是在邻接矩阵中1最少0最多的节点,然后删除矩阵N中该节点所在的一行和一列;在V
in
中删除该节点,并把该节点添加入V
out
内;(3)检查新矩阵是否为全1矩阵,如果是,退出循环进入(4);否则,回到(2)继续循环;(4)可以得到一个全1矩阵N;此时,集合V
in
是与矩阵N的行(或列)相对应的所有节点,集合V
out
为节点集合外部的所有节点;如果整个网络中的节点集为V,则V=V
in
+V
out
,设V为全集,那么V
in
与V
out
互为补集;(5)如果集合V
in
内的节点个数小于3,则无法继续定位,退出算法;如果集合V
in
内的节点个数大于等于3,则继续下一步。5.如权利要求1所述,一种基于最小二乘法和MDS的自组网节点定位方法,其特征在于,步骤四的实现方法为:已经得到集合V
in
中所有节点之间的欧式距离,使用MDS计算集合V
in
中节点的相对坐标;MDS的流程如下所示;假设第i个节点的坐标是(x
i
,y
i
),d
ij
...

【专利技术属性】
技术研发人员:眭畅豪李倩胡东方王锐安瑞琪
申请(专利权)人:北京银河信通科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1