190 likes | 433 Views
Adaptive Channel Hopping Algorithm for Reader Anti-collision in RFID systems. RFID 系统阅读器反碰撞 自动跳频算法. 摘要. 在 RFID 里,当频带和和信道带宽较小时,相邻的信道很容易互相干扰。特别是当阅读器数比信道数多的密集阅读器环境里,阅读器之间就更容易发生碰撞。本文提出一个应用在密集阅读器环境里避免阅读器碰撞的算法。首先介绍算法的操作,再给出算法的仿真结果。仿真结果表明我们提出的算法比 LBT 算法有所提高。 Keywords-RFID,anti-collision,LBT. 1 .引言.
E N D
Adaptive Channel Hopping Algorithm for Reader Anti-collision in RFID systems RFID系统阅读器反碰撞 自动跳频算法
摘要 • 在RFID里,当频带和和信道带宽较小时,相邻的信道很容易互相干扰。特别是当阅读器数比信道数多的密集阅读器环境里,阅读器之间就更容易发生碰撞。本文提出一个应用在密集阅读器环境里避免阅读器碰撞的算法。首先介绍算法的操作,再给出算法的仿真结果。仿真结果表明我们提出的算法比LBT算法有所提高。 • Keywords-RFID,anti-collision,LBT
1.引言 • 一些国家里,分配到RFID的带宽非常有限,如果信道数目比较小而阅读器数目比较大,阅读器之间就很容易发生碰撞。为了解决这个问题,我们先分析现在的应用在多阅读器环境里的算法,再研究出一个算法去避免碰撞。另外我们需要研究出一个仿真器,来评测算法的性能。 • RFID系统可分为三个环境:(1)单阅读器模式(2)多阅读器模式(3)密集阅读器模式,随着RFID越来越多地应用于各种环境,在密集阅读器模式中保持高性能是比较重要的。本文提出来一个RFID阅读器反碰撞算法,减少阅读器之间的碰撞。这个算法在密集阅读器环境中特别有用。
2.相关工作 • 我们提出的算法基本上结合了LBT(先听后说),LBT是一个随机退避机制、一个随机跳频方法。为了获取信道,阅读器可以执行LBT。LBT是一个CSMA协议,它在通信之前先侦听信道的载波。如果一个阅读器在执行LBT检测到信道是空间的,它就可以通过与其它阅读器相竞争而占据信道。如果检测到信道繁忙,则阅读器重新执行LBT直到信道空闲。如果两个以上的阅读器检测到同一个信道,其中的某些阅读器有可能会发生碰撞,因为它们在LBT之后在同一时间尝试把数据包发送出去。为了避免阅读器碰撞,我们在LBT检测到信道空闲后应用了一个随机退避机制。仿真结果表明LBT后的随机退避显著地减少了阅读器碰撞机率。
2.相关工作 • A.CSMA协议 • 在LBT算法里,阅读器选择一个信道,然后检查它是否被其它阅读占用。如果信道被占用了,阅读器再选择另外的信道。LBT是基于CSMA(载波侦听多路存取)的,它先对信道进行侦听。当一个阅读器要通过CSMA发送数据,它要先感应信道,检查信道是否被占用。如果阅读器判断到信道空闲,就把数据通过那个信道发送出去,如果判断信道被占用,阅读器就会在随机的时间后再对重新感应这个信道。 • 在非坚持模式里,如果阅读器检查到信道繁忙,就会在随机时间后再检查信道是否被占用。在1级坚持模式,阅读器会一直检测直至信道空闲,然后立刻发送出数据。这里如果两个以上的阅读器检测同一个信道,碰撞就经常发生。在P级坚持模式里,当阅读器检测到信道繁忙,它同样监测信道直到信道空闲。当信道空闲时,每个阅读器由P(0<P<1)决定信道的占用可能性。当所有阅读器决定不去用这个信道,它们就会在一个小时延后再次检测信道被占用的可能性。当两个以上的阅读器监测同一个信道时P级坚持模式可以减小碰撞的几率。
2.相关工作 • B.随机退避机制 • 提出的算法通过执行基于CSMA的LBT算法和随机退避算法,减小了密集阅读器模式下的碰撞几率。随机退避机制防止由同时访问同一信道引起的碰撞,它在等待一个随机的时隙后通过竞争将数据发出去。选择最小时隙长度的阅读器可以占用信道。在竞争中失败的阅读器在下一次竞争中可以优先把时隙减小。图1为算法的4个阶段,第一阶段阅读器选择要使用的信道,第二阶段阅读器感应被选择的信道,执行LBT,然后决定信道是否繁忙,第三阶段决定是跳频还是停留在同一个信道里,最后阶段阅读器占用信道并最终把数据发送出去。我们将在下面章节里详细说明这个过程。
3.算法 • 3.1信道选择阶段 • 阅读器应该选择一个用来与标签进行通信的信道。该算法里,基本上阅读器在传输之后就会跳到其它信道。当信道被其它阅读器占用,该阅读器就会根据机率跳转到其它信道。我们在后面解释怎样得到跳转机率。基本上由阅读器跳频选择到的信道是随机的,不过简单地随机选择信道并不有效。这是因为当信道占用率很高时,阅读器为了找到空闲的信道可能会执行大量的跳频操作。如果阅读器随机地跳频,就会对相同的信道检查多次。更有甚者,如果全部信道都繁忙,则阅读器不会找到空闲的信道,而会重复地在繁忙信道之间进行跳频。为了解决这个问题,我们设定一个跳频序列,阅读器按照这个序列进行跳频。这个跳频序列当阅读器进行第一次跳频时就会产生。使用这个机制后,可以解决阅读器重复地跳到同一信道的问题,它只对所有信道只检查一次。如果阅读器在跳频序列中没有找到空闲的信道,它就会停留在当前信道上,再尝试占用这个信道。
3. 算法 • 3.2信道感应阶段 • 在阅读器跳转到所选择的信道后,它会执行LBT对信道进行感应。LBT基于无线设备标准,它会被执行5ms,因为阅读器至少需要5ms来判断信道是否繁忙。根据判断方法可分为两种机制。在后面章节里解释这两种机制。
3.算法 • 3.3跳频及信道占用准备阶段 • 3.3.1跳频机率的应用 • 当阅读器通过感应信道判断到信道繁忙时,这步就会被采用。有两种方法。 • 第一种方法是阅读器等待当前信道直至信道空闲。这种情况下,这个阅读器必须等待占用信道的阅读器完成传输,如果此时其它信道空闲的机率比较大的话,单独等待一个信道没有效率,而且在等待后再与其它阅读器竞争失败的话,等待时间就会变得很长。因此让阅读器不分情况地等待是没效率的。 • 第二种方法,阅读器可以跳频。阅读器之所以随机地跳转到其它信道,是因为它不知道其它信道的信息。如果其它信道的空闲机率较大的话,跳转到其它信道是一个好的选择;但如果跳频消耗的时间较多而其它信道空闲的机率不大,阅读器就很难找到空闲的信道,就会在一直跳频。因此,不分情况的跳频也是没效率的。
3.算法 • 如上所述,不分情况的等待和跳频都不是有效的方法,如果我们根据情况来选择其中的方法,就会执行得更好。这就是我们为什么计算信道繁忙时的跳频机率的原因。为了计算跳频机率,我们需要知道每个信道的阅读器密度。 • 当信道阅读器密度大于1,我们称之为密集模式。此模式下阅读器通过竞争占用信道的成功机率相对比较低,就算阅读器进行跳频,空闲信息还是比较少。在这种情况下,等待当前信道比跳频要好。因此在密集模式里我们设跳频机率为低。
3.算法 • 因此用信道密度来动态决定跳频机率是有好处的。在本文中,我们用两个参数来估计信道的密度。一个是退避竞争成功率,用CLP(i,n)表示,另一个是信道占用率,用U(i,n)表示。本文中HP(跳频机率)与这两个参数的关系如下式所示。图2是算法应用的例子。
3.算法 • 3.3.2使用信道 • 当阅读器判断到信道空闲时,执行一个随机退避算法。每个阅读器用退避机制来防止在同一时间内进入信道而产生的碰撞。但如果没有那么多阅读器进行竞争,或者退避窗口长度太大,这又是没有效率的。因此需要根据信道占用率来动态决定退避窗口的长度,然后再执行退避算法。BWS(退避窗口长度)如下式所示
4.仿真 • 1)参数 • 我们通过仿真比较该算法与基本LBT算法的的性能。参数设置如表1所示。
4.仿真 • 2)我们比较通过计算吞吐量和等待时间来比较这两种算法的性能。所有阅读器的信道命令时间用G表示。 • -吞吐量 • 如图3、图4所示,当G增大时,吞吐量线性增大,但当阅读器数据为4时,因为阅读器的碰撞和有些信道没被利用,基本的LBT算法的吞吐量没有超过59%。当阅读器增加到8个时,吞吐量增大到80%。而我们提出的算法,不管阅读器有多少,吞吐量可以增大到80%,没有达到90%是因为感应开销、跳频开销和一些阅读器的碰撞。尽管如此,我们的算法还表现出更好的吞吐量性能,特别是当阅读器数目不是很大时。
4.仿真 • -等待时间 • 图5至图8为当G为0.4 and 0.7时等待时间的积累分布。当G为0.4时,用我们的算法,3秒内的比率小于95%,用基本算法,15秒内的比率大于98%。当G为0.7时,等待时间要比G为0.4的要高,因为信道命令时间导致阅读器的竞争,此时我们的算法比基本LBT算法用的等待时间要少。 • 因此以上仿真结果表示我们的算法比基本LBT算法所用的等待时间明显小得多。当G为其它值时,我们会得到相似的结果。
5.结论 • 我们提出一个适用于密集模式和稀疏模式的RFID反碰撞算法。。在仿真中,当有4阅读器4信道时,该算法和LBT算法的吞吐量分别为80%和59%;当有8阅读器4信道时,吞吐量分别为88%和80%。当G为0.7时,LBT算法等待时间大于10秒而我们的算法小于3秒。 • 因此,该算法与现在的LBT算法相比,显示出更好的性能。但这只是前期工作得出的结果,我们需要进一步研究来得出更好的结果。