本发明属于无线传感器网络定位领域,具体涉及协作定位节点选择算法在无线传感器网络中对目标节点定位的应用。
背景技术
定位,即获取感兴趣目标在空间中的位置信息。在如今的互联网时代,商业、导航、搜救、军事等领域对位置信息的要求越来越高,其中无线定位技术扮演着重要的角色。目标节点的位置可以通过接收到的信号来推测和估计,通常可以根据信号的到达时间(toa),信号的到达时间差(tdoa),信号的到达角度(aoa)和接受信号的信号强度(rss)。信号在传播过程中受到外界干扰会造成测量到的rss不稳定,而测量时间需要精密的仪器设备。在二维场景中,确定目标节点的位置至少需要三个不同的锚节点。为了获得较高的定位精度,可以增大锚节点的功率或者增加锚节点的布置密度。但这受限于系统成本花费和实际的环境,解决这个问题最实用的方法就是协作定位。
协作定位它避开了锚节点大功率和高密度的要求,通过周围节点的位置信息交换来确定目标节点的位置。尽管节点协作可以提高定位性能,但信息的交换与融合也会造成计算复杂度和通信负担的增加。减少辅助节点的数量不但可以节约定位所需的时间,还可以节约系统成本。况且有些应用只需要达到某一特定的定位精度即可,例如在一个房间里达到米级的定位精度就足够了。因此,在资源受限的定位系统中,协作定位节点选择算法激起了越来越多研究者的兴趣。
目前的节点选择算法大多是选择固定数目的邻近节点作为辅助节点参与协作定位。例如借助rss来确定辅助节点的集合和最近邻节点选择法(nnsm),当环境复杂多变时这两个方法的定位精度会大大降低。基于费希尔信息矩阵(fim)的节点选择算法和借助克拉美罗下界(crlb)确定辅助节点的集合,当邻近节点的数量很多时,有着很大的计算量。
技术实现要素:
本发明的目的是提供一种可以提高定位精度和降低计算复杂度的节点选择方法,技术方案如下:
一种协作定位中基于efim和距离协作的节点选择方法,包括下列步骤:
1)在场景中放置na个代理节点和nb个锚节点,计算它们与待定位目标节点的距离,并引进未知参量x=[ptκt]t,其中p是na个代理节点的位置坐标,κ是na个代理节点接收波形的幅值和时延。
2)利用未知参量x及其估计量
3)当目标节点和锚节点协作时,根据锚节点的efim计算节点的位置误差界限的平方speb;当目标节点和邻近代理节点协作时,根据代理节点的efim计算speb。
4)当目标节点k与节点j协作时,先判断节点j是锚节点还是代理节点,再计算其speb,并将speb和距离dkj结合起来形成一个新的节点选择标准,其中dkj是目标节点k与节点j之间的距离。
5)根据新的节点选择标准从邻近节点中选择节点,构建辅助节点的集合,最后借助这些辅助节点来确定目标节点的位置。
附图说明
图1本发明待定位场景图。
图2本发明与其他算法的定位精度比较图。
图3本发明与其他算法的辅助节点的数目随设定的speb门限值变化关系图。
具体实施方式
以下结合附图及实例,对本发明进行进一步的详细说明。本实例仅限于说明本发明的一种实施方法,不代表对本发明覆盖范围的限制。图1本发明待定位场景图。图2本发明与其他算法的定位精度比较图。图3本发明与其他算法的辅助节点的数目随设定的speb门限值变化关系图。
为了减小随机误差的影响,这里通过matlab进行200次蒙特卡洛仿真试验来验证本发明提出的一种基于efim和距离协作的节点选择方法的性能,并与已有的节点选择算法进行对比。使用位置均方根误差(rmse)来对算法的定位精度进行对比评价,rmse表达式如下:
其中,pk=[xk,yk]t是待定位目标节点的真实位置坐标,
具体的方法实现过程描述如下:
步骤一:定位场景布置(如图1):建立一个100m×100m的无线传感器网络场景,设定待定位节点坐标是(0,0),10个锚节点和20个代理节点由matlab随机函数来生成,节点固定不动,节点之间可以进行信息交换。它们有着不同的旋转角度α和不同的到达角度φ,且它们到目标节点的距离也各不相同。
步骤二:计算邻近节点j与目标节点k之间的距离dkj,并引进未知参量x=[ptκt]t,其中p是na个代理节点的位置坐标,κ是na个代理节点接收波形的幅值和时延。利用未知参量x及其估计量
步骤三:当目标节点和邻近锚节点协作时,根据锚节点的信息矩阵计算目标节点的efim:
其中,f(μ,η,α)表示目标节点的efim,f(ν,0,φ)表示来自锚节点的位置信息,并计算得到参数
步骤四:将节点协作后的speb与其对应距离结合起来,形成新的节点选择标准:携带节点间距离d的speb(d):
其中,
步骤五:确定设定门限值g0,从邻近节点的集合中选出