1RFID标签碰撞产生的原因
在无线射频识别系统中,包含物品信息的电子标签的数据可以被阅读器完整无缺地读取到.RFID电子标签区别于传统的一维和二维条形码,读取方式是非接触式,即阅读器和标签间隔一定的距离就可以读取到标签包含的信息,在这个过程中,数据传输的方式是通过无线通讯.然而一些因素可能会干扰通过无线通讯来获得信息的过程,从而导致阅读器无法正确获得标签的信息.一般每个标签有固定的发射信号的范围,而阅读器有自己固定的识别范围,当多个标签进入阅读器的识别范围时,每个标签都会发射信号,对阅读器的识别形成干扰,就可能会导致阅读区读取错误[3].同理,如果多个阅读器出现在一个标签的发射信号范围内,这些阅读器都可以读取到标签的信息,但一般应该只有一个阅读器读取到标签信息,而其它的阅读器没有阅读权限.可以用下图来说明碰撞发生的形式,如图1.
2无线射频识别技术中标签防碰撞的算法
不管是上述的哪种原因产生的碰撞,都会加长阅读器识别标签的时间,并且使电子标签消耗更多的能量,从而限制其使用范围的推广.所以从无线射频识别技术出现开始,如何减少碰撞发生、避免碰撞发生的问题就一直被关注.在无线电通信技术中,该问题被称为无线电通信系统中的多路存取法,多路存取法基本分为四种:时分多路法,频分多路法,空分多路法和码分多路法[4].二进制防碰撞算法是现阶段大多数的标签防碰撞采用的算法,二进制算法的基本原理是可以先给阅读器设置一个命令,命令进入识别距离的标签发送包含编号的信息给它,如果没有符合此命令的标签,那么阅读器停止发送信息,也不读取任何信息,同时所有的标签都进入休眠状态.假如有且仅有一个标签的编号与阅读器发送的编号一致,那么该标签就是目标标签,会被阅读器选中,然后它会将包含的信息发送给阅读器[5].假如同时有2个或2个以上的标签与阅读器发送的编号一致,在此过程中这些标签同时发送信息,这样就会发生信号的干扰,影响识别过程,阅读器就必须继续判断,再发送另一个查询码,此过程一直循环往复,直到只有一个标签符合命令.此时,阅读器就识别到了所有的标签,并且每个标签包含的信息就会全部被阅读器读取到[6].设现在有如表1所示的4个电子标签,那么二进制算法具体的流程如图2所示。二进制算法的原理是通过曼彻斯特编码的方法来寻找出发生碰撞的位置.本质是通过判断使处于其阅读范围的可以应答命令的标签的数目逐渐减少,直到发现目标标签.这个算法虽然有效,但是有一些不足之处,在识别的过程中从头到尾都需要标签发送一个完整的ID,没有找到目标标签,就换一个ID发送出去,大部分标签有可能经过不止一次的判断,所以就有很多不必要的判断过程,导致时间的消耗.并且二进制算法在识别一个编号较长的标签时,需要次数更多的搜索,造成更多的时间浪费,时间都消耗在不必要的搜索上,大大降低了工作效率[7].
3改进的RFID电子标签防碰撞算法
RFID系统因其无与伦比的优点,在仓储管理系统(WMS)中有着广泛的应用.现阶段,物流公司为了在市场竞争中取得优势,都在千方百计提高仓储作业的效率,所以在WMS中,节约识别货物所需要的时间是很有必要的一件事情.上述算法存在很多不足之处,故对上述算法进行改进,提高算法的性能,使RFID系统在WMS中得到更好的应用.改进算法的基本思路是把一个编号较长的标签分割成几段,分段进行识别,识别完第一段后再对第二段进行识别,逐段进行,直到最后一段被识别,这样就可以减少一些重复的路径,减少不必要的判断次数,识别过程所花的时间就会大大减少.以A、B、C、D、E、F6个标签为例,6个标签的编号依次为:0100、0101、0110、1010、1100、1110,算法原理及步骤如下:如图3所示,对上述几个编号长度为4的标签,先对前两位结合成首段进行判断,两位二进制数的组合有00、01、10、11这4种,在上述的6个标签中,前两位有01、11和10这3种情况.当阅读器发送00判断命令时,不存在符合命令的标签,于是判断结束.当阅读器发送01判断命令时,满足此命令的有3个标签为0100、0101和0110,无法识别,所以需要进行下一步的搜索,下一步发送010,还存在0100和0101两个标签,继续分成0100和0101,就不存在干扰了,从而就识别到了这两个标签.另一个分支发送011搜索命令,就直接识别到了0110这个标签.当阅读器发送10搜索命令时,只有1个标签满足条件,所以也不需要进行下一步的判断,可以直接读取.当阅读器发送11搜索命令时,有1100、1110两个标签满足条件,存在干扰,需要继续搜索,发送110和111的判断命令,这两个标签就识别了出来,所以阅读器发出10次命令就可以把所有标签都识别到.同理对上述的6个标签作把前3位结合成一段进行判断的处理,判断过程如图4,3位二进制数组合有000、011、001、010、100、101、110、111这8种可能,在上述的6个标签中,前3位二进制数有010、111、101、110和011这5种组合.在阅读器发送000、100和001的判断命令时,无命中的标签,停止判断.当阅读器发送010搜索命令时,有2个标签符合条件,0100和0101,所以继续判断,依次发出0100和0101判断命令,这2个标签就分别被阅读器识别到.当阅读器发送011、111、110和101的判断命令时,符合条件的标签都只有1个,没有信号的干扰,也就不存在碰撞,所以判断终止.综上所述,识别完所有标签共需要10次判断.具体的算法步骤如图5所示:
4算法总体性能分析
设阅读器总共要识别的标签总数是N,阅读器第一次选择电子标签的前l位,那么可以看出,第一次发布的时隙数有2l个,据此可以计算出不存在符合条件标签时隙、可以直接命中的标签时隙和同时有2个及以上个数标签符合条件时隙的数量分别为:
5结论
本文针对目前常用的标签防碰撞算法即二进制防碰撞算法进行了改进,把一个编号较长的标签分割成几段,分段进行识别,与二进制算法搜索命令中每次都对整个的标签编号进行判断相比,改进的算法可以明显减少一些重复的路径,减少不必要的判断次数,识别过程所花的时间大大减少.对改进算法的性能通过数学公式进行了定量的分析,得出改进的算法比二进制算法提高了识别的效率,特别是在第三方物流公司仓库中电子标签数量比较大的场合下,能显著地节约识别标签所花的时间,提高仓储的作业效率.最后指出在第三方物流公司的仓库中,需要统计出标签在一天中不同时间段的到达规律,从而为设置合理的区分度提供科学的依据.
作者:张丽 梅巧萍 单位:福州外语外贸学院