CN102013002A - 基于混合树的多标签防碰撞方法 - Google Patents
基于混合树的多标签防碰撞方法 Download PDFInfo
- Publication number
- CN102013002A CN102013002A CN 201010584983 CN201010584983A CN102013002A CN 102013002 A CN102013002 A CN 102013002A CN 201010584983 CN201010584983 CN 201010584983 CN 201010584983 A CN201010584983 A CN 201010584983A CN 102013002 A CN102013002 A CN 102013002A
- Authority
- CN
- China
- Prior art keywords
- label
- read write
- write line
- value
- collision
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于混合树的多标签防碰撞方法,应用于射频识别通信技术领域。技术方案包括下述步骤:步骤1:开启清点过程并初始化标签;步骤2:读写器根据标签回复的碰撞情况向标签发送确认指令;步骤3:标签响应读写器发送的确认指令;在完成上述操作之后,如果所有标签的清点标志位为1则清点过程结束,否则清点标志位为0的标签发送临时标记号给读写器,然后返回步骤2。本发明的有益效果是可以降低多标签回复的碰撞概率,提高多标签的清点效率。
Description
技术领域
本发明属于射频识别通信技术领域,具体涉及一种基于混合树的多标签防碰撞方法。
背景技术
射频识别(Radio Frequency Identification,简称RFID)通信技术是一种非接触式自动识别技术,RFID系统主要由标签、读写器以及计算机网络系统构成。读写器通过射频信号与标签进行通信,获取标签上存储的识别信息,同时通过计算机网络系统对读取的标签信息进行管理和信息传输。
RFID通信与其他典型的射频通信所面临的一个共同问题是,如何解决同一个系统中多个设备之间同时通信的碰撞问题。对于RFID通信而言,特别需要解决单个读写器与多个标签通信的碰撞问题。在RFID通信系统中,受成本和功耗的约束,标签只能够提供极为有限的功能用于防碰撞机制的实现。目前基于二叉树的多标签防碰撞方法在各种国际标准中已被广泛使用。
基于二叉树的多标签防碰撞方法的基本特征为,每个标签带有一个随机数发生器,生成0或1;每个标签均备有一个计数器,当计数器的值为0时,标签立即回复。其具体实施方法为,读写器发送指令使标签开始回复,标签收到指令后,首先由随机数发生器进行0/1分裂,这样将要回复的标签分成两个子集(随机数为0或1);随机数为0的标签立即回复,随机数为1的标签将计数器置1;若读写器没有检测到碰撞发生,则发送成功确认指令,标签收到成功确认指令后,计数器的值为0的标签退出清点过程,非0标签的计数器的值减1;若读写器检测到发生碰撞,则发送失败确认指令,标签收到失败确认指令后,非0标签的计数器的值加1,计数器的值为0的标签进行0/1分裂,同时计数器的值为0的标签立即回复标签信息,如此循环直到所有标签被成功清点为止。
在上述基于二叉树的多标签防碰撞方法中,当标签数目较多时,标签在清点开始时发生碰撞的概率非常大,读写器只能重复发送失败确认指令,使当前发生碰撞的标签不断进行0/1分裂,重新分配标签的计数器的值,直到当前只有一个计数器的值为0的标签进行回复为止,这样严重降低了对多标签的清点效率。
发明内容
本发明的目的是提供一种基于混合树的多标签防碰撞方法,从而降低多标签回复的碰撞概率,提高多标签的清点效率。
本发明的技术方案是:一种基于混合树的多标签防碰撞方法,其特征在于,包括下述步骤:
步骤1:开启清点过程并初始化标签。
读写器对其作用范围中的标签发送查询指令,等待接收来自标签的回复信息,该查询指令中包含此次清点中使用的参数M与N,通常M可在4、8、16三者之间选取,N取3到7之间的整数。
标签接收读写器发送的查询指令后进行初始化:令回复计数器的值P=0,备份计数器的值B=0,碰撞计数器的值C=0,清点标志位设为0。标签产生并保存一个临时标记号,该临时标记号为2L位随机数并与标签一一对应,其中L=4、5或6。标签发送临时标记号给读写器。
步骤2:读写器根据标签回复的碰撞情况向标签发送确认指令。
读写器对接收的临时标记号进行合法性检测,根据检测结果判断是否发生多标签碰撞。如果没有发生多标签碰撞,则读写器发送成功确认指令;如果发生多标签碰撞,则读写器发送失败确认指令。
步骤3:标签响应读写器发送的确认指令。
清点标志位为0的标签根据接收的指令进行如下操作:
如果接收到成功确认指令,则P=0的标签将清点标志位设为1;P≠0的标签将P减1,再令B=P,同时令碰撞计数器的值C=0;
如果接收到失败确认指令,则判断碰撞计数器的值C是否等于N-1:
如果相等,标签令P=B,然后对P进行调整,再令B=P且C=0。其中对P进行调整的原则是:P≠0的标签将P加M-1,P=0的标签进行M分裂;
如果不相等,标签首先将碰撞计数器的值C加1,然后对P进行调整,调整的原则是:P≠0的标签将P加1,P=0的标签进行0/1分裂。
在完成上述操作之后,如果所有标签的清点标志位为1则清点过程结束,否则清点标志位为0且P=0的标签发送临时标记号给读写器,然后返回步骤2。
本发明的有益效果是:通过在标签端引入回复计数器、碰撞计数器与备份计数器,根据当前碰撞计数器的值C决定发生碰撞的标签的分裂程度,即:当连续碰撞的次数达到N时,标签采用M分裂可以分散标签回复的时隙,从而降低标签碰撞的概率;当连续碰撞的次数未达到N时,标签仍采用0/1分裂,可以减少当标签个数较少时读写器的查询次数,进一步提高清点效率。
附图说明
图1是本发明提供的基于混合树的多标签防碰撞方法的流程图:
图2是执行本发明一具体实施方式过程中多标签被清点的状态图;
图3是本发明一具体实施方式提供的多标签防碰撞方法与基于二叉树的多标签防碰撞方法的查询次数对比图。
具体实施方式
以下结合附图对本发明作进一步说明。
图1是本发明提供的基于混合树的多标签防碰撞方法的流程图:
步骤1,读写器开启清点过程并初始化标签;步骤2,读写器根据标签回复的碰撞情况向标签发送确认指令;步骤3,标签响应读写器发送的确认指令,在此步骤中,如果所有标签的清点标志位都为1则清点过程结束,否则清点标志位为0且P=0的标签发送临时标记号给读写器,然后返回步骤2。
图2是执行本发明一具体实施方式过程中多标签被清点的状态图;
在本实施方式中,假设读写器作用范围中同时存在9个标签,编号从标签1到标签9,设M取4,N取3。将读写器发送一条指令给标签,标签收到指令并回复的过程定义为一次查询过程。图中,最左边一列表示本次查询时标签碰撞计数器的值C,最右边一列表示本次查询的序号,每个方框中的内容表示“标签序号(回复计数器的值P)”,例如“123456789(1)”表示标签1至标签9的回复计数器的值P均为1,“6789(1)”表示标签6至标签9的回复计数器的值P均为1。由上至下,每一行的内容是:
第1次查询:所有标签的回复计数器的值P、备份计数器的值B与碰撞计数器的值C都等于0,清点标志位都为0,此时标签端表示为“123456789(0)”,C=0。
第2次查询:读写器检测到发生多标签碰撞,读写器发送失败确认指令,所有清点标志位为0的标签(标签1至标签9)响应失败确认指令:由于C≠N-1(即C=0),P=0的标签进行0/1分裂,此时标签分别为“12345(0)”与“6789(1)”,标签碰撞计数器的值C加1变为C=1。
第3次查询:读写器检测到发生多标签碰撞,读写器发送失败确认指令,所有清点标志位为0的标签(标签1至标签9)响应失败确认指令:由于C≠2,P=0的标签(标签1至标签5)进行0/1分裂,分别为“123(0)”与“45(1)”,P≠0的标签(标签6至标签9)的P加1变为“6789(2)”,标签碰撞计数器的值C加1变为C=2。
第4次查询:读写器检测到发生多标签碰撞,读写器发送失败确认指令,所有清点标志位为0的标签(标签1至标签9)响应失败确认指令:由于C=2,清点标志位为0的标签返回到前2次碰撞时的状态(即:令P=B、C=0),标签为“123456789(0)”;然后P=0的标签进行4分裂,P≠0的标签将P加3,此时标签分别为:“123(0)”、“4(1)”、“56(2)”、“789(3)”,C=0;最后令B=P。
第5次查询:读写器检测到发生多标签碰撞,读写器发送失败确认指令,所有清点标志位为0的标签(标签1至标签9)响应失败确认指令:由于C≠2,P=0的标签进行0/1分裂,P≠0的标签将P加1,所有标签的C加1,此时标签分别为:“1(0)”、“23(1)”、“4(2)”、“56(3)”、“789(4)”,C=1。
第6次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签1至标签9)响应成功确认指令:P=0的标签1将清点标志位设为1并离开清点过程,图中第6行以灰色方框表示标签1被成功清点;P≠0的标签(标签2到标签9)将P减1,令B=P、C=0,此时标签的计数器的值P与备份计数器的值B均为:“23(0)”、“4(1)”、“56(2)”、“789(3)”,C=0。
第7次查询:读写器检测到发生多标签碰撞,读写器发送失败确认指令,所有清点标志位为0的标签(标签2至标签9)响应失败确认指令:由于C≠2,P=0的标签进行0/1分裂,P≠0的标签将P加1,所有标签的C加1,此时标签分别为:“2(0)”、“3(1)”、“4(2)”、“56(3)”、“789(4)”,C=1。
第8次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签2至标签9)响应成功确认指令:P=0的标签2将清点标志位设为1并离开清点过程,图中第8行以灰色方框表示标签2被成功清点;P≠0的标签(标签3到标签9)将P减1,令B=P、C=0,此时标签的计数器的值P与备份计数器的值B均为:“3(0)”、“4(1)”、“56(2)”、“789(3)”,C=0。
第9次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签3至标签9)响应成功确认指令:P=0的标签3将清点标志位设为1并离开清点过程,图中第9行以灰色方框表示标签3被成功清点;P≠0的标签(标签4到标签9)将P减1,令B=P、C=0,此时标签的计数器的值P与备份计数器的值B均为:“4(0)”、“56(1)”、“789(2)”,C=0。
第10次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签4至标签9)响应成功确认指令:P=0的标签4将清点标志位设为1并离开清点过程,图中第10行以灰色方框表示标签4被成功清点;P≠0的标签(标签5到标签9)将P减1,令B=P、C=0,此时标签的计数器的值P与备份计数器的值B均为:“56(0)”、“789(1)”,C=0。
第11次查询:读写器检测到发生多标签碰撞,读写器发送失败确认指令,所有清点标志位为0的标签(标签5至标签9)响应失败确认指令:由于C≠2,P=0的标签进行0/1分裂,P≠0的标签将P加1,所有标签的C加1,此时标签分别为:“5(0)”、“6(1)”、“789(2)”,C=1。
第12次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签5至标签9)响应成功确认指令:P=0的标签5将清点标志位设为1并离开清点过程,图中第12行以灰色方框表示标签5被成功清点;P≠0的标签(标签6到标签9)将P减1,令B=P、C=0,此时标签的计数器的值P与备份计数器的值B均为:“6(0)”、“789(1)”,C=0。
第13次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签6至标签9)响应成功确认指令:P=0的标签6将清点标志位设为1并离开清点过程,图中第13行以灰色方框表示标签6被成功清点;P≠0的标签(标签7到标签9)将P减1,令B=P、C=0,此时标签的计数器的值P与备份计数器的值B均为:“789(0)”,C=0。
第14次查询:读写器检测到发生多标签碰撞,读写器发送失败确认指令,所有清点标志位为0的标签(标签7至标签9)响应失败确认指令:由于C≠2,P=0的标签进行0/1分裂,P≠0的标签将P加1,所有标签的C加1,此时标签分别为:“7(0)”、“89(1)”,C=1。
第15次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签7至标签9)响应成功确认指令:P=0的标签7将清点标志位设为1并离开清点过程,图中第15行以灰色方框表示标签7被成功清点;P≠0的标签(标签8到标签9)将P减1,令B=P、C=0,此时标签的计数器的值P与备份计数器的值B均为:“89(0)”,C=0。
第16次查询:读写器检测到发生多标签碰撞,读写器发送失败确认指令,所有清点标志位为0的标签(标签8至标签9)响应失败确认指令:由于C≠2,P=0的标签进行0/1分裂,P≠0的标签将P加1,所有标签的C加1,此时标签分别为:“8(0)”、“9(1)”,C=1。
第17次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签8至标签9)响应成功确认指令:P=0的标签8将清点标志位设为1并离开清点过程,图中第17行以灰色方框表示标签8被成功清点;P≠0的标签(标签9)将P减1,令B=P、C=0,此时标签的计数器的值P与备份计数器的值B均为:“9(0)”,C=0。
第18次查询:读写器检测到没有发生多标签碰撞,发送成功确认指令,所有清点标志位为0的标签(标签9)响应成功确认指令:P=0的标签9将清点标志位设为1并离开清点过程,图中第18行以灰色方框表示标签9被成功清点。此时所有标签的清点标志位均为1,读写器结束清点过程。
图3是本发明一具体实施方式提供的多标签防碰撞方法与基于二叉树的多标签防碰撞方法的查询次数对比图。图中,横坐标表示标签个数,纵坐标表示查询次数;本例中采用的参数N=3。其中,标有圆圈的点划线表示基于二叉树的多标签防碰撞方法的查询次数曲线,标有上三角的实线表示利用本发明的一具体实施方式当M=4时的查询次数曲线,标有正方形的虚线表示利用本发明的一具体实施方式当M=8时的查询次数曲线。从图中可以看出:当M大于2时,本发明提供的多标签防碰撞方法的查询次数少于基于二叉树的多标签防碰撞方法,标签数越多时优势越明显。
Claims (2)
1.一种基于混合树的多标签防碰撞方法,其特征在于,包括下述步骤:
步骤1:开启清点过程并初始化标签;
读写器对其作用范围中的标签发送查询指令,该查询指令中包含此次清点中使用的参数M与N,M在4、8、16三者之间选取,N取3到7之间的整数;
标签接收读写器发送的查询指令后进行初始化,即:令回复计数器的值P=0,备份计数器的值B=0,碰撞计数器的值C=0,清点标志位设为0;标签产生并保存一个临时标记号,该临时标记号与标签一一对应;标签发送临时标记号给读写器;
步骤2:读写器根据标签回复的碰撞情况向标签发送确认指令;
读写器对接收的临时标记号进行合法性检测,根据检测结果判断是否发生多标签碰撞;如果没有发生多标签碰撞,则读写器发送成功确认指令;如果发生多标签碰撞,则读写器发送失败确认指令;
步骤3:标签响应读写器发送的确认指令;
清点标志位为0的标签根据接收的确认指令进行如下操作:
如果接收到成功确认指令,则P=0的标签将清点标志位设为1;P≠0的标签将P减1,再令B=P,同时令碰撞计数器的值C=0;
如果接收到失败确认指令,则判断碰撞计数器的值C是否等于N-1:
如果相等,令P=B,然后对P进行调整,再令B=P且C=0;其中对P进行调整的原则是:P≠0的标签将P加M-1,P=0的标签进行M分裂;
如果不相等,将碰撞计数器的值C加1,然后对P进行调整,调整的原则是:P≠0的标签将P加1,P=0的标签进行0/1分裂;
在完成上述操作之后,如果所有标签的清点标志位为1则清点过程结束,否则清点标志位为0且P=0的标签发送临时标记号给读写器,然后返回步骤2。
2.根据权利要求1所述的基于混合树的多标签防碰撞方法,其特征在于,临时标记号为2L位随机数,L=4、5或6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010584983XA CN102013002B (zh) | 2010-12-13 | 2010-12-13 | 基于混合树的多标签防碰撞方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010584983XA CN102013002B (zh) | 2010-12-13 | 2010-12-13 | 基于混合树的多标签防碰撞方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102013002A true CN102013002A (zh) | 2011-04-13 |
CN102013002B CN102013002B (zh) | 2012-01-11 |
Family
ID=43843175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010584983XA Active CN102013002B (zh) | 2010-12-13 | 2010-12-13 | 基于混合树的多标签防碰撞方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102013002B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577783A (zh) * | 2013-11-25 | 2014-02-12 | 北京邮电大学 | 一种高效rfid自适应型防碰撞跟踪树算法 |
CN103927504A (zh) * | 2014-04-21 | 2014-07-16 | 广西南宁市东森动力信息科技有限公司 | 基于维码数的rfid混合防碰撞算法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145180A (zh) * | 2006-10-10 | 2008-03-19 | 中兴通讯股份有限公司 | 一种用于射频识别的多标签防碰撞方法 |
CN101441698A (zh) * | 2007-11-20 | 2009-05-27 | 中兴通讯股份有限公司 | 一种判断射频识别系统中标签清点结束的方法 |
CN101499121A (zh) * | 2008-02-03 | 2009-08-05 | 中兴通讯股份有限公司 | 一种用于射频识别的防碰撞方法 |
-
2010
- 2010-12-13 CN CN201010584983XA patent/CN102013002B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145180A (zh) * | 2006-10-10 | 2008-03-19 | 中兴通讯股份有限公司 | 一种用于射频识别的多标签防碰撞方法 |
CN101441698A (zh) * | 2007-11-20 | 2009-05-27 | 中兴通讯股份有限公司 | 一种判断射频识别系统中标签清点结束的方法 |
CN101499121A (zh) * | 2008-02-03 | 2009-08-05 | 中兴通讯股份有限公司 | 一种用于射频识别的防碰撞方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577783A (zh) * | 2013-11-25 | 2014-02-12 | 北京邮电大学 | 一种高效rfid自适应型防碰撞跟踪树算法 |
CN103927504A (zh) * | 2014-04-21 | 2014-07-16 | 广西南宁市东森动力信息科技有限公司 | 基于维码数的rfid混合防碰撞算法 |
CN103927504B (zh) * | 2014-04-21 | 2016-09-14 | 广西大学 | 基于维码数的rfid混合防碰撞算法 |
Also Published As
Publication number | Publication date |
---|---|
CN102013002B (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020568B (zh) | 基于标签id预处理的rfid防碰撞方法 | |
CN102004895B (zh) | 基于碰撞预检的时隙扫描防碰撞方法 | |
CN103020569B (zh) | 一种射频识别多标签防碰撞方法 | |
CN101840489A (zh) | 一种基于碰撞树的多标签识别防碰撞方法 | |
CN106650530A (zh) | 适用于rfid系统的增强型四叉树防碰撞算法 | |
CN102024163A (zh) | 一种带有分组预览机制的防碰撞方法 | |
CN107895130B (zh) | 一种基于碰撞树的自适应多叉树防碰撞方法 | |
CN104331679A (zh) | 一种基于物理层网络编码的射频识别标签防冲突方法 | |
CN101071471A (zh) | 一种多标签防碰撞方法 | |
CN105184342A (zh) | 一种改进uhf-rfid多标签防碰撞树类算法及其应用 | |
CN101324916B (zh) | 用于rfid系统的标签识别防碰撞方法 | |
CN102013002B (zh) | 基于混合树的多标签防碰撞方法 | |
CN109740394A (zh) | 一种射频识别防碰撞方法 | |
CN105046181A (zh) | 一种基于查询树方法的多前缀匹配的确定性防碰撞算法 | |
CN106355128A (zh) | 一种基于二叉树算法的rfid多标签防冲撞方法 | |
CN102682314A (zh) | 一种判断盘点结束的方法 | |
CN103679096A (zh) | 一种优化的rfid防碰撞方法 | |
CN101436243B (zh) | 用于识别多个射频标签的冲突解决方法 | |
CN102682252A (zh) | 一种多标签识别的方法与装置 | |
CN101609497B (zh) | 一种读取电子标签的方法 | |
CN103605949A (zh) | 基于cdma的大规模rfid防碰撞方法 | |
CN105205511B (zh) | 一种基于空闲时隙消除的二进制分裂方法 | |
CN102663330A (zh) | 一种射频标签清点的方法、读卡器及射频标签 | |
CN102682253A (zh) | 一种多标签防碰撞方法 | |
CN102682310A (zh) | 一种识别多标签的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |