1、自适应多叉树防碰撞算法研究摘 要 该文提出了一个自适应多叉树防碰撞算法。新算法在动态二叉树和四叉树搜索算法基础上,利用曼彻斯特编码能够正确识别碰撞位特征,经过计算碰撞因子,估量标签数量,从而自适应地调整搜索叉数,即在标签数较多节点上选择动态四叉树搜索,而在标签数较少时选择动态二叉树搜索。理论和仿真分析表明:新算法克服了动态二叉树和四叉树搜索算法缺点,在降低碰撞时隙数基础上,又降低了空闲时隙数,大幅度地提升了搜索效率和时隙吞吐量,含有一定创新性和适用性。关键词 射频识别;防碰撞算法;多叉树搜索;中图分类号 TP301.6 文章标识码 AAn Adaptive Anti-collision Alg
2、orithm Based on Multi-tree SearchAbstract A new adaptive anti-collision algorithm based on multi-tree search is proposed in this paper. Because Manchester code can identify the position of collision, the new algorithm can adjust the number of search tree adaptively by using the information of probab
3、ility of collision. That is to say ,when the number of tags is large,the new algorithm use four-tree search. Conversely, the new algorithm use binary-tree search. Theory and computer simulations show that the new anti-collision algorithm which overcomes the disadvantages of binary-tree and four-tree
4、 algorithms can decrease effectively collision timeslots and idle timeslots and improve the throughput of timeslots.Key words Radio Frequency Identification (RFID);Anti-collision algorithm;Multi-tree search;1 引言射频识别(RFID)是20世纪90年代兴起并逐步走向成熟一个非接触式自动识别技术,在物流、跟踪、定位等领域已得到广泛应用。其中,用于处理读写器作用范围内多标签识别问题防碰撞算法已
5、成为该领域研究热点之一。标签防碰撞算法关键处理在读写器有效通信范围内,多个标签同时和读写器进行通信问题。常见防碰撞算法通常能够分为两类,一个是基于时隙随机分配ALOHA算法1,包含动态时隙ALOHA(DSA)算法1,分群时隙ALOHA算法(GSA)2和标签估量算法(TEM)3等。其特点是,算法简单,便于实现,适适用于低成本RFID系统。但因为该类算法时隙是随机分配,即存在一定可能性,某一标签在相当长一段时间内无法识别,即“Tag starvation”问题,所以这类方法被称为可能性方法。另一类是基于二叉树搜索(BS)算法1,包含动态二叉树搜索(DBS)算法1,自适应二叉树搜索算法(ABS)4-
6、6和自适应查询树算法(AQS)7等。该类算法比较复杂,识别时间较长,但不存在“Tag starvation”问题,故被称为确定性方法。值得注意是,当待识别标签数量较多时,基于二叉树搜索算法因为频频出现碰撞,且每次碰撞只产生两个分支,搜索效率较低。文件8为此提出了一个基于四叉树搜索算法。即使该算法在搜索早期能够有效地降低碰撞,但伴随搜索范围和标签数量减小,会产生大量空闲时隙,所以搜索效率并没有得到提升。本文在动态二叉树(DBS)和四叉树(DFS)搜索算法基础上,利用曼彻斯特编码能够正确识别碰撞位特征,经过计算碰撞因子,估量标签数量,从而自适应地调整搜索叉数,即在标签数量较多时选择动态四叉树搜索,
7、而在标签数量较少时选择动态二叉树搜索。理论和仿真分析表明:新算法克服了动态二叉树和四叉树搜索算法缺点,在降低碰撞时隙数基础上,又降低了空闲时隙数,大幅度地提升了搜索效率和时隙吞吐量,含有一定创新性和适用性。 2 防碰撞算法原理及相关研究结果对于一个特定RFID系统来说,任意一个RFID标签全部有一个唯一确定EPC(电子产品代码),读写器经过获取标签EPC来确定标签身份。当读写器作用范围内有多个未识别标签时,每个标签全部会响应读写器查询命令,发送自己EPC,这么就不可避免会出现相互干扰,即产生碰撞。而防碰撞算法就是要提出对应策略,使读写器能逐一对标签进行识别。现在,很多RFID系统全部采取国际标
8、准ISO/IEC1800026中二叉数搜索(BS)算法,它采取曼彻斯特(Manchester)编码方法,能够有效地识别碰撞比特出现位置。BS算法实质就是经过数次比较,不停缩小响应标签范围,直至对唯一标签进行识别,并经过循环操作,依次识别全部标签。但该算法一直是自上而下进行,搜索过程中会出现很多反复路径,搜索效率比较低。且读写器查询和标签应答,全部是完整地传输EPC序列,这就需要读写器和标签之间进行大量数据传输。在动态二叉树搜索算法中,读写器查询命令仅传输EPC序列一部分,标签应答则传输EPC序列剩下部分,当发生碰撞时,阅读器依据第一次碰撞出现位置,产生两个新查询码分别进行搜索。伴随搜索深度增加
9、,子叉数上标签越来越少,直至对唯一标签进行识别。而在动态四叉树搜索算法中,当标签发生碰撞后,读写器依据前两次碰撞出现位置,产生四个新查询码分别进行搜索。图1 动态二叉树搜索步骤值得注意是,当待识别标签数量较多时,动态二叉树搜索算法因为频频出现碰撞,且每次碰撞只产生两个分支,搜索效率较低。图1所表示,完成上述RFID系统内5个标签搜索共需要9个时隙,其中4个是碰撞时隙。图2 动态四叉树搜索步骤动态四叉树搜索算法即使能够降低碰撞时隙数,但伴随搜索范围和标签数量减小,会增加空闲时隙数。图2所表示,完成全部标签搜索仍然需要9个时隙,即在降低2个碰撞时隙同时增加了两个空闲时隙。图3 四-二叉树搜索步骤值
10、得注意是,在上述系统中,假如在搜索深度1时,采取四叉树搜索,而在搜索深度2时,采取二叉树搜索,就能够有效地降低搜索时隙数,提升搜索效率。图3所表示,四-二叉树搜索仅需要7个时隙,其中只有2个碰撞时隙,且不产生空闲时隙。3 自适应多叉树防碰撞算法 上述简单例子说明假如防碰撞算法能依据搜索深度和标签数量,自适应地选择搜索叉数,就能够有效地提升算法效率。值得注意是,在RFID系统中,采取曼彻斯特(Manchester)编码,读写器能够识别全部碰撞位信息。现阶段大多数二叉树搜索算法仅利用了碰撞位首位信息(动态四叉树搜索算法利用碰撞位前两位信息),而其它位碰撞信息并没有充足得到利用。通常来说,当分支内标
11、签数量越多时,出现碰撞位数越多,碰撞位占总比特位概率越大。比如在上述RFID系统中,读写器发出查询命令,全部标签响应,读写器检测到碰撞,且碰撞在每一位全部发生,即XXXX(X表示发生碰撞比特位),碰撞率为100%,说明系统中未识别标签数量较多,所以在搜索深度为1时,采取四叉树。当初隙2检测到碰撞时,标签响应为0X,碰撞率为50%,说明在该时隙内未识别标签数量较少,在搜索深度为2时就能够采取二叉树搜索了。为了有效利用碰撞位信息,定义了碰撞因子。定义一:碰撞因子为在碰撞时隙内碰撞比特占标签响应比特位比值: (1)定理一:碰撞因子包含了待识别标签数量信息。证实:假设系统内有个符合查询条件待识别标签,
12、标签响应长度为比特,任意一位比特不发生碰撞概率为,故: (2)可见,标签数量越大时,碰撞因子越高。反之,碰撞因子越低。说明碰撞因子包含了待识别标签数量信息。怎样确定碰撞因子值呢?假设系统内有个符合查询条件待识别标签,系统分配叉数为,搜索深度为1时,标签识别概率为:,在搜索深度为时,识别概率:,则所需搜索深度均值为: (3)(3)式两边同乘以,可得: (4)将(3)式减去(4)式得到: (5)因为,依据等比数列求和公式: (6)所需平均时隙数为: (7)对于二叉树搜索,所需平均时隙数为:。对于四叉树搜索,所需平均时隙数为:。 比较两式,可适当3时,四叉树优于二叉树搜索,反之,二叉树优于四叉树。依
13、据式(2),碰撞因子应选择: (8)因为新算法是依据碰撞因子自适应得选择搜索叉数,所以被称为自适应多叉数防碰撞算法(Adaptive multi-tree search anti-collision algorithm, 简称AMS算法)。图4 AMS算法搜索步骤框图图4所表示,算法通常性描述以下:步骤1、读写器初始化查询堆栈S,使之为空,并发出搜索命令。步骤2、符合查询条件标签进行响应。读写器依据标签响应,确定时隙状态。步骤3、读写器依据时隙状态,自适应地选择搜索叉数和查询码。3.1、碰撞时隙:计算碰撞因子,假如,说明待识别标签数较少,选择动态二叉树搜索,并依据碰撞首位信息,确定两条新查询码
14、,将其写入查询堆栈S。假如,说明待识别标签数较多,选择动态四叉树搜索,并依据碰撞前两位信息,确定四条新查询码,将其写入查询堆栈S。3.2、空闲时隙:说明没有标签存在,在该分叉内无需继续搜索。3.3、可读时隙:说明有且仅有一个标签存在,读写器完成对该标签识别。步骤4、判定堆栈内容是否为空,假如不是,读写器读取查询堆栈内第一条查询码继续搜索,并返回到步骤2。不然,算法结束。4 算法性能分析 经过时隙数和吞吐量计算,对AMS算法性能进行分析。假设系统内有个待识别标签,且标签分布是均匀。依据算法描述,可知当碰撞因子(子节点内标签数小于3)时,采取动态二叉数搜索,反之则采取动态四叉数搜索。所以,AMS算
15、法总时隙数为二叉数搜索时隙数和四叉树搜索时隙数之和: (9)假设当搜索深度为时,子节点标签数量平均为3。搜索深度小于,算法采取是动态四叉数搜索,即:,表示取小于该值最大整数。 (10)搜索深度大于等于,算法采取是动态二叉数搜索,依据1; (11)将(10)(11)式带入(9)式可得: (12)依据吞吐量定义,可得: (13)因为(非整数时),所以和满足:,。5 试验仿真和分析下面经过计算机对上述算法进行仿真,结果取20次试验平均值。(a)空闲时隙 (b)碰撞时隙(c)总时隙 (d)吞吐量 图5 三种算法性能比较(a)总时隙 (b)吞吐量图6 碰撞因子选择对AMS算法性能影响图5(a)(b)(c
16、)(d)分别为AMS、DBS和DFS三种算法所需空闲时隙、碰撞时隙、总时隙和吞吐量比较。当标签数为500时,依据(12)(13)式,918,和仿真结果误差小于1%。说明仿真和理论分析一致,即使DBS算法所需空闲时隙最少(为零),DFS算法所需碰撞时隙最少,但AMS算法在降低碰撞时隙基础上又降低空闲时隙数,从总时隙和吞吐量来看,含有更高搜索效率和性能。图6(a)(b)分别为选择不一样碰撞因子对AMS算法性能影响。仿真和理论分析一致,说明选择=0.75作为选择二叉树和四叉数依据是正确,比选择其它值含有愈加好搜索效率和性能。6 结束语本文提出了一个自适应多叉树防碰撞算法。新算法在动态二叉树和四叉树搜
17、索算法基础上,利用曼彻斯特编码能够正确识别碰撞位特征,经过计算碰撞因子,估量标签数量,从而自适应地调整搜索叉数,即在标签数较多节点上选择动态四叉树搜索,而在标签数较少时选择动态二叉树搜索。理论和仿真分析表明:新算法克服了动态二叉树和四叉树搜索算法缺点,在降低碰撞时隙数基础上,又降低了空闲时隙数,大幅度地提升了搜索效率和时隙吞吐量,含有一定创新性和适用性。参考文件1 Finkenzeller K. RFID Handbook: Fundamentals and Applications in Contactless Smart Cards and Identification. John Wil
18、ey & Sons. .2 Hwang Tae-Wook, Lee Byong-Gyo, Kim Young-Soo. Improved anti-collision scheme for high speed identification in RFID system. First International Conference on Innovative Computing, Information and Control, Beijing, China, , vol.2:449452.3 Cha Jae-Ryong, Kim Jae-Hyun. Novel anti-collision
19、 algorithms for fast object identification in RFID system., 11th International Conference on Parallel and Distributed Systems Workshops, Fukuoka, Japan, , vol.2:6367.4 Myung Jihoon, Lee Wonjun, Srivastava J. Adaptive binary splitting for efficient RFID tag anti-collision. IEEE Communications Letters
20、, , 10(3):144146.5 Lai Yuan-Cheng, Lin Chih-Chung. A pair-resolution blocking algorithm on adaptive binary splitting for RFID tag identification. IEEE Communications Letters, , 12(6):432434.6 Myung Jihoon, Lee Wonjun. Adaptive binary splitting: a RFID tag collision arbitration protocol for tag ident
21、ification. 2nd International Conference on Broadband Networks, Boston, United States, , vol.1:347355.7 Myung J, Lee W, Shih T. An adaptive memoryless protocol for RFID tag collision arbitration., IEEE Transactions on Multimedia, , 8(5):10961101.8 Ryu J, Lee H, Seok Y. A hybrid query tree protocol for tag collision arbitration in RFID systems. IEEE International Conference on Communications, Glasgow, Scotland, , vol.2: 5981-5986.