260 likes | 418 Views
An Anti-Collision Algorithm for Active RFID. 摘要 RFID 一种被广泛应用的自动识别技术。有源 RFID 系统比无源 RFID 系统在远距离应用中有更多的优势,但有源系统也会遇到碰撞问题。在对比主要防碰撞算法的基础上,提出了改进的防碰撞算法 DCMA 。设计该算法并进行仿真,最终在有源 RFID 硬件平台上对该算法进行测试。仿真结果表明,有源系统的 DCMA 算法具有低功耗的优点。
E N D
摘要 RFID一种被广泛应用的自动识别技术。有源RFID系统比无源RFID系统在远距离应用中有更多的优势,但有源系统也会遇到碰撞问题。在对比主要防碰撞算法的基础上,提出了改进的防碰撞算法DCMA。设计该算法并进行仿真,最终在有源RFID硬件平台上对该算法进行测试。仿真结果表明,有源系统的DCMA算法具有低功耗的优点。 Abstract—RFID is a popular automatic identificationtechnology currently, which will have large opportunitiesin the future. Active RFID system has more advantages inlong distance applications than passive RFID system, but it is also in face of the collision problem when many cardswork together. On the basis of comparing today’s mainlyused anti-collision algorithms, an improved anti-collisionalgorithm (DCMA) is proposed for the active RFID in this paper. The algorithm is designed and simulated, andfinally tested in an active RFID hardware platform. Thesimulation shows the low power advantage of the DCMAalgorithm in the active RFID system.
1.简介 RFID是一种根据无线电信号获取信息的自动识别技术,80年代,随着LSI技术的出现,射频识别系统的规模缩小,使得RF技术可以在实际应用中被广泛推广。使其发展成为IT领域一个成熟的并且越来越受欢迎的技术。 RFID (Radio Frequency Identification) is a kind oftechnology to acquire information by radio signal identifyingobject automatically. In the 1980s, as the result of LSI technology, the size of RF identification system is reducedwhich pushes the RF identification technology into practicalapplication. It becomes a mature technology and a popularresearch direction in IT.
根据能量和调制方式的不同,可以将RFID系统分成两类:有源RFID系统和无源RFID系统。有源RFID系统由标签中的电池为标签提供能量,无源RFID标签从阅读器通过天线发送的无线电波接收能量。有源系统可以支持更远距离的通信,其通信范围可以达到30米,使其在很多应用领域都很有优势,如机动车识别系统,门禁系统等根据能量和调制方式的不同,可以将RFID系统分成两类:有源RFID系统和无源RFID系统。有源RFID系统由标签中的电池为标签提供能量,无源RFID标签从阅读器通过天线发送的无线电波接收能量。有源系统可以支持更远距离的通信,其通信范围可以达到30米,使其在很多应用领域都很有优势,如机动车识别系统,门禁系统等 According to power and modulation modes, there are two types of the RFID system: the active RFID system and the passive RFID system. The active RFID tag is powered by battery in the tag, and the passive RFID tag can receive power from the magnetic energies which are transferred by the reader by antenna. The active RFID system can support a longer distance ranging up to thirty meters, which will have advantages in a lot of area like the vehicle identification system, attendance check system etc.
RFID系统设计的关键一步就是防碰撞算法的设计。本文,设计了一种新的防碰撞算法,并将其与现存的算法做了对比。低功耗是RFID系统设计的另一个关键问题,不仅与硬件有关,还与算法有关,本文提出的算法主要解决如何降低功耗的问题。RFID系统设计的关键一步就是防碰撞算法的设计。本文,设计了一种新的防碰撞算法,并将其与现存的算法做了对比。低功耗是RFID系统设计的另一个关键问题,不仅与硬件有关,还与算法有关,本文提出的算法主要解决如何降低功耗的问题。 A key step for the design of RFID is the design of anticollision algorithm. We are not restricted by the existent anticollision algorithm due to irreplaceable advantages and activeness in anti-collision algorithm of active RFID. In this paper, we design a new algorithm on comparing the existent ones and we simulate this new algorithm and also implement it in active RFID hardware platform. The low power design is the other key problem that relates not only to hardware but also to the algorithm. The anti-collision algorithm proposed will focus on low power consumption.
2.算法总述 目前主要的放碰撞算法有:ALOHA,CSMA/CA,TDMA,FDMA,CDMA.他们都有各自的特点,并且应用在不用的环境中。但是大多数的算法是基于有物理监听功能的平台。 在设计有源RFID系统时,如果系统有物理监听功能的话,我们可以直接采用CAMA/CA协议来避免碰撞。当数据包的长度段时,我们采用基本的CSMA/CA协议,如果数据包的长度很长,我们就结合有RTS/CTS的CSMA/CA协议。对于硬件无物理监听功能的系统,主要的防碰撞算法是ALOHA算法和CSMA/CA带有虚拟监听功能的RTS/CTS。 The current main anti-collision algorithms are: ALOHA、 CSMA/CA、TDMA、FDMA、CDMA. They have respective features and are applied in different situation. But most algorithms are based on the hardware system which has physical monitoring function. When designing active RFID system, we can directly adopt CSMA/CA protocol to avoid collision if the system has physical monitoring function. We can adopt basic CSMA/CA if the length of data packet is short, or the CSMA/CA algorithm with RTS/CTS if the data packet is long. As the hardware system without physical monitoring function, the main anti-collision algorithms are ALOHA and CSMA/CA only with virtual monitoring function of RTS/CTS.
ALOHA算法适合传输短数据包,不适合传输长数据包。一旦数据包的长度较长时,碰撞就会显著的增加,信道利用率降低,同时功耗也会增加。ALOHA算法适合传输短数据包,不适合传输长数据包。一旦数据包的长度较长时,碰撞就会显著的增加,信道利用率降低,同时功耗也会增加。 带有虚拟监听功能RTS/CTS的CSMA/CA有两个主要的缺点,第一,功耗高。第二,信道利用率低。 我们设计改进的算法—DCMA(双信道多路径)DCMA适合没有物理监听功能,需要传输长数据包的系统。DCMA的第一个优点是:在准备阶段,客户处于断开电源状态。第二个优点是新加入系统的标签不会发生数据包的冲突。 ALOHA algorithm is fit for the transmission of short data packet, but not for long data packet. Once the packet is long, the collisions are increasing obviously and the channel utilization rate is decreased following the increase of power consumption. The CSMA/CA just with virtual monitoring function of RTS/CTS has two big shortages: first, in backoff period, the client is in receiving condition which augments power consumption; second, the new client added to the system of which RTS may collide with data packet, reduces the channel utilization rate. So, we design the improved algorithm---DCMA (Dual channels multiple access). DCMA is fit for the system without physical monitoring function and also fit for the transmission of long data packet. The first advantage of DCMA is that when in backoff period, the clients are in power down mode which reduces power consumption. The second advantage is that the new client added to the system will not collide with the data packet.
3. 算法 文中提出的算法优点的关键在于采用了两个频率的信道,分别作为数据信道和控制信道。通过这种方法就可以分别发送虚拟的监测信号RTS和CTS,和数据信号,如DATA和ACK。 首先,阅读器和所有的标签用信道1,即控制信道。每一个标签在开始发送数据包之前都有一个二进制的等待时间,发送数据包之前,标签处于睡眠模式。在等待时间过后,标签开始发送RTS,其中包括了数据包的长度信息。当阅读其接收到RTS,就返回一个CTS给相应的标签。 The key advantage of this protocol is the using of two frequency channels which are identified as data channel and control channel, in this way we can transmit virtual monitoring signals such as RTS and CTS and data signals such as DATA and ACK separately.
At first, the host and all clients use frequency channel 1which is called control channel. Every client will have a binaryexponential backoff before they start to send packets, duringthe time, the clients are in sleep mode before sending. Afterbackoff time, clients start to send RTS which includes thelength information of the packet. When the host receives aRTS, it will return a CTS to the corresponding client. As soon as host returns a CTS, it will switch its frequencychannel to channel 2 which is called data channel, waiting forthe DATA packet sent by client. Much like the host, when theclient receives a CTS, it will switch its frequency channel to channel 2 to send DATA packet. In this period both the datapacket and the confirm signal ACK will be transmitted inchannel 2. Once upon DATA transmission is completed, hostwill return an ACK to the client, then host will switch back to channel 1 for the RTS from a next client. The client that hasreceived ACK will switch back to channel 1 and go to sleepmode, waiting for next round.
一旦阅读器发送了一个CTS,就会转换频率到第二个信道,即数据信道,等待由标签发来的数据包。与阅读器相似,当标签接收到一个CTS,它就转换频率到信道2向阅读器发送DATA数据包。在这一阶段,数据包和确认信号ACK都在信道2中传输。一旦数据传输结束,阅读器就会返回ACK给标签,阅读器再次回到信道1,继续阅读下一个标签。接收到ACK的标签回到信道1,转入睡眠状态,等待下一个周期。一旦阅读器发送了一个CTS,就会转换频率到第二个信道,即数据信道,等待由标签发来的数据包。与阅读器相似,当标签接收到一个CTS,它就转换频率到信道2向阅读器发送DATA数据包。在这一阶段,数据包和确认信号ACK都在信道2中传输。一旦数据传输结束,阅读器就会返回ACK给标签,阅读器再次回到信道1,继续阅读下一个标签。接收到ACK的标签回到信道1,转入睡眠状态,等待下一个周期。 对于没有收到CTS的标签,就会进入睡眠状态继续等待,等待的时间间隔由二进制等待时间算法决定。当它们醒来时,它们再次发送RTS,当突然有一个标签开始发送RTS时,这个RTS不会与传输的数据发送碰撞,因为RTS在信道1中传输,DATA在信道2中传输,它们是被完全分开的。因为它们不会互相影响,所以不会减少信道的利用率。
我们的目的是判断哪一种算法的性能更好,因此需要在仿真实验中做一些假设,以保证任何一种算法的试验条件都是相同的。一下是一些假设:我们的目的是判断哪一种算法的性能更好,因此需要在仿真实验中做一些假设,以保证任何一种算法的试验条件都是相同的。一下是一些假设: 1.信道是理想信道,信道间无干扰。 2.对ALOHA 算法当两个相邻传送的时间间隔不足以发送DATA或ACK,则认为又碰撞发生。对CSMA/CA和DCMA,如果时间间隔不足以发送RTS和CTS,我们也认为又碰撞发生。 3.我们按照固定的时间单元,即被称为时隙,开测量时间。RTS,CTS,ACK,的传送时间为1个时隙,传送DATA的时间随着DATA的长度不同而不同。 4.对功耗的定义:我们用一个标签在他的活动下所用的时间考测量它的能耗。例如,对ALOHA算法,只有在其发送DATA或接收ACK时,才是活动状态,因此,在CSMA/CA中,当标签等待发送RTS时,转备好接收数据,在这整个过程中都消耗能量。
红:DCMA; 蓝啊;CSMA/CA; 绿:ALOHA; 数据包的长度:50时隙; X轴:标签数目; Y轴:信道利用率; 由图中可以看出,随着标签数目的增加,信道利用率降低。因为标签数目的增加会导致更多的碰撞,更多的信道的无效占用。
DCMA的信道利用率最高。ALOHA的信道利用率最低。这是因为ALOHA没有监听功能,而是直接的发送数据包。如果数据包很长,则碰撞就会很频繁,信道的无效占用时间就会很长。当有新的标签向阅读器发送数据包时,就会与正在和阅读器通信的标签发生碰撞,使得标签通信失败,使本来有效的通信变成了无效的通信,造成了利用率的降低。DCMA考虑到所有这些情况,即使在数据包长度很长,和加入新标签时,性能都是最好的。。DCMA的信道利用率最高。ALOHA的信道利用率最低。这是因为ALOHA没有监听功能,而是直接的发送数据包。如果数据包很长,则碰撞就会很频繁,信道的无效占用时间就会很长。当有新的标签向阅读器发送数据包时,就会与正在和阅读器通信的标签发生碰撞,使得标签通信失败,使本来有效的通信变成了无效的通信,造成了利用率的降低。DCMA考虑到所有这些情况,即使在数据包长度很长,和加入新标签时,性能都是最好的。。
红:DCMA; 蓝啊;CSMA/CA; 绿:ALOHA; 数据包的长度:50时隙; X轴:标签数目; Y轴:功耗; 显然,随着标签数目的增加,能耗增加。DCMA的能耗最低,ALOHA的能耗最高。这是因为ALOHA没有监听功能,而是直接的发送数据包。如果数据包很长,则碰撞就会很频繁,能耗就会很高。由于CSMA/CA在等待阶段也会消耗能量,所以虽然减少的碰撞的数目,所消耗的能量相对还是比较高。DCMA在等待阶段,断开电源,并且同时减少了碰撞,因此DCMA的能耗最低。
5.试验结果 试验采用单片机控制模块的无线收发,此外单片机还用来系统能量。由于在硬件的设计方面,低功耗是关键的要求之一,我们选择低功耗的SCM-MSP430F123作为控制器,RFIC-nRF2401作为收发模块。电源采用纽扣电池CR2477。采用C430编写DCMA算法的程序,然后将代码下载到控制器,系统电压 6伏
纽扣电池容量为950mA,收发速率为每天100次,每次持续1秒,由于算法设计的目标是使系统的功耗最低,因此,电池的寿命可以长达5年。纽扣电池容量为950mA,收发速率为每天100次,每次持续1秒,由于算法设计的目标是使系统的功耗最低,因此,电池的寿命可以长达5年。
6.结论 本文提出的防碰撞算法DCMA,采用有源RFID。我们详细叙述了该算法并对其进行了仿真,仿真结果表明,该算法在降低能耗和提高信道利用率方面都表现出了很好的性能。
5.试验 试验采用的是Crossbows Mica2 motes equipped试验平台。
由图6的下方数据可知,节点17在短时间内连续发送了大量的数据包,但是由于采用数据压缩技术,在图7中可以看到实时显示的结果 . 6.结论 本文提出了一种具备监测和控制WSN的接口,它不仅具有很好的实时性,而且还可以为远端用户提供可视化的数据,并且可以是远端用户通过该接口改变传感器网络的配置。
6.m-AFSA在EDFSA上的应用 对于EDFSA,考虑到帧长度的上界,进入阅读区域的标签数目,不仅影响阅读周期的时间T,还影响 。在设计系统时,我们令T和G是完全独立的。我们选择使得q值最小的T值,即使一个标签被阅读的次数最少。 对q的估计,由等式11知,q不依赖于t和T。T的值与N,K和n有关。在EDFSA中,利用表1,得到N,G值。由于不断的有新的标签到达,因此在表1中,选择可以使吞吐量最大的N值。也就是可以将N固定为256.当S值确定时,T的值就可以知道了,S与K和n*有关,n*是动态变化的,但是其最佳值接近于2,所以选择2最为n*的近似。当N和n*确定后,S就只与K,即未读标签数目有关,选择使S值,即有效时隙的数目,最大的K值。S缺的最大值同时也会使T最大,因而会使q最小,即一个标签被阅读的次数。令N=256,n*=2,使K=336使S最大,根据上述规则和公式,T=520.92ms。
7仿真结果 7.1静态设置下系统的性能 如前面讨论的,参数n在确定标签平均阅读时间时起到了很重要的作用。N值过大或过小都会增加阅读标签的总时间,如图11所示。
由前面的结论知,当n=n*时,可以使阅读时间最小。由图可知,n=2时,曲线与n=n*的曲线最为接近。得到这种结果的原因可以由图12给出。由前面的结论知,当n=n*时,可以使阅读时间最小。由图可知,n=2时,曲线与n=n*的曲线最为接近。得到这种结果的原因可以由图12给出。
对于(N,K)的大多数组合,n*=2,这就解释了图11的试验结果。对于(N,K)的大多数组合,n*=2,这就解释了图11的试验结果。 图13是将AFSA系统与基于其他算法的系统想比较的结果。显然AFSA的系统的阅读时间最短,
7.2移动设置下系统的性能 令v=5m/s, l=2m,h=1m。标签阅读比例为P=99%,P=99.9%,阅读标签数目为50000.由第6部分的内容确定确定初始标签分组数G和标签离开阅读其区域的比例为,仿真试验重复了20次。表2给出了仿真结果。 从表中可以看出,第一列是使标签阅读比例为99%时,所设置的初始的标签数目。 从第三,四的对比可知,在P=99.9%时,标签离开阅读器区域的比例较低。 从表中还可以看出,AFSA显著地提高了系统的吞吐量。这是因为AFSA系统减少了每个阅读过程的时间,因此可以实现更多次阅读循环。