您当前的位置:五五电子网电子知识通信技术射频技术-RFIDFID技术中的防碰撞算法研究 正文
FID技术中的防碰撞算法研究

FID技术中的防碰撞算法研究

点击数:7825 次   录入时间:03-04 11:57:07   整理:http://www.55dianzi.com   射频技术-RFID
    (3)若无标签响应,说明读写器作用范围内无标签存在或者系统可能出现故障,识别流程结束。
    第三步,读写器发送查询前缀。若收到响应且无碰撞发生,则将此查询前缀送入Q;若有碰撞发生,则分别添加左子树和右子树,右子树压入堆栈S,左子树作为新的查询前缀,重复步骤第三步;如无标签响应,则从堆栈S中弹出一个元素作为查询前缀,重复第三步。
    第四步,当读写器成功识别某标签,先与读写器进行通信,然后使标签进入“无声”状态,即此标签不再响应读写器的查询。从堆栈S中弹出一个元素作为查询前缀,重复第三步,直至所有的标签被识别出来。
4.3 改进型算法实例
   
假设系统内有四个待识别的标签,其序列号ID分别为0010、0100、1010、1101。其首次识别过程如表1所列。

e.JPG

   
    首先,读写器发送查询前缀0,标签0010和0100响应,发生碰撞,将0送入堆栈S;添加左子节电00和右子节点01,将01送入堆栈S,以00作为新的查询前缀。读写器发送查询前缀00,此时只有标签0010响应,将查询前缀00送入队列Q;此标签被成功识别,与读写器通信完毕后,进入“无声”状态。从堆栈S中弹出01,作为新的查询前缀,此时只有标签0100响应,将查询前缀01送入队列Q;此标签被成功识别。
    然后再从堆栈S中弹出0,作为新的查询前缀,此时无标签响应,因此读写器以1为查询前缀。标签1010和1101响应,发生了碰撞,将1送入堆栈S;添加左子节点10和右子节点11,将11送入堆栈S,以10作为新的查询前缀。读写器发送查询前缀10,此时只有标签1010响应,将查询前缀10送入队列Q;此标签被成功识别。从堆栈S中弹出11,作为新的查询前缀,此时只有标签1101响应,将查询前缀11送入队列Q;此标签被成功识别。



www.55dianzi.com


    最后从标签中弹出1,作为新的查询前缀,无标签响应,结束识别流程。
    如上所述,通过表1中所列的首轮识别后,队列Q中的查询前缀为[00,01,10,11]。当读写器再次需要识别其作用范围内的标签时,就可直接发送队列Q中的查询前缀,这样,标签能够被快速地识别出来。

5 各种算法的Matlab仿真
   
下面采用Matlab下仿真系统通信量的方法来比较各个算法的效率。在识别相同标签属的前提下占用的比特数越高,则说明其通信量越大,对系统要求越高。

f.JPG

   
    图3和图4均是在标签长度L=8的情况下所进行的仿真结果,其中图3在识别100个标签时,二进制搜索算法通信量约为7 500 b,动态二进制搜索算法通信量约为4 300 b;图4则在识别100个标签时,查询树算法在通信量约为1 3 600 b,改进型算法通信量约为2 100 b情况下的仿真结果。
    依据在标签长度为8 b时所仿真出的图3和图4所示的通信量数据,可以采用相同的仿真方法较容易地得出各种防碰撞方法在不同标签长度下的通信量数据,综合总结如表2所列。

g.JPG

      6 结语

    本文通过对RFID中各种主流防碰撞方法的思想、实现及算法的研究,提出了相应的改进型算法,并对算法进行了详细的说明。之后,对所有算法的实现进行了Matlab仿真,证实了改进型算法相较其他算法的优越性。仿真证明,在标签长度较短的情况下,该算法可以表现出极其优越的性能。但是,该算法亦有它的不足,在单个标签长度较长的情况下,该算法的通信量急剧上升。所以,在算法的通信冗余度方面还有进一步优化的必要。



上一页  [1] [2] 


本文关键字:技术  射频技术-RFID通信技术 - 射频技术-RFID