一种RFID多标签识别防碰撞方法技术

技术编号:11306018 阅读:473 留言:0更新日期:2015-04-16 00:56
本发明专利技术公开了一种RFID多标签识别防碰撞方法,其步骤为阅读器从前缀池中读取搜索前缀,并向待识别的标签发送识别请求命令,同时接收标签的响应;标签将前缀与自己的编号进行比较,并根据比较的结果对阅读器做出响应;若没有响应,则表明没有待识别的标签;若有响应同时没有碰撞发生,则阅读器成功识别到一个标签;若收到的编号串中发生碰撞,记首位碰撞位为Dc,同时生成两个新的搜索前缀,它们末位,即碰撞位Dc所在位的值分别设置为0或1,并将两个新的搜索前缀放入前缀池,重复该过程直到完成所有标签的识别。本发明专利技术方法的识别效率超过了50%,并且性能稳定,识别性能不受标签编号分布的影响,适用于各种RFID多标签识别场合和RFID应用系统。

【技术实现步骤摘要】
一种RFID多标签识别防碰撞方法
本专利技术涉及物联网中的RFID射频识别
,特别涉及一种RFID多标签识别防碰撞方法。
技术介绍
射频识别(RadioFrequencyIdentification,RFID)是一种具有实时、快速、准确采集等特点的自动识别技术。RFID系统主要由阅读器(Reader)、标签(Tag)和应用系统三部分组成,阅读器和标签之间采用无线信道进行通信。标签可分为主动式标签和被动式标签两种,其中被动式标签由于结构简单,成本较低,体积较小,得到广泛应用。被动式标签属于无源设备,标签在接收到阅读器的指令后会立即响应,发送自己的标号或者数据信息。但当同一信道中有多个标签同时响应某个阅读器时,标签数据间就会相互干扰,导致阅读器无法正常读取任何一个标签数据,即发生所谓的标签冲突或碰撞。为了解决多个标签同时识别的问题,就需要设置防碰撞算法来协调阅读器和多个标签之间的通信。标签防碰撞算法可分为ALOHA算法和树形算法两大类。ALOHA算法的基本特征是,系统将标签回复的信道按时间划分为若干间隔(该间隔称为时隙),并要求标签选择其中一个回复。在操作中,阅读器通过指令给每一个标签发送概率(或可选时隙的范围),标签根据收到的时隙范围,随机的选择一个时隙并按时回复;若发生碰撞,再重新选择并发送,或者在随后的时隙内重新选择或发送,直到完成所有标签的识别。经典的ALOHA算法主要包括帧时隙ALOHA方法(FSA)和动态帧时隙ALOHA方法(DFSA)。BinaryTree(二进制树,BT)算法的基本特征是,每个标签有一个随机数发生器,生成0或1;每个标签有一个计数器,当计数器的值为0时,标签回复。由阅读器发送指令使所有标签开始回复,标签收到指令后,首先由随机数发生器生成0或1,这样将要回复的标签分为两个子集;随机数为0的标签立即回复,随机数为1的标签将计数器值设为1;若没有碰撞并回复成功,则阅读器发送指令确认,并使其它标签将计数器值减1;若没有返回信息,阅读器发送指令确认,并使所有标签计数器值均减1,直到阅读器收到标签的返回信息;若标签碰撞,阅读器发送指令,使碰撞标签产生随机数进行分裂,其它标签计数器值加1;如此循环,直到完成所有标签的识别。QueryTree(查询树,QT)算法的基本特征是,阅读器从查询前缀池中选择一个前缀(prefix)进行查询,初始时前缀池中包括1和0,所有标签均将收到的前缀与自己的标签编号(ID)的起始部分进行比较,如果比较结果相同则以自己的标签编号进行回复,如果比较结果不同,则标签不予回复。如果没有碰撞,则成功识别到一个标签,阅读器从前缀池中选取新的前缀继续查询;如果发生碰撞,则阅读器将将刚刚发送的前缀增加一位1或0,即prefix+“1”和prefix+“0”并放入前缀池,等待后续查询使用;如果没有回复,阅读器从前缀池中选取新的前缀继续查询;如此循环,直到前缀池为空,即完成所有标签的识别。ALOHA算法以时隙为基础对标签进行分组识别,算法复杂度较低,但该算法存在两个主要的问题:一是,由于时隙编号由标签随机产生,致使部分标签始终无法被识别,即标签饥饿现象;二是,由于时隙数目的限制,当标签数目的增加,算法的性能急剧下降。二进制树算法和查询树算法确保了标签的完全识别,但是也增加了算法的复杂度。ALOHA算法和树形算法都不可避免的存在空时隙或空搜索的情况,即存在某些时隙或搜索状态下没有任何标签响应的情况,因此识别算法的性能和效率受到很大的影响。同时,查询树算法的性能还受到标签编号分布情况的影响。目前很多的改进算法,如回退算法,修剪枝算法,倒置搜索,估值算法等很多方法,虽然在一定程度上减少了空时隙或空搜索的情况,但同时增加了算法本身的复杂度,也增加了算法实现的困难程度。以上方法各有优劣,可以根据情况应用于不同的环境。例如:当标签数量较少,识别时间要求较短时,可以选用ALOHA算法;当标签编号较短,且重复位叫少时,可以选用查询树算法;当标签数目较多,而对识别时间要求不高时,可以选用二进制树算法。但是,目前的要求是在较短的时间内完成大量标签的完全识别,以上的这些方法都不能满足这种要求。
技术实现思路
本专利技术要解决的是传统方式的识别标签的方法在短时间内无法完成大量标签完全识别的技术问题。为解决上述技术问题,本专利技术所采取的技术方案是:一种RFID多标签识别防碰撞方法,适用于单个阅读器和多个标签组成的射频识别系统,本方法中的搜索前缀根据碰撞位直接生产,前缀池采用的是堆栈存储的形式,其识别方法的具体步骤如下:S10,完成系统的初始化,将前缀池初始为空串,标签编号置为空;S20,阅读器以空串为前缀参数,即搜索前缀prefix=NULL,向区域内的待识别标签发送查询命令,并等待标签响应;S30,阅读器接收标签的响应,若没有标签响应,则表示没有待识别的标签,识别结束;若有响应,则发生响应的标签将自身的编号反馈给阅读器;S40,阅读器对接收到的编号串进行判断,若收到的编号串中没有发生碰撞,则成功识别到一个标签;若收到的编号串中发生碰撞,则根据碰撞位生成两个搜索前缀,并将搜索前缀依次存储到前缀池内;S50,阅读器从前缀池内取出最顶部的前缀作为新的搜索前缀prefix,并向区域内的标签发送查询命令,与新的搜索前缀prefix相匹配的标签发生响应,将各自编号中与前缀prefix相匹配之后的位数发送给阅读器;若阅读器收到的编号串没有发生碰撞,则成功识别到一个标签,且该标签的编号由搜索前缀prefix与收到的编号串连接构成;若收到的编号串中发生碰撞,记首位碰撞位为Dc,则依据前缀生成规则生成两个全新的搜索前缀;两个新前缀由搜索前缀prefix与接收到的编号串中首位碰撞位之前的部分,以及碰撞位Dc构成,且碰撞位Dc的值分别置为0或1;阅读器将两个全新前缀依次放入前缀池,等待后续搜索;S60,阅读器重复步骤S50,直至完成对所有标签的识别。较优的,在上述技术方案中,步骤S50中前缀生成规则为先前搜索前缀与收到的正确位,以及碰撞位产生的“1”和“0”分别结合而成。较优的,在上述技术方案中,搜索前缀根据首位碰撞位生成新的搜索前缀,并且搜索前缀随着碰撞发生的实际位置动态增长。较优的,在上述技术方案中,发生碰撞的标签根据首位碰撞位Dc的值被分为两个组,一个组中标签满足Dc=0,另一个组中标签满足Dc=1。较优的,在上述技术方案中,该方法过程中生成的碰撞树为满二叉树,且每一个叶子节点对应一个已识别的标签,每一个中间节点对应一次碰撞的发生。较优的,在上述技术方案中,碰撞树中每一中间节点至少对应两个标签,每一个叶子节点仅于一个标签相对应。较优的,在上述技术方案中,标签编号进行传送时采用的是曼彻斯特编码。本专利技术公开的RFID多标签识别防碰撞方法通过直接根据标签响应序列中的首位碰撞位的位置来生成新的搜索前缀,并据此将发生碰撞的标签分成两个子集,并分别进行后续识别;改变了查询树中由阅读器主导的逐位搜索方式以及二进制树方法和ALOHA方法中随机过程带来的不确定性,消除了传统方法中的空时隙或空搜索过程。本专利技术与传统方式的识别方法具有如下创新和优势:(1)直接根据首位碰撞位Dc生成新的搜索前缀,且搜索前缀随着RFID多标签识别过程中碰撞本文档来自技高网
...
一种RFID多标签识别防碰撞方法

【技术保护点】
一种RFID多标签识别防碰撞方法,适用于单个阅读器和多个标签组成的射频识别系统,其特征在于:本方法中的搜索前缀根据碰撞位直接生产,前缀池采用的是堆栈存储的形式,其识别方法的具体步骤如下:S10,完成系统的初始化,将阅读器的前缀池初始为空串,标签编号置为空;S20,所述阅读器以空串为前缀参数,即搜索前缀prefix=NULL,向区域内的待识别标签发送查询命令,并等待标签的响应;S30,所述阅读器接收标签的响应,若没有标签响应,则表示没有待识别的标签,识别结束;若有响应,则发生响应的标签将自身的编号反馈给所述阅读器;S40,所述阅读器对接收到的编号串进行判断,若收到的编号串中没有发生碰撞,则成功识别到一个标签;若收到的编号串中发生碰撞,则根据碰撞位生成两个搜索前缀,并将所述搜索前缀依次存储到所述前缀池内;S50,所述阅读器从所述前缀池内取出最顶部的前缀作为新的搜索前缀prefix,并向区域内的标签发送查询命令,与所述新的搜索前缀prefix相匹配的标签发生响应,并将各自编号中与前缀prefix相匹配之后的数据位发送给所述阅读器;若所述阅读器收到的编号串没有发生碰撞,则成功识别到一个标签,且该标签的编号由搜索前缀prefix与收到的编号串连接构成;若收到的编号串中发生碰撞,记首位碰撞位为Dc,则依据前缀生成规则生成两个全新的搜索前缀;两个新前缀由搜索前缀prefix与接收到的编号串中首位碰撞位之前的部分,以及碰撞位Dc构成,且碰撞位Dc的值分别置为0或1;阅读器将两个全新的搜索前缀依次放入所述前缀池,等待后续搜索;S60,所述阅读器重复步骤S50,直至完成对所有标签的识别。...

【技术特征摘要】
1.一种RFID多标签识别防碰撞方法,适用于单个阅读器和多个标签组成的射频识别系统,其特征在于:本方法中的搜索前缀根据碰撞位直接生产,前缀池采用的是堆栈存储的形式,其识别方法的具体步骤如下:S10,完成系统的初始化,将阅读器的前缀池初始为空串,标签编号置为空;S20,所述阅读器以空串为前缀参数,即搜索前缀prefix=NULL,向区域内的待识别标签发送查询命令,并等待标签的响应;S30,所述阅读器接收标签的响应,若没有标签响应,则表示没有待识别的标签,识别结束;若有响应,则发生响应的标签将自身的编号反馈给所述阅读器;S40,所述阅读器对接收到的编号串进行判断,若收到的编号串中没有发生碰撞,则成功识别到一个标签;若收到的编号串中发生碰撞,则根据碰撞位生成两个搜索前缀,并将所述搜索前缀依次存储到所述前缀池内;S50,所述阅读器从所述前缀池内取出最顶部的前缀作为新的搜索前缀prefix,并向区域内的标签发送查询命令,与所述新的搜索前缀prefix相匹配的标签发生响应,并将各自编号中与前缀prefix相匹配之后的数据位发送给所述阅读器;若所述阅读器收到的编号串没有发生碰撞,则成功识别到一个标签,且该标签的编号由搜索前缀prefix与收到的编号串连接构成;若收到的编号串中发生碰撞,记首位碰撞位为Dc,则依据前缀生成规则生成两个全新的搜索前缀...

【专利技术属性】
技术研发人员:贾小林冯全源
申请(专利权)人:西南科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1