1. 引言
随着核心技术的发展,机关、大型企业及安全管理单位企业管理的进一步细化,出于保障国家核心利益需要,特别是在高危厂区、生产关键区域、保密区域等限制人员出入的场所,人员的定位监控就愈发显得重要 [1] [2]。例如如何确保某个保密工作区域只能有特定的人员进入?如何确认某人员是否按时到岗?如何在第一时间赶到突发事件地点?如何查看人员历史轨迹信息,为责任的判断提供依据?都需要进行出入人员的精确定位。
目前常见的人员定位技术主要包括蓝牙定位、惯性传感器定位、Wifi定位和UWB定位等,相对于这些技术,Zigbee技术具有低速率、低功耗、自组网等优势。ZigBee技术使用双向无线通讯,可工作在868 MHz、915 MHz和2.4 GHz的3个频段上。由于无线信号在空间的传输过程中,信号强度会随着传输距离的增大而慢慢衰减。本文定位的原理正是根据节点之间的信号强度(RSSI)的衰减来评估信号传输的距离从而估算出人员的具体坐标 [3] [4]。然而RSSI比较容易受到环境影响,比如空气的温度、湿度等。因此,本文采用加权定位算法,对参与计算的RSSI信号强度加上一个随环境变化的加权因子,从而大大提高了定位的精度。
2. 无线定位机制
无线定位作为当前研究的热点,其技术被广泛的应用于城市交通导引,人员调度管理,移动终端等领域。而这些应用基本都是采用了两大定位机制之一,即:基于RSSI定位 [5] 和基于时间的定位 [6]。而无论采用何种方式,最终均可采用三角定位方法确定被测点具体位置。
如图1,某被测点a处于基站A、B、C的半径分别为d1、d2、d3的信号覆盖范围内。若采用基于时间的定位方式,在某时刻T,A、B、C发出定位信号,并分别在T1a、T1b、T1c时刻收到返回信号。电磁波速用V表示,那么可以得出:
计算出被测点A距离各个基站的距离再根据基站的坐标,利用三角定位,即可知道A的具体位置。由上述过程可以知道,基站之间时间的同步精度直接决定了最终定位精度。而如何解决大规模应用中数量众多的基站之间的时钟同步问题也是一大难点。
在本文中采用基于RSSI的定位方式。该方法通过测出接收到的某一基站信号的功率,并根据已知的信道衰落模型计算出与该基站的距离。和基于时间的定位原理一样,当计算出与三个基站的距离即可根据三角定位原理计算出自身方位。该方法降低了对时钟同步的要求,但也增强了对基站信号强度精度的要求。而在实际应用中,该要求相对较为容易实现。
3. RSSI定位算法
在人员定位应用中,我们将无线射频模块集成在被探测人员所佩戴的定位卡中作为移动节点。该移动节点会周期的向基站发送无线射频信号,而参考节点接收到该信号时便可读出信号强度(RSSI)。然后通过后台,利用路径损耗模型,可以计算出传播损耗从而转化为距离 [7] [8]。其具体方法如下:
式子中,RSSI表示距离发射机为d时接收端接收到的信号强度;
表示距离发射机为
时接收端接收到的信号功率,该值一般作为一个参考值;n是路径损耗指数,通常是由实际测量得到,障碍物越多,n值越大,从而接收到的平均能量下降的速度会随着距离的增加而变得越来越快;A为无线收发节点相距1 m时接收节点接收到的无线信号强度RSSI值;
是一个以dBm为单位,平均值为0的高斯随机变量,反映了当距离一定时,接收到的能量的变化。
由上面的公式可以看出,A, n的值需要通过实际测量后才能建立测距模型,而一般定位现场环境复杂,存在多径效应等影响RSSI的因素。现在大部分系统的A, n值均靠经验来确定,从而导致定位精度的不稳定。
4. 加权RSSI定位算法
在上面的算法中,定位的精度很大程度上取决于A, n参数的准确度。而A, n的值不是固定不变,它会随着周围环境,比如温度、湿度等的变化而变化。因此本文在算法中建立一个随环境变化而变化的动态A, n值,用于提高人员定位的精度。本算法在不增加硬件节点的前提下,利用众多位置固定的基站测算出A, n值。同时,为了进一步提高定位精度,利用加权方法将各个基站测算出值整合,距离被定位人员近的基站测出的值的权值高,基站越远,权值越低。
这里以计算n值为例,首先找到距离被定位人员最近的两个基站甲、乙,这两个基站的位置已知,且其周围环境与被定位人员周围环境相符。此时刻,甲基站测得乙基站的RSSI,由于甲乙基站的距离固定且已知,故可以根据式(3-1) (3-2)计算得出n的值。因为该基站距离被定位人员最近,故其权值也最高。类似的,可以选择多个基站计算出更多n的值,距离越远权值越小。则
(4-1)
在式(4-1)中,
为基站所对应的权值,n为最终定位该人员所使用的路径损耗指数。同样的,用类似的方法也可计算出A的值。算法的实现流程图如图2:
Figure 2. Weighted RSSI algorithm flowchart
图2. 加权RSSI算法流程图
5. 系统设计方案
本设计中,移动定位节点采用TI公司的CC2530作为无线处理芯片 [9]。基于2.4 G的ZigBee无线组网技术,本设计的移动节点可以快速的加入网络,精确定位。CC2530还结合了领先的RF收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,和许多其它强大的功能,这些都使得硬件设计得到大大简化,节约了成本 [10]。具体外围电路如图3:
Figure 3. CC2530 Peripheral circuits
图3. CC2530外围电路
在系统设计上,本系统的主要功能包括:点名功能、区域人员监控、主动报警、轨迹回放等。首先,预先布置的基站会发射定位信号,而所有的基站信号必须能覆盖整个定位范围。人员佩戴的定位卡可以与每个基站通信,基站将通信的信息传输到后台服务器处理,由后台软件来处理位置信息。
为了评估算法性能,搭建了一个实地模拟系统,地址选在工作环境复杂的密闭空间。每个基站之间相隔15米。同时,为了保证精度,在阻隔物较多的区域将基站间隔缩短为10米。基站安装高度统一为1米。选取一名工作人员作为实验对象,为其佩戴射频定位卡。在实验中,我们不断将这名工作人员的实际位置与测量位置进行比较,并选取了部分实验对比数据如下表1:
Table 1. Coordinate comparison between actual position and measured position
表1. 实际位置与测量位置的坐标对比
最终对所有的实验数据分析表明,该算法与系统方案可以达到最初的精度要求。
6. 结论
本文介绍了一种基于ZigBee的人员定位技术,通过针对性的算法,和基站的优化布局来提高最终的定位精度。同时,充分利用ZigBee的双向通信功能,加入人员报警功能,大大提高了系统的实用性。