RSSI 值受周围环境的影响较大,具有时变特性,有时会偏离式(1)的描述,根据接收信号强度估计出的距离d 就会有较大误差。通过大量数据分析,采用了-个噪声模型,即环境衰减因素模型,可有效补偿环境影响带来的误差,如式(2)所示。
上式中EAF(dBm)为环境影响因素,它的值取决于室内环境,是靠大量的数据累积的经验值。EAF(dBm)是一个随机变量,但为了增强实用性,将其固定为-个值。通过大量比较实验环境下测得的RSSI 值与理想状态下的RSSI 值,得到试验环境EAF(dBm)大概为11 dBm,A 取值45,n 取值3.5。
在采集到RSSI 值后,依据式(2)就可以得到读写器到标签的距离, 通过LANDMARC 三边测量定位算法就可以定位出读写器的位置。如图5 所示。
图5 三边测量定位示意图
假设标签1 的坐标为p1(x1,y1),标签2 的坐标为p2(x2,y2),标签3 的坐标为p3(x3,y3),读写器坐标为p(x,y)。则读写器坐标计算公式为:
由式(2)可以计算出读写器的坐标位置为:
3.3 RFID 定位系统的工作流程
定位算法以MPLAB IDE 7.4 为开发平台,采用C 语言编写,经过编译、连接后生成机器代码,下载到读写器程序存储器中。RFID 定位系统软件流程图如图6 所示。
图6 定位系统流程图
4 结束语。
笔者介绍了一种基于PIC16F877A 和CC2500 的有源RFID 读写器和标签的硬件系统设计及室内RFID 定位方法,对读写器和标签系统的各个模块及运行于读写器中的定位算法及其工作流程进行了详细介绍。该有源RFID 定位系统在小规模的室内实验中表现出较好的定位精度。