基于RFID的定位系统的设计与实现一、课题背景及意义随着无线技术、移动计算器件的快速发展,人们对位置信息和定位服务有了越来越多的需求。很多应用对定位信息要求更加细致准确。室外定位渐渐不能满足应用的需求,室内定位技术在近年来受到研究人员的关注。RFID又称射频识别技术,是一种非接触式的自动识别技术。RFID标签具有体积小、读写范围广、寿命长、抗干扰能力强等特点,可支持快速读写、移动识别、多目标识别、唯一表示等。与GPS等成熟的定位技术相比,RFID更适合应用于室内定位。有源RFID标签相比无源标签有更远的识别距离和更大的存储容量,与互联网、通讯技术相结合,可实现全球范围内物品的跟踪和信息共享,极大的扩展了射频技术的应用领域。基于有源RFID的室内定位系统地研究有着重要意义。首先RFID技术的相关研究为定位应用做好了铺垫。目前RFID的研究已经取得了很多成果。成本上,国内和国外一些工艺已经使得有源RFID标签的价格降低到几十美分,甚至十几美分;标准上,很多国家已经制定了自己的RFID标准,其中由北美UCC产品统一编码组织和欧洲EAN产品标准组织联合成立的EPCGlobal标准是市场占有量最大的一个。标准的制定在电子标签与读写器之间的空气接口、读写器与计算机之间的数据交换协议、RFID标签与读写器的性能等方面做了统一规范,为减化电子标签芯片功能设计,降低电子标签成本,扩大RFID应用领域奠定了基础。另外RFID安全与隐私降、防碰撞、天线技术队等方面也有了很多研究成果。其次有源RFID定位有着广泛的应用需求。在实际中依靠目标检测实现的应用很多,比如RFID定位应用于制造、物流等行业,能够实现对仓库存货的位置检测和对生产流的监控,从而极大的提高生产和管理效率;应用于煤矿等企业的人员定位能极大地提高安全管理力度;应用于医院能实时定位设备,能更好的协调设备和人员分配。因此基于有源RFID的定位系统是一个很有研究价值的领域。二、射频识别技术2.1RFID工作原理标签与读写器之间通过藕合元件(天线,线圈等)实现射频信号的空间(无接触)祸合,在藕合通道内,根据时序关系,实现能量的传递、数据交换等。对于无源RFID系统来说,标签通常需要贴近读卡器。读卡器通过天线发射一定频率的射频信号,这些电磁波激活标签电路,标签的能量检测电路将一部分射频信号转换成直流信号能量供其工作,标签获得能量被激活后,将自身的序列号等信息调制到射频信号上后通过标签天线发送出去,读写器接收到标签返回的射频信号后,对该信号进行解调和解码,然后送到后台计算机进行进一步处理,后台计算机会根据系统功能做出相应的处理和控制。由于读写器的能量必须来回穿过障碍物两次,因此要求读写器有较大的发射功率。对于有源系统来讲,由标签自身内嵌的电池为芯片供电,利用自身的射频能量主动发送数据给读写器,调制方式可以为调幅、调频或调相。标签进入读写器的作用区域后,标签将自身的序列号等信息的发送给读写器。读写器的处理方式同对无源标签基本一致。此外读写器上还可以附加通信网络模块(CAN总线,工业以太网,RS485等),将读出的标签信息通过通信网络模块传输给后台计算机,以实现对识别信息的采集、处理及远程传送等数据管理功能。后台计算机也可以通过通信网络将各个读写器连接起来,构成总控制信息平台,根据不同的需求实现不同的应用功能。三、系统设计3.1定位系统架构基于RFID的定位系统的架构如图1:PC端:实现定位算法及显示未知节点串口参考节点1参考节点2参考节点n...2.4GHz无线通信图1基于有源RFID的定位系统的架构定位系统由后台PC计算机、参考节点和未知节点组成,后台计算机与参考节点之间通过串口连接,参考节点和未知节点之间以ZigBee的方式通信。此架构下,未知节点得到作用范围内的参考节点的信号强度后,可以通过串口汇报给后台计算机;后台计算机执行定位算法,并实时显示出未知节点位置。3.2节点的设计3.2.1CC2530芯片介绍CC2530是Chipcon公司(现被TI收购)推出的针对IEEE802.15.4/ZigBee应用的片上系统,其内部集成了工作在2.4GHz的射频收发器,拥有低功耗的8051MCU内核、32/64/128/256KB四个不同大小可编程FlashROM和8KBRAM,还有A/D转换器、定时器等。另外,CC2530片上系统由CC2430加上Motorola公司基于IEEE802.15.4标准的无线定位引擎组成。其定位引擎支持3~l6个参考节点的定位运算,最高精度可达0.5m;定位时间少于40μs,定位区域为64m×64m,定位误差为3~5m,与一般软件定位相比,具有定位速度快、定位准确度高、消耗CPU资源少的特点。3.2.2节点的构成成及实现参考节点与未知节点均采用CC2530ZigBee模块作为主控模块。每个参考节点有自己固定的ID号和位置坐标,并不断的向外界发送ID号和位置坐标。当未知节点进入某个参考节点的射频范围内时,就可以接收到该参考节点的信息和RSSI值,当接收次数达到某个阈值时就取平均值并将该值以及参考节点的信息通过串口发给后台PC端,由PC端进行定位算法的处理。图2ZigBee定位网络控制界面由若干参考节点和未知节点构成的ZigBee网络图如图2所示。如图2中周边的4个圆圈代表参考节点,地址分别为0x143E、0x0001、0x3CB8、0x287B。这4个节点坐标已知,中间的圆圈(地址0x0002)为未知节点。未知节点可以根据接收信号强度,选取其中3个信号强度比较强的参考节点,采用三边测量法估算出未知节点的坐标位置。如图2所示,未知节点实时显示的坐标为(6.25m,5.75m)。图3位定位算法的流程图,包括后台计算端的定位计算处理。图3CC2530定位引擎的定位流程3.4定位计算机端设计3.3.1RSSI测距的实现原理基于RSSI的测距技术是利用无线电信号随距离增大而有规律地衰减的原理来测量节点间的距离的。接收信号强度RSSI与传输距离d的关系如下所示:RSSI=-(10×n×lgd+A)(1)式中,n表示信号传播常数,也叫传播系数;d表示与发送者的距离;A表示距发送者1m时的信号强度。测距精度的高低受到n与A实际取值大小的影响较大。A是一个经验参数,可以通过测量距离发送者1m处的RSSI值得到。n是用来描述信号强度随距离增加而递减的参量,n的大小依赖具体的环境。为了得到最优的n值,可以先放置好所有的参考节点,然后尝试用不同的n_index值找到最适合这个具体环境的n值。3.3.2RSSI测距定位算法实现流程图4RSSI测距定位算法实现流程图3.3.3最小二乘法修正距离从式(1)可以看出,如果知道参考节点与未知节点之间的RSSI值,则可以估算出两个节点之间的距离。然而不同的环境下可能存在不同的信号干扰,采用节点之间的RSSI值估算距离必然存在一定的误差。这时可以根据特定的环境对测量到的距离采用传统的最小二乘法进行修正[7]。得到修正后的距离,从而可以更加精确地估算出未知节点的坐标。具体步骤如下:①根据实际情况布置好节点,参考节点(Mi,Ni)与未知节点(Mj,Nj)的位置坐标均已知。可以根据xi=(Mi-Mj)2+(Ni-Nj)2得到实际节点之间的距离。②根据式(1)估算出未知节点与各个参考节点之间的距离yi。③采用最小二乘法拟合实际距离xi与估计距离yi的关系。假设两者之间的关系为yi=axi+b,为了使所有数据偏差的平方和很小,假设R2=∑mi=1(yi-axi-b)2。可以把R2看作自变量a和b的二元函数,要使得R2最小,分别对自变量求导,令其等于零。根据得到的a与b的值可以拟合出修正距离与估计距离的关系Y修=a×X估+b,结合式(1)可以得到:④布置未知节点,通过式(1)估计未知节点与参考节点之间的距离x,通过第3步拟合好的修正距离与估计距离之间的关系修正估计距离,得到修正的距离Y修。3.3.4未知节点坐标估计选择3个接收信号强度最强的参考节点,采用三边测量法估计出未知节点坐标值[8]。假设3个参考节点A、B、C的坐标分别为(ma,na)、(mb,nb)、(mc,nc),未知节点E的坐标(m,n)未知。通过2.3节4个步骤得到未知节点与3个参考节点的修正距离分别为da、db、dc。则根据两点之间的距离公式可以得到式(5):展开并化简,可得到未知节点E的坐标(m,n),如式(6)所示:3.4定位计算机端的实现四、结束语