基于RSSI的室内定位算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于RSSI的室内定位算法实现

1.背景

随着现代通信、网络、全球定位系统(Global Position System,GPS)、普适计算、分布式信息处理等技术的迅速发展,位置感知计算和基于位置的服务(Location Based Setvices,LBS)在实际应用中越来越重要。GPS是目前应用最广泛和成功的定位技术。由于微波易被浓密树林、建筑物、金属遮盖物等吸收,因此GPS只适合在户外使用,在室内场合,由于信道环境复杂、微波信号衰减厉害、测量误差大,GPS并不适用。近年来基于低成本、低功耗、白组织的无线传感网网络(Wireless Sensor Network,WSN)定位技术得到了科研人员的重视和研究,具有广泛地应用前景。根据定位过程中是否实际测量节点间的距离,可将定位算法分为基于测距(Range-based)的定位和距离无关(rang-free)的定位。基于测距的定位先由未知节点硬件接收部分参考节点发射的无线信号并记录下TOA(Time of Arrival)、AOA(Angle of Arrival)、TDOA(Time Difference of Arrival)、RSSI(Received Signal strength Indicator)等测距度量值,然后将测距度量值转为未知节点的参考节点的距离和方位,然后再采用相关算法如三边测量法、三角测量法、极大似然估计法等来计算未知节点的位置。由于RSSI检测设备和机制简单,硬件成本低,实现简单,可通过多次测量平均获得准确的信号强度值,降低多径和遮蔽效应影响,因此基于RSSI测距的定位技术成为今年来室内定位研究的热点。

2.RSSI简介及原理

2.1 RSSI简介

基于RSSI(接收信号强度)的测距技术是利用无线电信号随距离增大而有规律地衰减的原理来测量节点间的距离.根据读取节点射频芯片寄存器的值,可以得到发射节点的发射信号强度.接收节点根据接收到的信号强度,计算出信号的传输损耗,利用理论或者经验模型将无线信号的传输损耗值转换为距离值.该测距技术只需节点具备无线收发器即可完成,不需要增加额外的硬件,也正因此应用成本较低。

2.2RSSI测距原理

通过大量工程实践可以发现,无线信号传播服从概率分布,并可归纳出无线信号传播的概率模型——Shadowing 模型,其一般形式为

P r(d) = p r(d0)-10nlg(d/d0)+X dBm , (1)

式中,pr(d)为收发节点距离为d时的接收信号强度(单位为dBm),d0位收发节点的参考距离,n为由环境决定的路径损耗指数。

在实际应用中,可采用简化的Shadowing模型:

P RSSI = P0– 10nlg(d/d0), (2)

式中,d0=1m;P RSSI为节点接收到的RSSI值(单位为dBm),P0为信号传输1m远处接收信号的功率。为了便于表达和计算,通常取d0为1m。于是可得

RSSI = A – 10nlg(d) (3)

其中,A为无线收发节点相距1m时接收节点接收到的无线信号强度RSSI值,d即为所要求的节点间的距离。A和n都是经验值,和具体使用的硬件节点、无线信号传播的环境密切相关。因此在不同的实际环境下A和n参数不同,其测距模型也不同。但在充分研究环境因素的影响后,RSSI可以用来进行室内和室外的测距及定位。

3.基于RSSI的定位算法

RSSI测距定位算法实现流程如下图1:

节点定位采用极大似然估计算法。已知n个参考节点的坐标分别为(x1,y1,),(x2,y2),…,(x n,y n),未知节点坐标为(x,y),算法具体步骤如下:

(1)参考节点周期性向盲节点发送包含自身ID和自身位置信息的数据包;

(2)盲节点可以根据接收信号强度,选择信号强度较强的参考节点;盲节点在收到同一ID 参考节点发来的数据包后,从中提取收到该帧数据的信号强度值RSSI,当收到某个ID参考节点发来的数据包超过一定阈值(假设为100)后,对这100个RSSI值求平均值,得到最终的该ID参考节点的RSSI值,然后使用RSSI测距公式(1)导出距离d,这样得到盲节点和某ID 参考节点的距离。

(3)由于不同的环境可能存在不同的信号干扰,采用步骤(2)中的方法估算距离仍然存在一定的误差;因而可以根据特定的环境对测量到的距离采用传统的最小二乘法进行修正;需要根据不同的环境建立不同的修正模型;经过修正模型后得到修正后的距离;

(4)建立参考节点与盲节点的距离方程组

(x1 - x)+ (y1 - y)2 = d12

(4)

(x n - x)+ (y n - y)2 = d n2

该方程组为非线性方程组,用方程组中前n-1个方程减去第n个方程后,得到线性化的方程AX=b (5)

其中,

A = , b =

X =

解方程(3)得:X=(A T A)-1A T b (6)

式(6) 便是盲节点的坐标计算值。

4.算法的实现

相关文档
最新文档