一种基于apit测试的无线传感器网络定位算法

文档序号:9871430阅读:1576来源:国知局
一种基于apit测试的无线传感器网络定位算法
【技术领域】
[0001] 本发明属于无线通信网络技术领域,设及一种基于AP 口测试的无线传感器网络定 位算法。
【背景技术】
[0002] 无线传感器网络(Wireless Sensor Networks,WSN)中,传感器节点感知、采集所 需信息,并把运些信息传输给网络处理,在未来万物互联的世界中,物体间的相对位置关系 是实现物联网的基础,没有结合位置信息的传感数据毫无意义,定位问题已成为物联网中 的热点问题。
[0003] AP];T算法(approximation of the perfect ?口 test)是无线定位中广泛使用的 基本算法,该算法通过交换邻居节点信息运种方式来模拟节点的运动过程,若未知节点的 邻居节点同时远离或接近ABC运S个顶点,则判断未知节点在S角形外部,否则,未知节点 在=角形内部,W便得到各=角形的重叠区域,通过求其质屯、完成定位。
[0004] 在实际应用中,由于受到硬件条件,环境限制W及传播模型的合理性等各种因素 的影响,测的或估计的定位结果经常会存在一定误差,在实际操作的过程中所引起的问题 及非视距(化OS)所引起的误差也会对定位结果产生较大影响,偏离了真实值的数据将会带 来更高的定位误差。
[0005] 在测距误差对APIT定位算法影响方面,主要集中于3个方面:一方面是错节点稀疏 时,不能组成=角形,或组成的=角形个数较少,最终确定的重叠区域较大,导致定位精度 不高;另一方面,由于边缘效应的存在会导致在S角形边附近的节点存在Out-To-In和In-To-Out运两种错误;最后一方面,使用网格扫描法后直接使用质屯、定位都会带来定位精度 不高的结果。

【发明内容】

[0006] 本发明的目的在于克服上述技术存在的缺陷,提供一种基于APIT测试的无线传感 器网络定位算法,通过建立Voronoi图计算出虚拟错节点坐标,对重叠区域建立序列等级, 缩小未知节点可能存在区域,将最终确定的区域质屯、作为节点的估计坐标。
[0007] 其具体技术方案为:
[000引一种基于AP 口测试的无线传感器网络定位算法,包括W下步骤:
[0009] 步骤日,建立关于错节点的Voronoi图;进行模拟S角形内点测试(APIT),降低Out-To-In和In-To-Out的发生概率;
[0010] 步骤b,筛选合理=角形,通过网格扫描法确定重叠区域,对该区域进行空间划分, 建立序列等级,计算各子区域的序列等级和未知节点的序列等级的相似度;
[0011] 步骤C,将契合度最高的子区域质屯、作为未知节点的估计坐标。
[0012] 进一步,所述步骤a的过程为:
[001:3]步骤al,各错节点通过Voronoi函数建立Voronoi图,遍历所有交点,除去限制范围 外的交点坐标;
[0014] 步骤a2,剩余交点坐标若在错节点的一跳范围内,则其位置信息作为虚拟错节点 坐标随错节点广播;
[0015] 步骤曰3,从未知节点一跳范围内的n个错节点中任取3个组成S角形,比较未知节 点M与S个错节点的边长(即信号强度,信号强度越强则距离越近,反之越远) 取其中较短的两条,其顶点组成S角形,选取的两条边分别为MA,MB,M向AB做垂线,垂足为 H,比较MC和MH的长短,若MC >肥,则M在A ABC外部,否则M在A ABC内部。
[0016] 进一步,所述步骤b的过程为:
[0017] 步骤bl,本发明认为有两种冗余=角形应剔除,第一种为同时存在两个小于30°角 的S角形,设AABCS边分别为a,b,c,S个角分别为a,(6,S,则

若其中存在任意两个值^ ^^3/2;第二种 = 角形为 A ABC的子S角形,上述两种S角形应剔除;
[0018] 步骤b2,未知节点对每一组错节点=角形进行一次PIT测试。网格中的数字代表未 知节点可能存在的最大区域。每个网格的初始值是0,若果测试结果表明未知节点在=角形 内部,则S角形内的网格数值加1,若果测试结果表明未知节点在S角形外部,则S角形内 的网格数值减1,之后计算=角形内所有网格的数值,最大数值所在区域即=角形重叠区 域;
[0019] 步骤b3,在未知节点的一跳范围内取任意两个错节点做垂直平分线,将=角形重 叠区域划分为多个子区域Si, S2,-'Si,计算各子区域质屯、,根据各质屯、相对于各错节点的远 近建立序列等级,W错节点AB为例,在AB中垂线左侧的任意一个位置至IjA的距离都比到B的 距离近,因此在区域内关于A,B的序列等级为
I按此规则建立各子区域质屯、关于邻居错 节点的序列等级,同时建立未知节点关于各错节点的序列等级;
[0020] 步骤b4,计算子区域1关于错节点的序列等级与未知节点关于错节点的序列等级 的相似度,设两个字符串为S,T,S = S1S2…Sn,T = tit2…tn,建立S与T的(n+l)*(n+l)阶的匹 配关系矩阵10,0)(11+1)*(11 + 1) = {(1^},(0^<11,0^<11),按如下规则填充矩阵,
取矩阵右下角元素 dnn记为IcU设两个字符串的最长公共子串长度为Ics,利用化edleman算 法求得字符串S与T的最长公共子串。建立S与T的(m+l)*(n+l)阶匹配关系矩阵LCS,LCS(n+ .0 q = 0 l)*(n+l) = {dpq},(0^<,0<q^),按公式填充矩阵,dw= 0 P = O, max(dp_中,,dp一,q,dw-1) + 3明 p,q>0 其中Sp-tq (口 = 1,2...11;9 = 1,2...11),矩阵1〔5右下角元素山。即字符串8与1'的最长
[I Sp =5*^ tq 公共子串长度,记为lcs(S,T),两个字符串比较时第一次出现不匹配字符的位置为5,即为 矩阵LD从主对角线开始第一次发生改变的元素的行下标,则两个序列等级的相似度如公式 所示:
计算子区域2,3..i关于错节点的序列等级与未知节 点关于错节点的序列等级的相似度。
[0021] 与现有技术相比,本发明的有益效果为:
[0022] 本发明是在对传统AP 口定位结果定位精度低及覆盖率不高的情形进行详尽分析, 针对错节点稀疏及边缘效应的影响所提出的算法。本发明首次将字符串匹配机制引入到无 线传感器网络定位问题中,并引入了全新的=角形内点测试方法,通过仿真实验和实际环 境中来测距的实验表明,本发明可W有效的解决边缘效应及最终确定定位区域较大的问 题,定位精度有显著提高,且本发明与其他无需测距的定位算法相比有合理的通信开销及 良好的鲁棒性。
[0023] 本算法的定位误差显著小于原始APIT定位算法的定位误差。在对未知节点进行定 位时,鲜有偶然因素或操作原因引起的较大误差,因此本算法表现出了较优异的性能。
【附图说明】
[0024] 图1为本发明基于AP 口测试的无线传感器网络定位算法流程图;
[0025] 图2为PIT测试原理图;
[00%]图3为网格扫描法不意图;
[0027] 图4为本发明定位结果样本分布示意图;;
[0028] 图5为匹配算法流程图;
[0029] 图6为本算法实验方案示意图;
[0030] 图7为本算法定位结果说明示意图。
【具体实施方式】
[0031 ]下面结合具体附图和实施例对本发明的技术方案作进一步详细地说明。
[0032] 如图1所示,本发明基于APIT测试的无线传感器网络定位算法,通过建立Voronoi 图计算出虚拟错节点坐标,对重叠区域建立序列等级,缩小未知节点可能存在区域,将最终 确定的区域质屯、作为节点的估计坐标。
[0033] 其主要包括W下步骤:
[0034] 步骤日,建立关于错节点的Voronoi图;进行模拟S角形内点测试(APIT),降低Out-To-In和In-To-Out的发生概率;该步骤的具体过程为:
[0035] 步骤al,各错节点通过Voronoi函数建立Voronoi图,遍历所有交点,除去限制范围 外的交点坐标;
[0036] 步骤a2,剩余交点坐标若在错节点的一跳范围内,则其位置信息作为虚拟错节点 坐标随错节点广播;
[0037] 步骤曰3,从未知节点一跳范围内的n个错节点中任取3个组成S角形,比较未知节 点M与S个错节点的边长(即信号强度,信号强度越强则距离越近,反之越远) 取其中较短的两条,其顶点组成立角形,如图2所示,选取的两条边分别为M,MB,M向AB做垂 线,垂足为H,比较MC和MH的长短,若MC> HC,则M在A ABC外部,否则M在A ABC内部。
[0038] 步骤b,筛选合理=角形,通过网格扫描法确定重叠区域,对该区域进行空间划分, 建立序列等级,计算各子区域的序列等级和未知节点的序列等级的相似度;该步骤的具体 过程为:
[0039] 步骤bl,本发明认为有两种冗余=角形应剔除,第一种为同时存在两个小于30°角 的S角形,设A ABCS边分别为a,b,C,S个角分别为a,0,S,则

,若其中存在任意两个值^ ^^3/2;第二种 = 角形为 A ABC的子S角形,上述两种S角形应剔除;
[0040] 步骤b2,未知节点对每一组错节点=角形进行一次PIT测试。如图3所示,网格中的 数字代表未知节点可能存在的最大区域。每个网格的初始值是0,若果测试结果表明未知节 点在S角形内部,则S角形内的网格数值加1,若果测试结果表明未知节点在S角形外部, 则=角形内的网格数值减1,之后计算=角形内所有网格的数值,最大数值所在区域即=角 形重叠区域;
[0041] 步骤b3,在未知节点的一跳范围内取任意两个错节点做垂直平分线,将=角形重 叠区域划分为多个子区域Si, S2,-'Si,计算各子区域质屯、,根据各质屯、相对于各错节点的远 近建立序列等级,W错节点AB为例,在AB中垂线左侧的任意一个位置至IjA的距离都比到B的 距离近,因此在区域内关于A,B的序列等级为
,按此规则建立各子区域质屯、关于邻居错 节点的序列等级,同时建立未知节点关于各错节点的序列等级;
[0042] 步骤b4,计算子区域1关于错节点的序列等级与未知节点关于错节点的序列等级 的相似度,设两个字符串为S,T,S = slS2…Sn,T = tlt2…tn,建立S与T的(n+l)*(n+l)阶的匹 配关系矩阵10,0)(11 + 1)*(11 + 1) = {(1^},(0^<11,0^<11),按如下规则填充矩阵,
,取矩 阵右下角元素 dnn记为IcU设两个字符串的最长公共子串长度为Ics,利用化edleman算法求 得字符串S与T的最长公共子串。建立S与T的(m+l)*(n+l)阶匹配关系矩阵LCS,LCS(n+l)*(n 0 q = 〇 + l) = {d
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1