一种基于连续碰撞位映射的多标签防碰撞方法

文档序号:6536709阅读:97来源:国知局
一种基于连续碰撞位映射的多标签防碰撞方法
【专利摘要】本发明公开了一种基于连续碰撞位映射的多标签防碰撞方法,该方法根据标签响应序列中最高碰撞位和次高碰撞位是否连续来决定新的查询前缀,且查询前缀随着碰撞发生的实际位置动态增长,在生成新前缀的同时,将待识别的标签分为若干个子集,消除了传统方法中出现的空闲时隙或空节点,同时加快了查询速度,有效的减少了查询次数,提高了查询效率;并且标签在响应读写器时,只需要发送其ID与查询前缀不同的剩余部分,减少了信息的传输量,降低了系统能耗。
【专利说明】一种基于连续碰撞位映射的多标签防碰撞方法
【技术领域】
[0001]本发明属于无线通信领域中的射频识别(RFID)多标签识别技术,具体涉及一种基于连续碰撞位映射的多标签防碰撞方法的设计。
【背景技术】
[0002]被动式超高频识别UHF RFID系统(工作频段为860MHz-960MHz)采用反向散射调制模式,工作于远场辐射区,具有读写距离远(可以达到3-10米)、非可视、读写速度快、标签无源等特点,使其广泛用于仓储物流、停车场管理、资产管理、贵重物品防盗等领域。被动式标签属于无源设备,采用远端射频供电,当标签接受到读写器的查询命令后会立即响应,发送自己的ID号或数据信息。UHF RFID系统读写器覆盖范围广,系统内覆盖的标签数目很多,同时对标签的读写要求很高,这样使得UHF RFID系统的标签碰撞问题较为突出。由于诸多因素的制约,防碰撞方法在标签侧的实现要尽可能简单,特别是标签数目较多的时候。如何实现高速率、高稳定性的防碰撞方法是RFID系统研究的一个核心问题,也是大规模推广RFID应用的一个先决条件。
[0003]标签防碰撞方法可以分为概率性方法和确定性方法两大类。概率性方法即ALOHA-based 算法,主要用于 IS018000-6A、IS018000-6C 以及 IS014443_3Type B 等国际标准中。ALOHA-based算法的基本特征是,读写器检测标签的响应并判断是否发生碰撞,如果检测到碰撞,读写器发送命令让标签停止发送数据,各个标签随机延迟一段时间再发送,由于延迟的随机数不同,从而使再次发生碰撞的概率降低。如果没有碰撞发生,读写器在完成对标签识别后,发送一个应答信号给标签,使标签进入休眠状态,直到整个识别过程结束。ALOHA算法主要可以分为时隙ALOHA方法(SA),动态时隙ALOHA算法(DFSA)和增强型动态ALOHA算法(EDFSA)。Tree-based算法包括QT (查询树)、BS (二进制搜索算法)等。
[0004]BT算法的基本特征是,每个标签内部都有一个计数器和一个随机数发生器,生成O或I ;读写器发送一个起始命令使得其覆盖域内的所有标签计数器的值设为I。然后读写器发送一个触发命令使得标签计数器的值减I。当标签计数器的值为0,标签回复。若读写器检测到有多个标签回复时,则认为碰撞发生,此时发送分离命令,让所有计数器为O的标签随机加上O或1,其余标签计数器加I。此时,计数器为O的标签立即回复,若没有碰撞则读写器可以正确识别当前标签,并使其他标签的计数器值减I;若读写器没有收到标签回复,则发送指令使所有标签计数器的值均减1,直到读写器收到标签的返回信息为止。若标签碰撞,读写器发送指令使碰撞标签按照随机数O或I进行分裂,其余标签计数器值加I。循环上述过程,直到识别全部标签。这种算法从本质上仍然带有随机性算法的特征,为了完成整个识别过程需要查询的次数是随机的。这个算法虽然最终能够完成整个识别过程,但是算法效率比较低。
[0005]ALOHA-based算法以时隙为基础对标签进行分组识别,算法实现简单,但是该算法存在两个主要问题:一是,由于该算法的时隙是基于随机分配的,即存在一定的可能性使得某一标签在相当长的一段时间内无法识别,即“Tag starvation”(标签饥饿)问题;二是,该类算法对标签数量较为敏感,特别是当标签数量非常多时,算法的性能急剧下降。Tree-based类算法不存在标签饥饿问题,确保了标签的完全识别,但是同时也增加了算法的复杂度。

【发明内容】

[0006]本发明的目的是为了解决现有技术中防标签碰撞方法复杂度较高、效率低的问题而提出一种基于连续碰撞位映射的多标签防碰撞方法。
[0007]本发明的技术方案是:一种基于连续碰撞位映射的多标签防碰撞方法,具体包括:
[0008]步骤1:读写器从堆栈中读取查询前缀prefix,初始状态时,查询前缀为空串,发送查询命令;
[0009]步骤2:读写器覆盖范围内的待识别标签接收到读写器发送的查询命令,利用自身的匹配电路将提取出的查询前缀prefix与标签自身的编号ID进行比较,若匹配,则响应读写器的查询命令,并发送各自ID中除了与prefix相匹配部分之外的剩余部分;
[0010]步骤3:读写器接收标签响应的查询应答;如果在预设时间段T内没有接收到标签响应,则说明读写器覆盖范围内没有待识别的标签;如果接收到的响应没有碰撞发生,则标签识别成功;如果接收到的响应发生碰撞,则说明有多个标签同时响应,跳转到步骤4 ;
[0011]步骤4:读写器检测标签响应碰撞位,若最高位和次高位碰撞位为连续碰撞位,则跳转到步骤5,若最高位碰撞位和次高位碰撞位为非连续碰撞位,则跳转到步骤8 ;
[0012]步骤5 ;读写器发送自定义命令QueryP,让标签向读写器响应其最高位和次高位碰撞位的映射数据;
[0013]步骤6:标签对自定义命令QueryP进行响应,并按照映射表发送其映射数据;
[0014]步骤7:读写器接收标签响应的映射数据,根据映射数据,将最高碰撞位和次高碰撞位分别设置为00/01/10/11,并将它们置于查询前缀prefix后产生新的查询前缀,并将新的查询前缀放入堆栈,等待后续查询;
[0015]步骤8:设最高碰撞位为Dc,将碰撞位分别设置成0/1,并将它们置于查询前缀prefix后生成两个新的查询前缀,并将新的查询前缀放入堆栈,等待后续查询;
[0016]步骤9:重复进行上述步骤,直到完成对所有标签的识别。
[0017]进一步的,所述标签的ID编码采用曼彻斯特编码方式。
[0018]本发明的有益效果:本发明基于连续碰撞位映射的多标签防碰撞方法根据标签响应序列中最高碰撞位和次高碰撞位是否连续来决定新的查询前缀,且查询前缀随着碰撞发生的实际位置动态增长,在生成新前缀的同时,将待识别的标签分为若干个子集,消除了传统方法中出现的空闲时隙或空节点,同时加快了查询速度,有效的减少了查询次数,提高了查询效率;并且标签在响应读写器时,只需要发送其ID与查询前缀不同的剩余部分,减少了信息的传输量,降低了系统能耗;由于方法直接针对碰撞进行处理,方法性能稳定,与标签ID的分布情况无关,所以本方法可以用于各种多标签识别环境。
【专利附图】

【附图说明】
[0019]图1是本发明方法的方法流程图;[0020]图2是标签根据阅读器发送命令作出响应的流程图;
[0021]图3是本发明方法中读写器采用的自定义命令QueryP与标签的交互流程;
[0022]图4是采用本发明方法完成五个标签(10100111、10101110、10110100、10111101、10011111)识别的一个实例;
[0023]图5是采用动态二进制搜索方法(DBSA)完成与图3中相同五个标签识别的例子;
[0024]图6是本发明方法在识别速度上的优势曲线;
[0025]图7是本发明方法在能量效率上的优势曲线。
【具体实施方式】
[0026]下面结合附图和具体的实施例对本发明作进一步的阐述。
[0027]如图1所示为本发明一种基于连续碰撞位映射的多标签防碰撞方法的流程框图,该方法具体包括:
[0028]步骤1:读写器从堆栈中读取查询前缀prefix,初始状态时,查询前缀为空串,发送查询命令;
[0029]步骤2:读写器覆盖范围内的待识别标签接收到读写器发送的查询命令,利用自身的匹配电路将提取出的查询前缀prefix与标签自身的编号ID进行比较,若匹配,则响应读写器的查询命令,并发送各自ID中除了与prefix相匹配部分之外的剩余部分;
[0030]步骤3:读写器接收标签响应的查询应答;如果在预设时间段T内没有接收到标签响应,则说明读写器覆盖范围内没有待识别的标签;如果接收到的响应没有碰撞发生,则标签识别成功;如果接收到的响应发生碰撞,则说明有多个标签同时响应,跳转到步骤4 ;
[0031]步骤4:读写器检测标签响应碰撞位,若最高位和次高位碰撞位为连续碰撞位,则跳转到步骤5,若最高位碰撞位和次高位碰撞位为非连续碰撞位,则跳转到步骤8 ;
[0032]步骤5 ;读写器发送自定义命令QueryP,让标签向读写器响应其最高位和次高位碰撞位的映射数据;
[0033]步骤6:标签对自定义命令QueryP进行响应,并按照映射表发送其映射数据;
[0034]步骤7:读写器接收标签响应的映射数据,根据映射数据,将最高碰撞位和次高碰撞位分别设置为00/01/10/11,并将它们置于查询前缀prefix后产生新的查询前缀,并将新的查询前缀放入堆栈,等待后续查询;
[0035]如果最高位和次高位碰撞位为连续碰撞位,那么读写器会根据接收到的映射数据的碰撞信息将标签分为4组,或4组其中的某些组,其中标签分别满足DJV1=OO, DJV1=Ol,DcDc-1=IO, DcDc-1=ll°
[0036]步骤8:将最高碰撞位分别设置成0/1,并将它们置于查询前缀prefix后生成两个新的查询前缀,并将新的查询前缀放入堆栈,等待后续查询;
[0037]如果最高位和次高位碰撞位为非连续,那么发生碰撞的标签会被读写器分为两组,一组满足Dc=O,另一组满足Dc=I。
[0038]步骤9:重复进行上述步骤,直到完成对所有标签的识别。
[0039]其中,所述步骤6中的映射数据表为:
[0040]表1-映射数据表
[0041]
【权利要求】
1.一种基于连续碰撞位映射的多标签防碰撞方法,其特征在于,具体包括: 步骤1:读写器从堆栈中读取查询前缀prefix,初始状态时,查询前缀为空串,发送查询命令; 步骤2:读写器覆盖范围内的待识别标签接收到读写器发送的查询命令,利用自身的匹配电路将提取出的查询前缀prefix与标签自身的编号ID进行比较,若匹配,则响应读写器的查询命令,并发送各自ID中除了与prefix相匹配部分之外的剩余部分; 步骤3:读写器接收标签响应的查询应答;如果在预设时间段T内没有接收到标签响应,则说明读写器覆盖范围内没有待识别的标签;如果接收到的响应没有碰撞发生,则标签识别成功;如果接收到的响应发生碰撞,则说明有多个标签同时响应,跳转到步骤4 ; 步骤4:读写器检测标签响应碰撞位,若最高位和次高位碰撞位为连续碰撞位,则跳转到步骤5,若最高位碰撞位和次高位碰撞位为非连续碰撞位,则跳转到步骤8 ; 步骤5 ;读写器发送自定义命令QueryP,让标签向读写器响应其最高位和次高位碰撞位的映射数据; 步骤6:标签对自定义命令QueryP进行响应,并按照映射表发送其映射数据; 步骤7:读写器接收标签响应的映射数据,根据映射数据,将最高碰撞位和次高碰撞位分别设置为00/01/10/11,并将它们置于查询前缀prefix后产生新的查询前缀,并将新的查询前缀放入堆栈,等待后续查询; 步骤8:设最高碰撞位为Dc,将碰撞位分别设置成0/1,并将它们置于查询前缀prefix后生成两个新的查询前缀,并将新的查询前缀放入堆栈,等待后续查询; 步骤9:重复进行上述步骤,直到完成对所有标签的识别。
2.如权利要求1所述的一种基于连续碰撞位映射的多标签防碰撞方法,其特征在于,所述标签的ID编码采用曼彻斯特编码方式。
【文档编号】G06K7/00GK103902941SQ201410033482
【公开日】2014年7月2日 申请日期:2014年1月23日 优先权日:2014年1月23日
【发明者】苏健, 文光俊, 李建 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1