老哥学习网 - www.lg9.cn 2024年05月14日 19:49 星期二
当前位置 首页 >诗词歌赋 >

RFID中基于动态二进制的改进树型搜索算法及其实现|iphone动态壁纸怎么弄

发布时间:2019-01-17 19:40:36 浏览数:

  【摘 要】RFID技术作为物联网应用的核心关键技术,已经普及到生产和生活的各个领域,而如何提高RFID系统防冲突能力,减少总识别时间已成为当前急需解决的关键。本文提出的基于动态二进制的改进树型搜索算法通过简化阅读器发送的指令和冲突检测过程,并利用栈来保存已经被阅读器接收到的标签EPC数据,能最大化的降低阅读器与标签之间的通信量,有效的提高标签的识别速度。仿真结果表明,相比于常规的确定性标签防冲突算法,该算法显著提高了性能,尤其在待识别标签数量较大的情况下,具有良好的应用前景。
  【关键词】RFID;物联网;防冲突;树型搜索;EPC
  
  引言
  随着由物联网引领的第三次全球信息化产业浪潮的不断推进,RFID(射频识别)技术已成为制造全球化、贸易全球化和物流全球化的核心推动力。无线射频识别技术(Radio Frequency Identification,RFID)是一种利用无线射频方式在阅读器和标签之间进行非接触双向数据传输,以达到目标识别和数据交换目的的技术[1]。由于其具有非接触识别、可识别高速运动物体、抗恶劣环境、保密性强、可同时识别多个识别对象等优点,射频识别技术已成为当今自动识别数据收集行业发展最快的一种技术,目前其在交通管理、仓储管理和生产线自动化管理等诸多领域得到了越来越广泛的应用。
  在RFID系统中,当有多个电子标签进入一个或多个阅读器感应区域的时候,阅读器与多个电子标签的同时通信会使得无线通信信号互相干扰,以致阅读器无法接收到正确的信息,这种情况一般称之为“冲突”或“碰撞”等。为了避免冲突的影响,RFID系统定义了一系列当冲突发生时的操作,而基于这些操作的方法就是防冲突算法[2]。
  一、典型防冲突算法
  对于要求低复杂度、低功耗以及低成本的RFID系统,最为通用的防冲突机制是时分多址复用(TDMA)。目前流行的两类标签防冲突算法,主要包括随机性算法中的纯ALOHA、时隙ALOHA、动态帧时隙ALOHA算法等,确定性算法中的二进制树型搜索算法、BBT算法、QT算法等[3]。随机性防冲突算法由于随机性大,当大量标签读取时,帧冲突严重,正确率难以达到100%。相比而言,确定性防冲突算法的识别精度和识别效率有较大提高,因此被广泛应用。本文主要研究和分析基于TDMA的确定性防冲突算法,但是目前的二进制算法由于存在较大的通信量和识别延时,因此有进一步改进的空间,本文的动态二进制的改进树型搜索算法便是为此而改进设计的。
  二、确定性标签防冲突算法
  确定性标签防碰撞算法是以阅读器为主动控制器,进入射频场的所有标签同时由阅读器进行控制和检查。阅读器依据标签的ID号首先向标签发射不同的询问信号或指令,阅读器根据冲突的信号,按照二叉树深度优先搜索的思想,逐步缩小搜索范围,搜索符合条件的标签,直到找到规定的射频标签。该方法杜绝了随机性算法中的标签“饿死”的情况,具有100%的高识别率[4]。最典型的是二进制树型搜索算法,在此基础上,又出现了逐位比较的二进制树搜索算法[5](Bit-by-Bit Binary Tree Algorithm,BBT),问询树算法[6](Query Binary TreeAlgorithm,QT)等。
  1.二进制树型搜索算法
  二进制树型搜索算法中为了能辨认出阅读器中数据碰撞的比特位的准确位置,采用的是Manchester编码[1],该编码约定逻辑‘1’表示发送信号由1到0的转变即下降沿跳变,而逻辑‘0’表示发送信号由0到1的转变即上升沿跳变。若无状态跳变,视为非法数据,作为错误被识别。当两个或多个标签同时返回的某一数位有不同的值,则接收到的上升沿和下降沿相互抵消,以致出现“没有变化”的状态,阅读器由此可判断该位出现了碰撞。假设标签1和标签2的ID分别是0716051403021110和0706151413020110,利用曼彻斯特编码能按位识别出碰撞位的示意图如图1所示。由于标签1和2是同时传送其数据,利用曼彻斯特编码阅读器解码为07X6X514X302X110,于是阅读器检测出1th,3th,5th和6th出现碰撞。
  二进制树型搜索算法是由一个阅读器和多个电子标签之间规定的相互作用(命令和电子标签)顺序(规则)构成,根据电子标签的序列号大小,按从小到到大的顺序依次将所有标签识别出来。
  2.BBT算法
  采用BTT算法的标签内部都设有一个指针,初始时指针指向标签识别码的最高比特位,所有标签处于休眠状态。在每一个查询轮次,阅读器首先激活所有未识别的标签,然后发送一个查询比特0,要求所有标签返回其序列号的最高位。若标签指针指向的比特和阅读器查询比特相同,则发送它识别码的下一个比特,否则标签就进入休眠状态而不再参与接下去的查询。若阅读器检测到标签的响应没有冲突,则把接收的比特作为下一步的查询比特,否则,就用1作为下一步的查询比特。当某个标签的指针指向识别码的最低位,则表明一张标签被识别,从而一轮识别过程结束。而其他标签被重新激活,指针被重置,新的一轮循环开始。
  3.QT算法
  QT算法中阅读器维持了一个前缀,阅读器用这个前缀来问询标签,记为q1q2…qi,只有识别码的前缀与这个问询前缀相匹配的标签才响应并发送其识别码的剩余比特qi+1…qj…qend,其它不匹配的标签自动进入休眠状态,等待下一次查询命令。当只有一张标签响应时,阅读器成功识别标签。若有多张标签响应则发生冲突,则分别增加0和1到阅读器的前缀中,然后更新问询前缀为q1 q2…qi…qi0和q1 q2…qi…qi1,开始下一次查询。整个识别过程从问询前缀0和1开始,通过重复问询,直到识别出所有标签。
  三、改进的动态二进制树型搜索算法
  二进制树型搜索算法是基于确定性策略的,只要时间足够,识别精度可达100%,因此识别时间的长短就成为了评价其性能优劣的重要标准。基于动态二进制的改进防碰撞算法简化了阅读器发送的指令和冲突检测过程,并采用动态方式传输标签数据。
  (一)改进的动态二进制树型搜索算法特点
  该改进算法中每个标签都有二个计数器flag和count,flag是表示标签是否被屏蔽的标志位,为0表示没有被屏蔽,可以响应阅读器的命令,传送从计数器count指向的对应位开始的EPC(电子产品代码)数据,大于零则表示标签被屏蔽,不响应阅读器的命令。同时保留了动态调整二进制算法中的后退策略,当只检测到一位碰撞位时直接识别两个标签,与目前的二进制搜索算法相比具有以下一些特点。
  (1)阅读器每次发送的指令为上一次搜索过程中标签第一次碰撞的位置,减少了指令长度。
  (2)阅读器检测到有2次比特位发生冲突时即停止接受标签传送的数据。该算法只需接受3个数据比特后(0XX)就立刻对标签冲突做出处理,这样有效的减少了标签的识别延时和阅读器与标签之间的通信量。
  (3)阅读器利用栈stack和string来保存已经被阅读器接收到的标签数据,因此每次搜索中标签只需传送部分数据,减少了大量的传输时间。
  (二)改进的动态二进制树型搜索算法描述
  该算法是应用于RFID的防碰撞算法,算法的实施依赖于阅读器与标签,因此下面分两部分描述算法的详细流程,初始状态栈stack和string均为空,标签的EPC为n位,每个标签的计数器flag和count均为0。算法中符号EPC(i,j)表示标签传送从ith到jth比特的EPC数据位。‘+’表示连接的操作,例如0110‘+’1010=01101010。
  阅读器部分的算法流程:
  1.设置初始值t=n-1,Push t into T(将t入栈T),进入标签搜索过程。
  2.While栈T不为空
  {
  (1)t=Pop(T)取出栈顶元素,Request(t)发送请求命令
  (2)接收标签的应答并检测冲突
  (3)if有2位冲突碰撞
  {
  1)Push t into T当前t参数入栈
  2)获取第一次碰撞发生的位置s。t=s,将t入栈T。
  3)Push string‘+’EPC(count,
  s-1)‘+’1 into stack
  保存被屏蔽标签比特位到栈stack
  4)string=string‘+’EPC(count,s-1)‘+’0
  保存未被屏蔽标签比特位
  }
  else if只有一位冲突碰撞
  {
  5)标签ID1=string‘+’EPC(count,s-1)‘+’0‘+’EPC(s+1,n-1)
  识别标签
  6)标签ID2=string‘+’EPC(count,s-1)‘+’1‘+’EPC(s+1,n-1)
  识别标签
  7)string=Pop(stack)取出被屏蔽标签比特位
  8)选择标签,读取数据后去选择
  }
  else
  {
  9)标签ID=string‘+’EPC(count,n-1)无冲突发生,识别标签
  10)string=Pop(stack)取出被标签屏蔽比特位
  11)选择标签,读取数据后去选择;
  }
  }
  标签部分的算法流程:
  switch阅读器发送的命令
  {
  1.case Request(t):请求命令
  (1)if t==n-1
  所有未被去选择的标签传送比特位EPC(count,n-1)
  else
  {
  (2)if t+1>count且flag==0
  count=t+1;
  (3)if标签第t比特位为0且flag==0
  传送比特位EPC(count,n-1);
  (4)else flag++;
  }
  break;
  2.case Select(EPC):
  if(flag>0)flag--;标签被识别后被屏蔽的标签flag值减――
  break;
  }
  (三)改进的动态二进制树型搜索算法性能分析与比较
  我们假设标签EPC长度是64,每个标签的EPC值是随机分配的。阅读器和标签的数据传输速率均为40Kbps,tdelay为20μs,一个空闲时隙为40μs。从算法的通信量和识别时间两个方面与QT算法、动态调整二进制算法、BTT算法进行比较,并通过计算机软件对系统仿真分析,仿真结果如图2和图3所示。
  从图2可以看出,改进算法随着标签数量的增加,信息量节省越加明显;由图3中的仿真结果可见,改进算法在识别效率上也明显优于其他二进制搜索算法,这正是改进算法对信息量优化的结果。
  四、结束语
  射频识别系统是一个不小的系统工程,要考虑相当多的因素。RFID中基于动态二进制的改进树型搜索算法着重减少阅读器与标签之间的通信量,从而有效提高标签的识别速度。仿真结果表明,算法性能优于目前的二进制搜索算法。由于标签内部没有电源,就要求标签消耗的能量尽量小,即最小化标签和读写器间的传递信息。本文提出的改进算法较好地降低了标签与阅读器之间的通信量,减少了标签的功率消耗。在标签中设置计数器的成本很低,采用本算法是有实用价值和可行的。
  参考文献:
  [1]宁焕生.RFID重大工程与国家物联网[M].北京:机械工业出版社,2010.
  [2]K.Finkenzeller,RFID Handbook:Radio-frequency identification fundamentals and applications.Second edition,UK:John Wiley and Sons Ltd,2003.
  [3]朱晓荣,齐丽娜,孙君等.物联网与泛在通信技术[M].北京:人民邮电出版社,2010.
  [4]江岸.无线射频识别系统中防碰撞问题的研究[D].武汉:计算机与通信学院,2010.
  [5]陈博.一种类二进制搜索的RFID系统防碰撞算法及其实现[J].电子器件,2006,29(1):286-289.
  [6]Kashif Ali,Hossam Hassanein,Abd-Elhamid M.Taha.RFID Anti-collisionProtocol for Dense Passive Tag Environments.In:Proceedings of the 32ndAnnual IEEE Conference on Local Computer Networks.Dublin,2007,819-824.
  
  基金项目:四川省教育厅科研基金资助项目(11ZB095);四川理工学院国家培育项目资助(2011PY05);人工智能四川省重点实验室开放基金项目(2011RYY06)。
  
  作者简介:陈超(1980―),男,四川资中人,电子科技大学硕士研究生,讲师,中国计算机学会会员,主要研究方向:网络安全技术及应用、物联网安全技术及应用。

推荐访问:树型 算法 改进 动态

相关文章:

Top