著录项信息
专利名称 | 一种RFID系统中基于自适应混合查询树的标签防碰撞方法 |
申请号 | CN201210101266.6 | 申请日期 | 2012-04-09 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2012-09-12 | 公开/公告号 | CN102663333A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K7/00 | IPC分类号 | G;0;6;K;7;/;0;0;;;G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 西北工业大学 | 申请人地址 | 陕西省西安市友谊西路127号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 西北工业大学 | 当前权利人 | 西北工业大学 |
发明人 | 蒋毅;赵洪钢;程伟 |
代理机构 | 西北工业大学专利中心 | 代理人 | 王鲜凯 |
摘要
本发明涉及一种RFID系统中基于自适应混合查询树的标签防碰撞方法,该方法首先建立对电子标签Tag的电子产品码EPC进行二进制向三进制的转换方法,给出构造三叉查询树进行标签识别的方法,根据EPC码的长度取值,构造混合查询树方法来解决二叉树与三叉树并存的问题,最后针对标签的可移动性,设置加入与离开机制,得到自适应的混合查询树的标签防碰撞方法。本发明的优点在于使用三叉树方法在基于树型结构的标签防碰撞方法中具有最优化的性能,解决了EPC码不能完全三进制转换的问题,克服了由于标签移动造成的识别困难,可以很好的降低识别时延,减少碰撞及空闲过程,适用于存在大规模可移动标签的射频识别场景。
1.一种RFID系统中的基于自适应混合查询树的标签防碰撞方法,其特征在于步骤如下:
步骤1:将阅读器接收范围内的电子标签Tag的电子产品码EPC码进行二进制EPC2向三进制EPC3的转换,构造查询树;
所述二进制EPC2向三进制EPC3的转换是:在二进制EPC2码向三进制EPC3码转换时,只转换EPC2码起始长度为3的整数倍部分,其余部分依然作二进制处理,转换公式为:
2 1 0 1 0
xi×2+xi+1×2+xi+3×2 =yj×3+yj+1×3 ;其中x对应二进制EPC2码,y对应三进制EPC3码,i={1,4,9...3k+1},k∈{1,2,...L/3-1},j={1,3,5...2t+1},t∈{1,2,...l/2-1},L为EPC2码的长度,l为EPC3码的长度,两者之间的关系必须满足l/2=L/3;
当转换前EPC2码的长度为3的整数倍,则利用转换后的EPC3码,构造三叉查询树,执行步骤2;
当转换前EPC2码的长度不为3的整数倍,将前面属于3的整数倍部分转换为EPC3码,利用转换后的EPC3码和剩余EPC2码,构造混合查询树,执行步骤3;
步骤2基于三叉查询树的标签防碰撞过程:阅读器拥有的查询请求队列Q,依次向标签发送查询请求,根据标签响应情况来识别相应的标签,并进行标签防碰撞过程的自适应调节:
当只有唯一一个标签响应查询请求时,阅读器直接识别标签,将相应查询请求对列送入标签可识别过程的队列yQ1中;
当有多个标签同时响应查询请求时,阅读器不直接识别标签产生碰撞,将相应查询请求对列送入标签碰撞过程的队列yQ2中,并在原请求序列中分别附加{0,1,2},作为新的查询请求放入Q中;
当若没有标签响应时,将查询请求对列放入空闲过程的队列yQ3中;
重复步骤2,直至队列Q为空本步骤结束,标签识别完毕;
步骤3:基于混合查询树的标签防碰撞过程,EPC2码是3的整数倍部分依然采用三叉查询方法处理,根据剩余EPC2码的剩余位数分为两种情况来处理,并进行标签防碰撞过程的自适应调节:
当剩余1位二进制序列时,若只有1个标签响应,则直接识别,若有2个标签响应,则通过判别最后一位二进制是‘0’还是‘1’来进行识别;
当剩余2位二进制序列时,则必须添加新的查询请求,在原请求后附加{0,1},并用二叉查询树方法处理;
在上述标签防碰撞过程中,对于RFID系统中标签的移动,设置相应的加入与离开机制,来自适应调节标签的防碰撞过程,具体机制如下:
加入机制:当有标签加入时,利用空闲过程来识别新加入的标签,其中又可分为可识别和碰撞两种情况,如果发生碰撞采用混合查询树方法进行处理;
离开机制:当有标签移出阅读器读取范围后,根据树型结构中空闲节点的数目,分为以下几种情况处理:
(a)当有三个孩子节点时,其中一个为可识别,另两个为空闲,则父亲节点为可识别,可清除所有对孩子节点的查询;
(b)当有三个孩子节点时,其中三个为空闲,则父亲节点为空闲,可清除所有对孩子节点的查询,并再次判断其父亲节点的兄弟节点的情况;
(c)当有两个孩子节点时,其中一个为可识别,另一个为空闲,则父亲节点为可识别,可清除所有对孩子节点的查询;
(d)当有两个孩子节点时,其中两个为空闲,则父亲节点为空闲,可清除所有对孩子节点的查询,并再次判断其父亲节点的兄弟节点的情况。
一种RFID系统中基于自适应混合查询树的标签防碰撞方\n法\n技术领域\n[0001] 本发明属于射频识别RFID通信领域,种应用于RFID系统中的防碰撞方法,具体涉及一种RFID系统中基于自适应混合查询树的标签防碰撞方法。\n背景技术\n[0002] 无线射频识别技术(Radio Frequency Identification,RFID)是一种非接触式的自动识别技术,通过射频信号自动识别目标对象并获取相关数据。RFID可工作于恶劣环境、无须人工干预、识别高速准确、成本低、寿命长,是目前发展最为迅速、潜力最大的新兴技术之一,被称为第三代识别技术。\n[0003] 由于阅读器和标签通信共享无线信道,当多个相邻的阅读器同时询问一个标签时,标签无法识别查询,产生阅读器碰撞;当多个标签同时响应一个阅读器时,阅读器不能识别标签,就发生了标签碰撞。无论何种碰撞都会导致识别失败,降低通信和传输效率。\nRFID系统的应用要求阅读器必须快速高效识别标签,防止通信碰撞成为研究的热点。由于阅读器之间能够相互通信、探测碰撞,因此阅读器碰撞比较容易解决。功能简单的被动式标签之间不能相互通信,也不能探测碰撞,防碰撞难度较大。目前,RFID标签防碰撞算法主要有2种:一种是基于ALOHA的不确定性算法,另一种是基于二叉树的确定性算法。ALOHA算法操作简便,但随着标签数量的扩大,防碰撞性能会急剧降低;二叉树算法的实现较为复杂,但识别效率可达100%,适用于大规模标签的应用场合。\n[0004] C.Law提出了一种基于二叉树的查询算法QT,该算法是一种无记忆型算法,与先前的查询过程无关,但由于逐位识别,所以识别效率较低,识别延时较长。J.RYu提出了一种四叉查询树算法HQT,该算法可以有效地提高识别效率,但空闲过程较多,在树型算法中,性能并非最优。P.Mathys在其文献中指出,使用三叉树构造的查询树方法,可使各项性能达到最优,但无法解决标签电子产品码EPC二进制向三进制转换的问题,给树型结构的形成造成了一定的困难,且大部分方法未考虑标签的移动问题,给实际应用也造成了一定的困难。\n发明内容\n[0005] 要解决的技术问题\n[0006] 为了避免现有技术的不足之处,本发明提出一种RFID系统中基于自适应混合查询树的标签防碰撞方法,能够克服上述现有方法的缺点。\n[0007] 技术方案\n[0008] 一种RFID系统中的基于自适应混合查询树的标签防碰撞方法,其特征在于步骤如下:\n[0009] 步骤1:将阅读器接收范围内的电子标签Tag的电子产品码EPC码进行二进制EPC2向三进制EPC3的转换,构造查询树;\n[0010] 所述二进制EPC2向三进制EPC3的转换是:在二进制EPC2码向三进制EPC3码转换时,只转换EPC2码起始长度为3的整数倍部分,其余部分依然作二进制处理,转换公式为:\n2 1 0 1 0\nxi×2+xi+1×2+xi+3×2 =yj×3+yj+1×3 ;其中x对应二进制EPC2码,y对应三进制EPC3码,i={1,4,9...3k+1},k∈{1,2,...L/3-1},j={1,3,5...2t+1},t∈{1,2,...l/2-1},L为EPC2码的长度,l为EPC3码的长度;\n[0011] 当转换前EPC2码的长度为3的整数倍,则利用转换后的EPC3码,构造三叉查询树,执行步骤2;\n[0012] 当转换前EPC2码的长度不为3的整数倍,将前面属于3的整数倍部分转换为EPC3码,利用转换后的EPC3码和剩余EPC2码,构造混合查询树,执行步骤3;\n[0013] 步骤2基于三叉查询树的标签防碰撞过程:阅读器拥有的查询请求队列Q,依次向标签发送查询请求,根据标签响应情况来识别相应的标签,并进行标签防碰撞过程的自适应调节:\n[0014] 当只有唯一一个标签响应查询请求时,阅读器直接识别标签,将相应查询请求序列送入标签可识别过程的队列yQ1中;\n[0015] 当有多个标签同时响应查询请求时,阅读器不直接识别标签产生碰撞,将相应查询请求序列送入标签碰撞过程的队列yQ2中,并在原请求序列中分别附加{0,1,2},作为新的查询请求放入Q中;\n[0016] 当若没有标签响应时,将查询请求序列放入空闲过程的队列yQ3中;\n[0017] 重复步骤2,直至队列Q为空本步骤结束,标签识别完毕;\n[0018] 步骤3:基于混合查询树的标签防碰撞过程,根据剩余EPC2码的剩余位数分为两种情况来处理,并进行标签防碰撞过程的自适应调节:\n[0019] 当剩余1位二进制序列时,若只有1个标签响应,则直接识别,若有2个标签响应,则通过判别最后一位二进制是‘0’还是‘1’来进行识别;\n[0020] 当剩余2位二进制序列时,若依然存在没有识别的标签,则采用现有技术中的二叉查询树方法进行处理;\n[0021] 在上述标签防碰撞过程中,对于RFID系统中标签的移动,设置相应的加入与离开机制,来自适应调节标签的防碰撞过程,具体机制如下:\n[0022] 加入机制:当有标签加入时,利用空闲过程来识别新加入的标签,其中又可分为可识别和碰撞两种情况,如果发生碰撞采用混合查询树方法进行处理;\n[0023] 离开机制:当有标签移出阅读器读取范围后,根据树型结构中空闲节点的数目,分为以下几种情况处理:\n[0024] (a)当有三个孩子节点时,其中一个为可识别,另两个为空闲,则父亲节点为可识别,可清除所有对孩子节点的查询;\n[0025] (b)当有三个孩子节点时,其中三个为空闲,则父亲节点为空闲,可清除所有对孩子节点的查询,并再次判断其父亲节点的兄弟节点的情况;\n[0026] (c)当有两个孩子节点时,其中一个为可识别,另一个为空闲,则父亲节点为可识别,可清除所有对孩子节点的查询;\n[0027] (d)当有两个孩子节点时,其中两个为空闲,则父亲节点为空闲,可清除所有对孩子节点的查询,并再次判断其父亲节点的兄弟节点的情况。\n[0028] 有益效果\n[0029] 本发明提出的一种RFID系统中基于自适应混合查询树的标签防碰撞方法,将EPC码从二进制向三进制转换,构造三叉查询树方法,使得树型算法性能最优。为了解决EPC码不能完全转换的问题,通过构造混合查询树的方法,来扩大最优方法的适用度。引入加入与离开机制,解决标签移动对防碰撞性能的影响。因而本发明方法具有自适应能力,可有效减少空闲过程与碰撞过程,增加识别效率,适用于具有大规模移动标签的多种复杂情况的实际场景,对RFID技术的发展起到推动作用。\n[0030] 本发明的效果如下:\n[0031] (1)提出二进制向三进制EPC码的转换方法,构成形成三叉查询树的条件,解决了二叉树查询次数过多的问题。\n[0032] (2)利用基于三叉查询树的标签防碰撞方法调节树型查询方法达到性能最优,为了解决其EPC2码不能全部转换为三进制的问题,采用基于混合查询树的标签防碰撞方法,将二叉树与三叉树相结合,以提高各项性能指标。从图5、6中可以看出,ACQT相比于QT和HQT在降低识别延时,减少碰撞和空闲过程方面具有较好的性能。\n[0033] (3)加入机制与离开机制解决了标签移动的问题。加入机制使得不必重复查询,可直接利用空闲过程;而离开机制可有效的减少了查询次数,也可通过标签响应延时来减少空闲过程,因而减少查询次数。\n附图说明\n[0034] 图1:为基于三叉查询树的标签防碰撞方法流程图;\n[0035] 图2:为具有EPC2码长度为6bit的6个标签进行三叉查询树防碰撞处理过程的实例图;\n[0036] (a)实例的树型识别过程;(b)实例的查询结果;\n[0037] 图3:为具有EPC2码长度为5bit的6个标签进行混合查询树防碰撞处理过程的实例图;\n[0038] (a)实例的树型识别过程;(b)实例的查询结果;\n[0039] 图4:为离开机制处理的实例图;\n[0040] 图5:为标签未移动场景下ACQT、QT与HQT方法仿真的结果图;\n[0041] 图6:为标签30%移动场景下ACQT、QT与HQT方法仿真的结果图。\n具体实施方式\n[0042] 现结合实施例、附图对本发明作进一步描述:\n[0043] 1、进行二进制向三进制的转换\n[0044] 标签所具有的二进制EPC2码的长度为L,转换后的三进制EPC3码的长度为l,两者之间的关系必须满足l/2=L/3,此时L必须是3的整数倍。\n[0045] EPC2码描述为x={x1,x2,...xi,...,xL},xi∈{0,1}。EPC3码描述为y={y1,y2,...yj...,yl},yj∈{0,1,2}。根据下式可对它们进行相应转换:\n[0046] xi×22+xi+1×21+xi+3×20=yj×31+yj+1×30 (1)\n[0047] 其 中 i = {1,4,9...3k+1},k ∈ {1,2,...L/3-1},j =\n{1,3,5...2t+1},t∈{1,2,...l/2-1}\n[0048] 码字的转换对应关系如下:\n[0049] \nbinary 000 001 010 011 100 101 110 111\n3-ary 00 01 02 10 11 12 20 21\n[0050] 被转换好的EPC3码用于构建三叉查询树。\n[0051] 2、构造基于三叉查询树的标签防碰撞过程\n[0052] 图1为基于三叉查询树的标签防碰撞方法完成标签识别的流程图,步骤如下:\n[0053] (1)首先建立查询队列Q,列出需要查询的初始查询请求,并依次发送给所有在阅读器通信范围内的标签。\n[0054] (2)根据标签响应判断三种状态,若只有一个标签响应,进入步骤(3);若有多个标签响应,进入步骤(4);若没有标签响应,进入步骤(5)。\n[0055] (3)此时表明为识别状态,有一个标签可以被识别,将查询请求序列归入可识别过程的队列yQ1中,转入步骤(6)。\n[0056] (4)此时表明为碰撞状态,无法识别多个标签,将查询请求序列归入碰撞过程的队列yQ2中,并在该查询请求序列后分别添加{0,1,2},构成新的查询请求序列加在原Q队列后,用于再次查询,随后转入步骤(1)进行新一轮的识别。\n[0057] (5)此时表明为空闲状态,没有标签响应该请求,将查询请求序列归入空闲过程的队列yQ3中,转入步骤(6)。\n[0058] (6)在队列Q中删除该查询请求,并判断队列Q是否为空,若为空则流程结束,若不为空,则转入步骤(1),进行新一轮的识别。\n[0059] 实例1:\n[0060] 选择Tag的EPC2码为(000000),(001010),(001110),(011000),(100111)和(110111),进行二进制向三进制的转换,得到EPC3码为(0000),(0102),(0120),(1000),(1121)和(2021)。队列Q中的初始查询请求为{0,1,2},发送查询请求‘0’给所有Tag,假设6个Tag都在阅读器的通信范围内,此时Tag1,2,3响应,则将‘0’归于yQ2中,并将‘0’后附加{0,1,2}构成新的查询请求加入Q中,此时Q中的查询请求为{1,2,00,01,02},然后继续查询。发送查询请求‘1’,此时Tag4,5响应,则将‘1’归于yQ2中,并将‘1’后附加{0,1,2}构成新的查询请求加入Q中,\n[0061] 此时Q中的查询请求为{2,00,01,02,10,11,12},然后继续查询。发送查询请求‘2’,此时只有Tag6响应,则将‘2’归于yQ1中,在查询队列Q中将其删除,然后继续查询。\n依次查询直到查询请求队列Q为空,此时,yQ1中对应所有识别出的标签。图2(a)是实例\n1的树型识别过程,图2(b)是实例1的查询结果。\n[0062] 3、构造基于混合查询树的标签防碰撞过程\n[0063] 若EPC2的长度L非3的整数倍,则必须采用混合查询树的标签防碰撞方法,将二叉查询树与三叉查询树的方法结合,则方法流程与图1类似,仅在重构新的查询请求时有所不同,是3的整数倍部分依然可以使用具体实施方式2中的方法来完成,但剩余部分则必须按照如下方式处理:\n[0064] (1)若剩余1位二进制,对应一个标签响应,可以直接识别;若有2个标签响应,则通过判别最后一位二进制是‘0’还是‘1’来进行识别;\n[0065] (2)若剩余2位二进制,则必须添加新的查询请求,在原请求后附加{0,1},并用二叉查询树方法处理。\n[0066] 实例2:\n[0067] 选择Tag的(EPC)2码为(00000),(00110),(00111),(01100),(10011)和(11001),将属于3的整数倍部分转换为三进制,剩余部分不变,得到对应码字为(0000),(0110),(0111),(1000),(1111)和(2001)。对于剩余部分采用二叉查询树的处理方法,仅在重构查询请求时有所不同。例如在处理‘01’请求时,发现是碰撞过程,添加{010,011}查询请求序列到Q中,并识别‘010’为空闲过程加入yQ3,而‘011’为碰撞过程,继续添加{0110,0111}查询请求序列到Q中,两个请求均为可识别过程,加入yQ1中。图3(a)是实例2的树型识别过程,图3(b)是实例2的查询结果。\n[0068] 4、设置混合查询树中的自适应方法\n[0069] (1)标签加入机制:仅在空闲过程中识别新的标签,并配以上述相应的解决方案。\n在碰撞过程及识别过程已有对应标签,无需重新识别。\n[0070] (2)标签离开机制:对应树中孩子节点的数目,依据其中空闲节点的数目,可以有四种主要的处理方法。\n[0071] (a)当有三个孩子节点时,其中一个为可识别,另两个为空闲,则父亲节点为可识别,可清除所有对孩子节点的查询。\n[0072] (b)当有三个孩子节点时,其中三个为空闲,则父亲节点为空闲,可清除所有对孩子节点的查询,并再次判断其父亲节点的兄弟节点的情况。\n[0073] (c)当有两个孩子节点时,其中一个为可识别,另一个为空闲,则父亲节点为可识别,可清除所有对孩子节点的查询。\n[0074] (d)当有两个孩子节点时,其中两个为空闲,则父亲节点为空闲,可清除所有对孩子节点的查询,并再次判断其父亲节点的兄弟节点的情况。\n[0075] 可以通过标签响应时延来识别标签,若发生相同前缀的情况,下一比特为‘0’则标签即刻响应,若为‘1’则延迟一个时间间隔响应,若为‘2’则延迟两个时间间隔响应。\n[0076] 实例3:\n[0077] 如图4所示,(a)图,在‘0’号节点的孩子节点‘00,01,02’中,可以发现‘01,02’为空闲节点,而‘00’为可识别节点,符合(a)点,所以认为其父亲‘0’号节点为可识别节点,取消对孩子节点‘00,01,02’的查询请求。(b)图中,‘0’号节点的孩子节点‘00,01,02’都为空闲节点,符合(b)点,所以认为其父亲‘0’号节点为空闲节点,取消对孩子节点‘00,01,\n02’的查询请求。(c)图,在‘01’号节点的孩子节点‘010,011’中,可以发现‘010’为空闲节点,而‘011’为可识别节点,符合(c)点,所以认为其父亲‘01’号节点为可识别节点,取消对孩子节点‘010,011’的查询请求。(d)图中,‘01’号节点的孩子节点‘010,011’均为空闲节点,认为其父亲‘01’号节点为空闲节点,且其邻居节点‘02’为空闲,而‘00’为可识别,符合(d)点,因此‘01’的父亲节点‘0’为可识别节点,取消对孩子节点‘00,01,02,010,\n011’的查询请求。依据此方法可以灵活的判断需要清除的查询请求。5、ACQT的仿真及分析。\n[0078] 仿真环境:10m×10m的区域,阅读器处于仿真区域中心,其通信范围为3m,在该环境中标签数目在25到200之间变化,每个标签的EPC2码长度为128bit,请求及响应序列的传输速率为128Kbps,标签移动速率为2m/识别阶段,响应延时间隔为20μs。统计以下三个方面的数据:(1)识别延时;(2)碰撞过程;(3)空闲过程。标签的EPC2码是随机选取的,从以下两种节点移动情况得出仿真结果,结果为仿真20次的平均值。\n[0079] 1)在场景内的所有标签均不移动\n[0080] 从图5(a)、(b)中可以看出,在识别延时与碰撞过程两方面,ACQT显然比QT和HQT方法低,主要是由于使用了三叉查询树的优势,而图5(c)中,ACQT空闲过程居中,这是由于响应时间间隔的作用,减少了空闲过程。QT最低,主要是因为它基于二进制,因而每比特都要进行判别,所以空闲过程最少。\n[0081] 2)在场景内30%的标签随机移动\n[0082] 约定移入场景与移出场景的标签数目相等,如图6所示,QT各项指标不变,因为它在查询过程中与先前的查询过程无关,而ACQT性能与HQT相比较好,因为其引入了加入与离开机制,有效的减少了碰撞和空闲过程。\n[0083] 由此可见ACQT相比于QT和HQT在降低识别延时,减少碰撞和空闲过程方面具有较好的性能。
法律信息
- 2016-06-01
未缴年费专利权终止
IPC(主分类): G06K 7/00
专利号: ZL 201210101266.6
申请日: 2012.04.09
授权公告日: 2014.06.11
- 2014-06-11
- 2012-11-07
实质审查的生效
IPC(主分类): G06K 7/00
专利申请号: 201210101266.6
申请日: 2012.04.09
- 2012-09-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-12-31
|
2008-07-23
| | |
2
| |
2007-03-07
|
2005-08-31
| | |
3
| |
2007-11-14
|
2007-06-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |