更全的杂志信息网

一种改进的动态多叉树防碰撞算法

更新时间:2009-03-28

射频识别(Radio Frequency Identification,RFID)技术为非接触式的自动识别技术,识别过程无需人工干预,可通过射频识别信号自动识别目标对象并获取相关数据[1].RFID通常由电子标签和阅读器两部分构成,电子标签附着在物体上标识目标对象并且每个电子标签都有唯一的序列号,阅读器负责发送请求命令并接收电子标签传输过来的信息,电子标签收到请求命令后向阅读器传输自己的信息.当多个电子标签同时向阅读器传输信息时,就会出现碰撞问题.解决阅读器作用范围内多标签碰撞问题的防碰撞算法已成为该领域研究的热点之一.RFID可工作于各种恶劣复杂的环境,现已在物流、跟踪、定位等领域已得到广泛应用.

目前,多标签防碰撞算法主要分为3类:基于树型结构的二进制确定性算法,基于Aloha算法的随机性算法和基于二者的混合算法[2].由于基于树的防碰撞算法较为简单且便于应用,因此国内外很多学者都对其展开了研究.二进制防碰撞算法就是其中一种.文献 [3-4]基于分组机制提高了系统效率.文献 [5]提出了一种基于二进制搜索算法的改进算法,其采用问询机制减少了响应标签个数和冲突概率.文献 [6]提出的算法利用标签EPC的唯一性,对发生碰撞的比特位进行深度分解,根据碰撞位调整搜索状态,从而进一步减少搜索时隙数并提高了系统的吞吐量;但算法还存在一些不足,在标签数量偏少时,算法的优越性得不到体现.文献 [7-8]由最高碰撞位信息,可自由选择二叉树和四叉树,但在标签发生多位不连续碰撞时,算法搜索时隙多、搜索深度大.文献 [9-10]由碰撞位数动态选择分叉数,当两个标签碰撞位大于1位时,四叉树空闲时隙超过50%,增加了通讯时间和通信量.文献 [11]采用了基于树的退避协议来减少迭代次数,算法缺点是搜索时隙多且需传输响应标签的整个序列号.文献 [12]提出了根据碰撞因子动态选择多叉树的方法,当碰撞因子大于50%时选择四叉树,否则选择二叉树.

本文将主要对二叉树算法和四叉树算法进行研究,结合二叉树算法和四叉树算法的特点,吸收其精华,改进其不足,提出一种动态选择多叉树算法.

学案编写原则:第一,主体性原则:以学生为主体的原则;第二,基础性原则;第三,“导学、诱思”原则;第四,针对性及分层原则;第五,系统性原则。

1 二进制防碰撞算法相关介绍

1.1 二进制防碰撞算法编码方式

二进制防碰撞算法采用的是曼彻斯特编码方式.该编码方式的逻辑0用上升沿表示,逻辑1由下降沿表示.若在数据的传输过程中,出现“没有改变”的状态,也就是对应的曼彻斯特编码方式中的上升沿和下降沿相互抵消,则意味着该位发生冲突,也就能确定具体碰撞位置.曼彻斯特编码识别原理图如图1所示.图中标签1编码为10110010,标签2编码为10101010.其中D4位标签1为下降沿,标签2为上升沿,相互抵消,该位无法识别;D3位标签1为上升沿,标签2为下降沿,相互抵消,该位也无法识别.因此图1中D4D3位为冲突位.

1.2 多叉树防碰撞算法

二叉树算法的基本思想是将碰撞的标签分成2个子集0和1,先查询子集0,若无碰撞,则正确识别标签,若有碰撞则根据最高碰撞位再分裂,把子集分成00和01 2个子集,以此类推,直至识别出子集0中的全部标签,再按步骤查询子集1.

Selection of drainage system based on analytic hierarchy process and fuzzy comprehensive evaluation

从图3中可以看出当标签冲突率达100%,且标签数量达到最大时,动态选择多叉树算法在通讯量上是最少的.当标签长度n为偶数时,四叉树算法和动

  

图1 曼彻斯特编码识别原理Fig.1 Encoding principle of Manchester encoding

2 动态选择多叉树算法

2.1 算法基本思想

1)阅读器发送请求命令Request(p).当第1次发送指令时,p为全1,所有标签回传自己的全部序列号,并且判断当前响应的标签个数.

2.2 算法流程

算法识别标签的大致过程如图2所示,可描述如下:

态选择多叉树算法交互次数相等(此情况下每次响应标签个数均大于2,动态选择多叉树退变为四叉树);当标签长度n为奇数时,动态选择多叉树算法的交互次数明显少于四叉树算法的交互次数.当动态选择多叉树算法在标签长度为2i(i>0的整数)和标签长度2i+1,并且标签数量分别为22i与22i+1时交互次数相等,因为该算法处理冲突时当两个标签只发生一位碰撞时,就能直接识别的缘故.

二叉树算法识别过程中搜索时隙较多,四叉树算法识别过程中空闲时隙较多,本文提出的算法一定程度上克服了以上的不足,算法的基本思想是根据标签响应的个数动态选择多叉树,如果响应的标签个数大于2,根据二进制编码规则,必定发生了2位或2位以上的碰撞,所以选择四叉树;如果响应的标签个数等于2,进一步判断碰撞位的个数,如果碰撞位个数大于1,选择二叉树分解,否则直接识别这2个标签;如果响应的标签个数等于1,则直接识别此标签.

  

图2 算法识别过程Fig.2 Algorithm flow for recognizing tags

2)如果响应标签个数大于2,则采用四叉树分解——4条新的查询码入栈;如果响应标签个数等于2,则进一步判断碰撞位个数,如果碰撞位个数大于1,则采用二叉树分解——两条新的查询码入栈,否则根据二进制位上的取值具有相互排斥特性(非1即0),直接识别2标签;如果响应标签个数等于1,则直接识别该标签.

3)判断栈是否为空,若不为空,则进行出栈操作,以当前出栈的数据为新请求参数p,阅读器发送请求命令Request(p).

每个标签都有唯一的电子编码,假设阅读器作用范围内有5个8位的标签,各个标签的编码分别为10001110、11001001、10011010、11011011、10011001.为了对比识别过程,将分别应用二叉树算法、四叉树算法和改进的动态选择多叉树算法对该5个标签进行识别.二叉树算法、四叉树算法和改进的动态选择多叉树算法对5个标签的识别过程分别如表1~表3所示.

识别该5个标签,二叉树算法需要发送9次请求,四叉树需要发送9次请求,而动态选择多叉树只需发送7次请求.

所谓自主阅读,就是充分调动学生的主观能动性,让学生带着一定的阅读目的,运用一定的阅读方法,让学生通过探索、实践、质疑、创造等方法独立提出问题,分析问题和解决问题,从而实现阅读目标。

2.3 算法示例

4)前缀与请求参数相等的标签响应,回传自己余下的序列号,并且判断当前响应的标签个数,然后跳转到 2) .

为全面深入地考核田陈煤矿选煤厂两段浓缩、两段回收工艺,于2012年1月5日进行了工业性试验。浮选尾煤和中煤、矸石磁选机尾矿是尾煤泥系统的入料,其粒度组成见表1。

严正声明:神矮LS—1矮化砧已由中华人民共和国国家工商行政管理总局商标局注册,2006年被山西省科技厅列为科技攻关项目,每个苹果品种对神矮LS—1矮化砧适应性和敏感程度不同,技术结构极其严谨,其自主知识产权归本中心独家拥有,任何单位和个人未经授权不得宣传、繁殖和销售。为维护品种的合法权益和广大果农的利益,对假冒和侵权者,将依法追究责任及广告部门的连带责任!

5)如果栈为空,所有标签被识别,至此操作结束.

动态选择多叉树识别过程:1)阅读器发送Request全1指令,该次请求下5个标签全部响应,根据最高碰撞位和次高碰撞位确定,4条查询码入栈,分别为1101、1100、1001、1000;2)阅读器发送Request(1000),只有1个标签响应,标签1被识别;3)阅读器发送Request(1001),只有2个标签响应,碰撞位个数为2,确定2条查询码入栈,分别为1001101、1001100;4)阅读器发送Request(1001100),只有1个标签响应,标签5被识别;5)阅读器发送Request(1001101),只有1个标签响应,标签3被识别;6)阅读器发送Request(1100),只有1个标签响应,标签2被识别;7)阅读器发送Request(1101),只有1个标签响应,标签4被识别.至此所有标签全部被识别.

 

表1 二叉树算法识别过程Tab.1 Identification process using binary algorithm

  

第9次1101响应 1x0x1xxx 0x1xxx Tag1识别 10xx Tag5识别 Tag3识别 0x10x1 Tag2识别 Tag4识别Tag 1 10001110 001110 1110 已识别 已识别 已识别 已识别 已识别 已识别Tag 2 11001001 - - - - - 001001 1001 已识别Tag 3 10011010 011010 - 1010 - 0 已识别 已识别 已识别Tag 4 11011011 - - - - - 011011 - 1011 Tag 5 10011001 011001 - 1001 1 已识别 已识别 已识别 已识别第1次11111111第2次10第3次1000第4次1001第5次1001100第6次1001101第7次11第8次1100

 

表2 四叉树算法识别过程Tab.2 Identification process using quadtree algorithm

  

第9次1101响应 1x0x1xxx Tag1识别 10xx 空时隙 Tag5识别 Tag3识别 空时隙 Tag2识别 Tag4识别Tag 1 10001110 1110 已识别 已识别 已识别 已识别 已识别 已识别 已识别Tag 2 11001001 - - - - - - 1001 已识别Tag 3 10011010 - 1010 - - 被识别 已识别 已识别 已识别Tag 4 11011011 - - - - - - - 1011 Tag 5 10011001 - 1001 - 被识别 已识别 已识别 已识别 已识别第1次11111111第2次1000第3次1001第4次10011000第5次10011001第6次10011010第7次10011011第8次1100

 

表3 动态选择多叉树算法识别过程Tab.3 Identification process using dynamic multi-tree algorithm

  

第7次1101标签响应 1x0x1xxx Tag1识别 10xx Tag5识别 Tag3识别 Tag2识别 Tag4识别Tag 1 10001110 1110 已识别 已识别 已识别 已识别 已识别Tag 2 11001001 - - - - 1001 已识别Tag 3 10011010 - 1010 - 0 已识别 已识别Tag 4 11011011 - - - - - 1011 Tag 5 10011001 - 1001 1 已识别 已识别 已识别第1次11111111第2次1000第3次1001第4次1001100第5次1001101第6次1100

3 实验仿真与分析

算法采用Java语言编写,Eclipse平台运行.

仿真实验1:标签的长度n分别为6、7、8、9、10、11、12、13、14比特,标签数量N分别为64、128、256、512、1 024、2 048、4 096、8 192个.标签数量N与标签长度n的关系为N=2n,即标签数量达到该标签长度的最大值,通讯量对比如图3所示.

四叉树算法的基本思想是当产生2位或2位以上碰撞时,将处于冲突的标签直接分成00、01、10、11 4个子集,如果最高碰撞位和次高碰撞位之间存在没有发生碰撞的有效位,将其作为附加参数添加到查询前缀中;当产生一位碰撞时,为了减少搜索次数,加入尾端修正,分别将该位置0、1.

现在,各级各类的班主任工作室建设得红红火火,在选择工作室平台时,要多方考察,基于自我的需求,选择一个工作室并长期坚守。参与工作室研修,以深度卷入的姿态全力以赴,研修不掉队,读书写作不缺席,主动承担项目,主动申请任务。如是,团队研修会为你插上飞翔的翅膀。

  

图3 各算法通讯量对比Fig.3 Contrast in communication amount

仿真实验2:每个标签的长度是20 bit,所有标签的数值大小形成一个从0开始并且连续的自然数序列,标签数量100~800个,交互次数和通讯量对比如图4、图5所示.

  

图4 仿真实验2各算法交互次数对比Fig.4 Comparison of the number of interactive algorithms of simulation experiment 2

  

图5 仿真实验2各算法通讯量对比Fig.5 Comparison of the traffic of each algorithm of simulation experiment 2

仿真实验3:每个标签的长度是20 bit,标签随机生成,标签数量100~800个,交互次数和通讯量对比如图6、图7所示.

  

图6 仿真实验3各算法交互次数对比Fig.6 Comparison of the number of interactive algorithms of simulation experiment 3

  

图7 仿真实验3各算法通讯量对比Fig.7 Comparison of the traffic of each algorithm of simulation experiment 3

从图4~图7可以看出,当标签长度一定时,不论标签是随机生成还是有顺序生成,随着标签数量的增加,各算法在交互次数和通讯量上都在增加,但动态选择多叉树算法在交互次数和通讯量上的增加上是最少的.

从图8、图9中可以看出,在标签长度和标签数量相等的前提下,标签值连续的情况下交互次数和通讯量比标签值不连续的情况下显著减少,因此算法更适合于标签连续的情况.

在进行小型农田水利工程建设质量的优化时,现行水利行政管理部门应针对整个工程的建设环节进行全方位的统筹管理,并科学合理地配置相关资源。在责任划分时,严格按照施工标准及规范内容执行,借以提升项目工程的监督管理力度,为工程的质量提供保障。另一方面,进行小型农田水利工程的建设管理时,应采用专业水平高超的施工技术进行工程后期的施工质量审计验收,并对后续的工程维护工作进行科学指导,借以有效降低工程管理中各类问题出现的概率。

  

图8 标签不同生成规则的交互次数对比Fig.8 Comparison of the number of interactions between tags generated by different rules

  

图9 标签不同生成规则的通讯量对比Fig.9 Contrast in traffic generation for different labeling rules

4 结束语

改进的动态多叉树防碰撞算法可以优化单纯选择二叉树算法的搜索深度大、搜索时隙多,四叉树算法空闲时隙多的情况.根据响应标签的个数动态选择多叉树,而不是根据碰撞位个数,可以避免当2个标签发生多位碰撞而选择四叉树存在2个空时隙的情况.但是本改进算法在3个标签发生两位碰撞的情况下,选择四叉树还是存在一定的空时隙,有待进一步优化.

由于RFID在物流商品以及仓储中得到越来越多的应用,并且往往商品的编码是连续的,改进算法在编码连续的情况下效率更高,因此该改进算法将会在商业发展中有广阔的应用前景.

参考文献:

[1] 王荃,滑楠,张璐,等.基于四元查询树算法的改进防碰撞算法[J].空军工程大学学报(自然科学版),2012,13(6):75-79.

[2] 刘金艳,冯全源.无线射频识别多标签防碰撞算法综述[J].计算机集成制造系统,2014,20(2):440-451.

[3] 郭振军,孙应飞.基于标签分组的RFID系统防碰撞算法[J].电子与信息学报,2017,39(1):250-254.

[4] 付钰,钱志鸿,程超,等.基于分组机制的位仲裁查询树防碰撞算法[J].通信学报,2016,37(1):123-129.

[5] Mustapha Djeddou,Rafik Khelladi,Mustapha Benssalah.Improved RFID anti-collision algorithm[J].International Journal Electronics Communication,2013,67:256-262.

[6] 萧耀友,胡钢,魏钦伟,等.基于二进制树分解的动态防碰撞算法[J].通信技术,2011,1(44):99-101,108.

[7] 江雨,马满福.物联网中RFID位匹配防碰撞算法[J].计算机应用研究,2012,29(1):88-91.

[8] 陆冰清,牛国柱,赵英臣.一种新型RFID动态多叉树查询防碰撞算法[J].制药业自动化,2012,34(8):12-15.

[9] 李忱策,吕俊文,肖荣,等.一种改进的动态二进制树防碰撞算法[J].工业控制计算机,2012,25(1):89-91.

[10]Lai Yuan-Cheng,Hsiao Ling-Yen,Lin Bor-Shen.An RFID anti-collision algorithm with dynamic condensation and ordering binary tree[J].Computer Communications,2013,36(17-18):1754-1767.

[11]Zhang Jia-li,Qin Tuan-fa,Ni Guang-nan.Tree-based backoff protocol for fast RFID tag identification[J].China Post and Telecommunications University Journals:English Version,2013,20(2):37-41.

[12]Shao Min,Jin Xiao-fang,Jin Li-biao.An improved dynamic adaptive multi-tree search anti-collision algorithm based on RFID[C]//International Conference on Data Science and Advanced Analytics IEEE,2015:72-75.

 
冯锦,孙晓晨,周艳聪
《河北工业大学学报》2018年第02期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号