关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 无线传感器网络用于监测系统中的定位算法

无线传感器网络用于监测系统中的定位算法

作者: 时间:2013-03-20 来源:网络 收藏


2 基于RSSI测距的原理
中,根据节点的位置是否己知,将节点分为未知节点和信标节点。未知节点表示节点在的位置需要定位,而信标节点也称为锚节点,表示其位置已经确定。信标节点是通过人工事先放置好或者在节点上增加GPS模块得到自身位置。信标节点是未知时的参考点,但是由于功耗和成本的限制,信标节点不能太多。
2.1 RSSI测距原理
RSSI (received signal strength indicator)测距原理:利用节点接收信号强度与节点距离成反比的关系,通过测量接收到的信号强度和已知的信道衰落模型,估算出节点之间的距离。无线信号的发射功率和接收功率之间的关系可以用式(1)表示
d.JPG
PR是无线信号的接收功率,PT是无线信号的发送功率,d是收发单元之间的距离,n是传播因子,数值大小取决于无线信号传播的环境。给上式两边取对数得
10lgPR=10lgPT-10n·lgd (2)
当距离d=1 m时,PR=Pr,令10 lg RT=10 lg R=A,即是距离发射节点1 m远处的信号接收强度,将(2)式化简为
PR(dBm)=A-10*nlgd (3)
可以看出常数A和n决定了接收信号强度和传输距离的关系。A值为无线收发节点相距1 m时接收节点接收到的无线信号强度值,n值是无线信号的传播因子,这两个值都是经验值,和具体使用的硬件节点和无线信号传播的环境密切相关,所以测距前必须在应用环境中把两个经验值标定好,然后根据(3)式就可以求出距离d。
2.2 质心定位原理
质心定位的原理是:未知节点以所有在其通信范围内锚节点组成的几何形状的质心作为自己的估计位置。质心坐标就是多边形各顶点坐标的平均值。
具体实现过程为:锚节点周期性的向邻居节点广播一个信标信号,信号中包含有锚节点自身的ID和位置信息,未知节点接收到信标信号以后将其存储起来。当未知节点在一段侦听时间内接收到来自某个锚节点的信标信号数量超过预设的门限后,就认为该锚节点与自身连通,最终该未知节点将自身位置确定为所有与之连通的锚节点所组成的多边形的质心。假设网络中的n个固定锚节点坐标为(Xi,Yi),其中1≤i ≤n,未知节点M的估测位置坐标为(Xm,Ym),那么质心定位计算未知节点的坐标公式如下:
j.JPG
2.3 基于RSSI的
传统的质心定位算法忽略了不同距离的锚节点对质心定位精度的影响,针对传统质心定位算法的缺陷,将RSSI信息引入可以起到辅助信息的作用。其基本思想是:在确定了未知节点所在的多边形以后,首先根据未知节点和锚节点通信时获取到的RSSI值计算出未知节点和各个锚节点之间的距离d,然后以wi=1/di作为算法中的权值,计算未知节点的坐标。
假设网络中的n个同定锚节点坐标为(Xi,Yi),其中1≤i≤n,未知节点M的估测位置坐标为(Xm,Ym),那么加权质心计算公式5如下:
k.JPG
这样选择加权因子能够体现出与未知节点距离不同的锚节点对未知的决定权的大小,其约束力符合加权质心算法的要求。

3 的实现
3.1 定位系统的工作原理
节点的定位计算主要是在网关上完成的。本定位系统中采用了Android平板电脑做网关,网关通过监牙通信和中心节点上的蓝牙模块建立连接,蓝牙配对成功后,中心节点将未知节点上传的与之通信锚节点的RSSI值和对应锚节点ID信息通过蓝牙模块无线透传给网关,在网关上进行计算。定位系统原理如图4所示。

本文引用地址:https://www.eepw.com.cn/article/159474.htm

l.JPG


3.2 定位实现的步骤
(1) RSSI值的获取
在成功组建Zigbee网络后,锚节点周期性的向周同广播一个包含自身ID的信标信号,在通信范围内的未知节点接收到信标信号以后,通过调用API函数获取与自己通信锚节点的RSSI值和对应的锚节点ID号,使用的API函数主要包括:emberIneoming MessageHandler主要是处理节点接收到的信息,在这个函数里面再调用API函数emberGetSender,获取发送节点编号(node ID):调用API函数emberGetLastHopRssi,获取目前接收信息的信号强度;调用API函数emberSendUnicast将接收到的数据发送给中心节点,最终在中心节点调用API函数emberSerialPri ntf将数据通过串口发送给网关。获取RSSI值的部分代码如下:
m.JPG
n.JPG



评论


相关推荐

技术专区

关闭