我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 争用 >

RFID中解决无线信道争用问题的防碰撞算法研究

归档日期:06-06       文本归类:争用      文章编辑:爱尚语录

  的实现进行了Matlab仿真。结果证实:改进后的算法相较其他算法在标签长度较短的情况下,可以表现出极其优越的性能。

  RFID系统主要由读写器和射频卡两部分组成,它们之间可以通过无线方式进行通信。其中,射频卡中存储了需要识别、交互的数据,并且可以实时写入或擦除。RFID系统工作时,若有多个电子标签同时在同一个阅读器的作用范围内向阅读器发送数据,则往往会出现信号的干扰,这个干扰就被称为碰撞,其结果将会导致此次数据传输的失败,因而必须采用适当的技术防止碰撞。最近,有人提出了动态二进制搜索法、跳跃式类二进制搜索法等二进制防碰撞算法的改进算法。国际上广泛应用的防碰撞算法是ALOHO法和二进制搜索法及对这两种算法的改进方法,如时隙ALOHO法、动态二进制搜索法、后退式二进制法搜索等。其中,动态二进制法是国际标准所推荐的防碰撞方法。就此,本文提出了一种二进制搜索法的改进型算法。

  二进制搜索算法又称为二叉树搜索算法。由于它要求能够在阅读器中确定数据碰撞位的准确位置,因此,必须要有合适的位编码法。曼彻斯用上升沿表示0,用下降沿表示1,在数据传输过程中不允许“没有改变”的状态。如果采用ASK调制方式,当多个电子标签同时发送的数据位值不同时,则对应的曼彻斯的上升沿和下降沿相互抵消,造成一种错误的状态,从而可以确定碰撞位置。假设有两个编码为8位的电子标签,利用曼彻斯特编码识别碰撞位的原理如图1所示。阅读器检出的碰撞位为D6位和D5位。

  一般情况下,二进制搜索算法必须先能辨认出阅读器中数据冲突的确切位置,这一点是下面算法的基础。这里主要对以下几个命令以及原理流程进行简述:

  REQUEST(某序列号Q):如果标签序列号小于或等于Q,则该标签进入识别状态,将发自己的序列号给阅读器,否则处于等待状态;

  SELECT(某序列号Q):如果标签序列号等于Q,则该标签进入选中状态,否则继续等待识别;

  UNSELECT:取消前选中标签,该标签进入静默状态,待所有标签完成通信或者该标签重新入场后,才能进入等待状态。

  阅读器和标签之间的通信次数决定了识别速度。从众多标签中识别出一个标签的平均通信次数为L。在二进制搜索算法中,我们知道:

  当标签数目很多的时候,由于每次独立识别浪费了大量通信次数,算法总的通信次数必然会增长很快。二进制搜索算法还有一个很明显的弱点:阅读器发送给每个标签的比较序列,其实有用的信息只包含在高于上次碰撞位X的高位之中,低于碰撞位的通信产生冗余。

  前面所述的二进制搜索算法,每次搜索都需要完整的传输标签的序列号ID。但在实际应用中,标签的序列号长度不再像前所述那样为8位,而可能是长达10个字节甚至更大的规模。这样采用BS算法,RFID系统标签的传输量将大增,为此动态二进制搜索(DBS)算法应运而生。D BS算法是IS014443A这一国际标准所推荐的防碰撞算法。序列号ID中的全部信息对于成功识别出标签不是不可或缺的。根据编码规律可以去掉序列号中的冗余信息,留下有用的信息传输。通过观察上面BS算法实例中标签的识别过程可知:命令中的碰撞位及其低位因为总是被置位为1,不包含有用的信息,这样就不要传输;标签应答的序列号最高位至碰撞位是已知的前缀信息,不包括补充信息,也不需要传输。由上面的分析可知,序列号ID中的冗余部分是不需要传输的。可以将DBS算法由双向的完整传输加以改进,只传输部分有用信息。Request命令中,读写器只需以要搜索的序列号ID的碰撞位至最高位部分为参数。所有相应位与此命令中参数相符的标签,则传输序列号的碰撞位以下部分作为应答。

  与BS算法的命令相比,DBS算法的命令做了一些改进:主要是DBS算法把第一个命令改成Request(IDn-x,X)。读写器发送参数IDn-x(ID的N-X位)给作用范围内的所有标签,相应位与IDn-x符合的标签做出响应,返回剩余的位信息。其余三条命令与前面所述BS算法一致。

  DBS算法与BS算法的规则相同,所以两者重复操作的过程也相同。因此,DBS算法的总搜索次数为:

  DBS算法在识别过程开始时,即算法的第一步,工作范围内的标签是需要传输整个序列号的;在这之后的识别过程中,标签只需要传输ID的有用部分位。整个识别过程平均下来,DBS的信息量只有BS算法的一半。DBS算法中,标签要传输的数据量和所需时间比起BS算法减少了近50%。

本文链接:http://textandcandy.com/zhengyong/58.html