基于ALOHA算法的防碰撞算法分析射频识别论文.doc
《基于ALOHA算法的防碰撞算法分析射频识别论文.doc》由会员分享,可在线阅读,更多相关《基于ALOHA算法的防碰撞算法分析射频识别论文.doc(33页珍藏版)》请在三一办公上搜索。
1、【摘要】RFID是目前正快速发展的一项新技术,它通过射频信号进行非接触式的双向数据通信,从而达到自动识别的目的。随着RFID技术的发展,如何实现同时与多个目标之间的正确的数据交换,即解决RFID系统中多个读写器和应答器之间的数据碰撞,成为了限制RFID技术发展的难题,采用合理的算法来有效的解决该问题,称为RFID系统的防碰撞算法。在各种已出现的算法当中,主要分为基于ALOHA的防碰撞算法和基于二进制防碰撞的算法,本文分为三个方面,首先是基于ALOHA的防碰撞算法的理论研究比较,其次着重将现有的二进制树算法进行了归纳,汇总为基本算法、动态算法、退避式算法三类,阐述了各个算法的思路,并对其进行了性
2、能评价;最后,在现有的三类防碰撞算法的基础上,提出了一种新的改进型二进制树算法,该算法识别速度快,执行效率高,极大的改进了识别效果。【关键词】:射频识别;防碰撞算法比较;新型二进制树算法正文:1. 基于ALOHA算法的防碰撞算法分析 对于RFID系统来说TDMA法在防碰撞中应用量最大。TDMA法又分为标签驱动法和阅读器驱动法,标签驱动法中主要有代表性的算法是基于ALOHA的防碰撞算法。主要有ALOHA算法、时隙ALOHA算法、动态时隙ALOHA算法、优化的帧时隙(AFSA)算法和EDFSA算法。下面对这几种算法进行分析比较。11纯ALOHA算法 首先纯ALOHA算法是一种非常简单的时分复用算法
3、,用于实时性不高的场合,只能用于只读标签中,这类标签只存储一些标签的序列号等数据。这种算法多采取“标签先发言”的方式,即标签一进入阅读器的阅读区域就自动向阅读器发送其自身的ID信息。并且在一个周期性的循环中将这些数据不断地发送给阅读器,数据的传输时间只是重复时间的一小部分,以致在传输之间产生相当长的间歇。各个标签的重复时间之间的差别很小,两个标签以一定的概率在不同的时间段上设置它们的数据,使数据包传送时不发生碰撞。对同一个标签来说它的发送数据帧的时间也是随机的。ALOHA算法的基本思想是在标签发送数据的过程中,若有其他标签也在发送数据,那么发生信号重叠从而导致完全碰撞或部分碰撞。图1-1给出了
4、ALOHA算法标签发送数据部分碰撞和完全碰撞情况的示意图。标签1标签2标签3 接收 部分碰撞 完全碰撞 图1-1纯ALOHA算法示意图阅读器检测接收到的信号来判断有无碰撞。一旦发生碰撞,阅读器就发送命令让标签停止发送,随机等待一段时间后再重新发送以减少碰撞,如果没有碰撞,阅读器发送一个应答信号给标签,标签从此转入休眠状态。而对于无接收功能的标签,标签收不到阅读器发送的碰撞信息或者应答信息,在检测期间一直重复地发送自己的信息,直到识别过程结束。纯ALOHA存在的一个严重问题是存在错误判决的问题,即对同一个标签,如果连续多次发生碰撞,这将导致阅读器出现错误判断,认为这个标签不在自己的作用范围。纯A
5、LOHA存在的另一个问题是数据帧的发送过程中发生碰撞的概率很大。纯ALOHA算法的标签读取过程可以总结如下:(1)各个标签随机地在某时间点上发送信息。(2)阅读器检测收到的信息,判断是成功接收还是发生碰撞。(3)标签在发送完信息后等待随机长时间再重新发送信息。(4)若假设一帧信息的长度为To,起始时间为。则当另一帧的起始时间满足关系式(3-1)时碰撞发生,即: (1-1)为了了解纯ALOHA算法的标签读取过程,下面分析它的标签读取性能。为了分析方便首先定义如下两个参数:(1)吞吐率S:代表有效传输的实际总数据率,即单位时间内标签成功完成通信的平均次数。(2)输入负载G:表示发送的总数据率,即时
6、间内标签平均到达次数。因此,吞吐率S可 以表示为输入负载G与传送成功率的乘积,即 (1-2)其中是到达的标签能成功完成通信的概率。由概率论知识可知,每秒钟发送的信息帧的数目服从泊松分布,因此t秒钟发送行个数据帧的概率为: (1-3)其中为每秒钟平均发送的总的信息帧数,此时输入负载为: (1-4)则在时间内没有发送信息的概率为: (1-5)这样,就可以得到纯ALOHA算法的吞吐率为: (1-6)当G=05时,吞吐率S达到最大值0184。当G0.5时性能急剧恶化,系统进入不稳定状态。因为必须尽量使G不要太大,这样只能改小,同时也要注意由于标签自身的问题不能检测碰撞,因此只能重发,重发次数不一定越多
7、越好,因为重发次数多了,会使得输入负载过大,碰撞率增加,因此要选适当的退避区间。 由上分析可知ALOHA算法的主要特点是各个标签发射时间不需要同步,是完全随机的,当标签的数量不多时它可以很好地工作。缺点是数据帧发送过程中碰撞发生的概率很大,碰撞周期是,而且由于受标签的费用及其大小的限制,它不能自己检测碰撞,只能通过接收阅读器的命令判断有无碰撞。当数据业务繁忙,发生碰撞的概率增多时,性能急剧下降,信道最佳利用率只有184。但是ALOHA法由于它实现起来比较简单,能够作为防碰撞的方法,适用于只读标签系统。12时隙ALOHA算法使纯ALOHA算法对比较小的吞吐率最佳化的途径就是时隙ALOHA(Slo
8、ttedALOHA)算法。如图33所示,这种算法在ALOHA算法的基础上把时间分成多个离散的时隙(slot),并且每个时隙的长度要大于标签回复的数据长度,每个时隙长度由系统时钟控制,各控制单元必须与此时钟同步。对于RFID系统,标签只在规定的同步时隙内才能传输数据包,对所有的标签所必须的同步由阅读器控制,标签只能在每个时隙内发送数据。标签1 标签2标签3 接收 正确接收 完全碰撞 图1-2时隙ALOHA算法示意图从上图可以看出,每个时隙存在以下三种情况:(1)无标签响应:在此时隙内没有标签发送。(2)一个标签响应:在此时隙内只有一个标签发送,标签能够被正确识别;(3)多个标签响应:在此时隙内有
9、多个标签发送,产生碰撞。与纯ALOHA算法的分析方法相同,可以得到在一个时隙起点处没有其他标签发送信号的概率为: (1-7)因此,可以得到时隙ALOHA算法的吞吐率为: (1-8)当G=1时,系统的吞吐率可以达到最大值0368,由此可见时隙ALOHA算法的系统吞吐率比纯ALOHA算法提高了1倍。缺点是需要同步时钟,且标签能够计算时隙。13帧时隙ALOHA算法 ALOHA算法的另一种扩展算法是帧时隙(Framed Slotted)ALOHA算法,简称FSA算法。它是在时隙ALOHA算法的基础上把个时隙组成一帧,标签在每个帧内随机选择一个时隙发送数据,如图1-3所示。这种算法适于传输信息量较大的场
10、合,与时隙ALOHA算法相同,FSA算法也需要一个同步开销。一个帧包含多个时隙,每个时隙的长度要足够让一个标签回答完,具体时间由阅读器定义。在阅读器发送读取命令后,要等待一定时间等待标签的回答。当在一个时隙中只有一个标签回答时,阅读器可以分辨出标签;当在一个时隙中没有标签回答时,跳过此时隙:当在一个时隙中有多个标签时,发生碰撞,需要重新开始读取过程。帧2帧1 Slot1Slot4Slot1Slot4FSA算法存在的缺点是,当标签数量远远大于时隙个数时,读取标签的时间将会大大增加,而当标签个数远远小于时隙个数时,会造成时隙的浪费。总的来说,FSA算法的主要特点如下:(1)把个时隙打包成一帧;(2
11、)标签在每个时隙中随机选择一个时隙发送一次信息;(3)该方法需要阅读器和标签之间的同步操作,每个时隙需要与阅读器进行同步,每一帧的最大时隙数为某默认值,需要预先设定。14动态帧时隙ALOHA算法 时隙ALOHA算法的吞吐率在输入负载G为1时达到最大。如果输入负载小于l,则会造成空时隙的数目增加,浪费宝贵的标签读取时间;如果输入负载大于l,则会造成碰撞的时隙数增加,造成处于一个单独时隙发送成功的标签概率比较小,因此同样需要准备更多的时隙,这样同样会降低系统的实时性。弥补的方法就是使用动态的时隙数,这是一种改进的FSA算法。该算法中,阅读器能动态改变(增加或减少)下一次阅读循环中每帧的时隙个数,这
12、种算法称为动态帧时隙(DynamicFramed Slotted ALOHA)算法,简称DFSA算法。一帧内的时隙数目能根据阅读区域中的标签数目而动态改变,或者通过增加时隙数以减少帧中的碰撞数目,或者在空时隙很多时减少以节省时间。该算法的具体步骤如下:(1) 标签进入阅读器的读取范围后,接收到阅读器的开始识别命令后进入识别状态,并且在开始识别命令中包含了初始的时隙数。(2)进入识别状态的标签随机选择一个时隙(内部伪随机数发生器产生),同时将自己的时隙计数器复位为1;(3)当标签随机选择的时隙数等于时隙计数器时,标签向阅读器发送数据,当标签的时隙数不等于时隙计数器时,它将保留自己的时隙数并等待下
13、一个命令。此时,可能出现下列情况:情况l:当阅读器没有检测到标签的响应时,将发送结束时隙命令。处于识别状态而没有响应的标签接收到命令后把自己的时隙计数器加1,然后重复步骤(3)。情况2:当阅读器检测到多个标签的响应碰撞时,将发送结束时隙命令。处于识别状态的标签接收到命令后把自己的时隙计数器加l,然后重复步骤(3)。情况3:当阅读器接收到一个标签的正确回复时,阅读器将发送下一时隙命令,处于识别状态的所有标签的时隙计数器都加l,刚响应过的标签收到正确的休眠命令后将进入休眠状态,否则标签将继续停留在识别状态,跳到步骤(3)继续循环下去。(4)当阅读器检测到时隙数量等于命令中规定的循环长度时,本次循环
14、结束。阅读器发送开始识别命令进入步骤(2)开始新的循环,新的循环长度是阅读器根据前一次循环中碰撞数量动态优化调整后产生的。关于动态调整循环长度的方法也有很多不同的算法,一种是根据个时隙中发生碰撞的时隙数、没有响应的时隙数等来判断的。如当发生碰撞的时隙数大于某一上限值时,将每帧的总时隙数增加,当发生碰撞的时隙数小于某一个下限值时将每帧的总时隙数减少。另外一种算法是,阅读器用初始一帧内时隙数N(N较小)开始发送读取命令,如果在这次循环中没有一个标签回答,阅读器就增加一帧内时隙数,直到至少一个标签被识别,然后阅读器再从初始时隙数N开始新一轮循环。在DFSA算法中,每帧中的时隙个数都是动态产生的,因此
15、解决了FSA算法中时隙的浪费问题。由此可以看出这种算法简单、易实现,且能充分适应标签数量的动态变化,非常适合在RFID技术中使用t241。15优化的帧时隙ALOHA算法 优化的帧时隙(AdvancedFramedSlotted)ALOHA简称为AFSA算法。这种算法使用可动态调整时隙的数量。AFSA算法通过估计标签的数量来确定合适的帧大小,以此来识别标签。所以它比FSA算法更有效。 在AFSA中,阅读器利用读循环的结果:空时隙的数量、有一个标签的时隙数量和发生碰撞的时隙数量的信息来预测标签的数量。AFSA算法预测标签数量的公式是切比雪夫不等式提出的随机变量X的随机试验结果在某个特定环境非常接近
16、于彳的期望值。预计标签数量时就是利用这个值。这样通过度量真实结果与预期结果之间的差异并使差异最小化来预测标签的数量。 在AFSA算法中,假设标签在其它读循环中己经响应。AFSA算法计算通过改变帧大小要读到99的标签需要多少时隙,然后它选择时隙数量最少的帧。因为AFSA算法需要估计标签数量并决定帧大小来最小化发生碰撞的概率,因此它比上述普通的ALOHA的算法更有效。然而,AFSA算法也存在与其它上述算法类似的问题,就是随着标签数量的增加,阅读器不能无限地增加帧大小。16 增强型动态帧时隙算法 上述的帧时隙ALOHA算法通过改变帧的大小来增加标签识别效率。然而随着标签数量的增加到超过帧的大小,标签
17、碰撞的概率依然会急剧增加。如果不限制响应标签的数量,使之达到与帧大小近似相等的数量,那么这种问题就不能得到很好的解决。因而出现了一种增强型动态帧时隙ALOHA(EnhancedDynamicFramed SlottedALOHA)算法。在EDFSA算法中,阅读器首先估计未读标签的数量。当标签太多时,阅读器把这些标签分簇,在一次识别过程中,只有_簇的标签可以应答阅读器,这样就能在标签太多时降低标签的碰撞率。首先阅读器进行广播,传输标签分簇的数量和一个随机号码给这些标签。接收到这个需求的标签从收到的随机号码和它的序列号中产生一个新号码,然后用这个新号码除以这个标签分簇的数量,只有当余数是零时,这个
18、标签才响应阅读器。当估计的未读标签数小于某个下限时,阅读器调整帧大小,而不是对未读标签进行分簇。这就意味着阅读器广播一个阅读器请求时有:帧的大小,一个随机数和标签分簇数量为l。经过几次读循环后,阅读器估计未读标签的数量并调整帧大小。如此反复直到读到每个标签。EDFSA算法读标签用的时隙数增长是线性的,无论有多少个未读标签,EDFSA都能把系统效率平均维持在346至368之间。当标签数量是1000时,EDFSA算法的效率是帧时隙的两倍,是动态时隙ALOHA算法的185倍。如果标签更多,这种优势就越明显。17各种基于ALOHA算法的比较(1) 纯ALOHA法算法应用于实时性不高的场合,适用于只读标
19、签,实现起来比较容易。但是它不能很好的防碰撞,防碰撞周期较长,当标签数量很多时性能急剧下降。信道利用率只有184,且能出现错误判决,当一个标签在很长时间没有被正确识别,可能被误判为不在阅读范围内。(2)时隙ALOHA算法是对纯ALOHA算法的改进,改进后信道利用率达到368,为ALOHA法的两倍。但是它需要精确的同步。(3)帧时隙ALOHA算法的是在时隙ALOHA算法的基础上把个时隙组成一帧,标签在每个帧内随机选择一个时隙发送数据。这种算法适于传输信息量较大的场合,但也需要一个同步开销。(4) 动态帧时隙ALOHA算法中,一个帧内的时隙的数目能根据阅读区域中的标签数目而动态改变,从而节省时间。
20、(5)EDFSA算法通过估计没有读到的标签的数量,从而确定合适的帧大小,以达到效率的最大化和降低发生碰撞的概率。2. 基于二进制算法的防碰撞算法分析211基本概念在RFID防碰撞算法中,二进制树算法是目前应用最广泛的一种,之所以称为“二进制树”,是因为在算法执行过程中,读写器要多次发送命令给应答器,每次命令都把应答器分成两组,多次分组后最终得到唯一的一个应答器,在这个分组过程中,将对应的命令参数以节点的形式存储起来,就可以得到一个数据的分叉树,而所有的这些数据节点又是以二进制的形式出现的,所以称为“二进制树”。 为了便于描述算法,声明一些基本概念如下:首先,在RFID系统当中,每个应答器都是独
21、一无二的,它们的独立性通过唯一的自身序列号来体现,该序列号在不同的标准中有不同的名称,如EPC标准中称其为电子产品代码EPC,即英文ElectronicProduct Code的缩写,IS014443标准中称其为唯一标识码UID,即英文Unique Identmer的缩写。事实上,这些都是对应答器序列号的名称描述,因为下文涉及到的防碰撞算法是普遍意义上的,既包括了EPC标准中的规定,也包括了ISO标准中的规定,因此在本文对普遍意义上的防碰撞算法的描述过程中,统一用序列号SN(SerialNumber)来描述上述概念,同时,序列号的长度,格式,以及编码方式也是各个标准各自差异的,为了说明的便利,
22、统一定义为8位长度的二进制码。如图21所示。图21 应答器序列号数据格式读写器与应答器之间进行数据交换时,往往要传输序列号的部分或者全部位,此时的传输顺序定义为:先发送低位,再发送高位。在读写器或者应答器内部,对数据进行比较时,遵循这样的原则,即按位依次比较,先比较低位,再比较高位,约定01,根据这个比较顺序,在判断大小时,低位数据优先,即两数A,B相比较,从低位开始的第一个不相等位的大小决定了两数的大小,只有当两个数的全部位均相等时,两数才相等。212性能指标定义碰撞解决时期CRI,即Collision Resolution Interval,即解决一个读写器工作范围内碰撞所需要的时隙数,对
23、二进制树算法的评价,一些常用的性能指标如下所示:首先是算法执行效率,定义如下:在算法执行过程,一共个时隙,识别了n个应答器,则=n/表示算法的执行效率。分析如下:n=l,显而易见,在第一个时隙内不发生碰撞,可以成功识别该应答器,=1。n2,由于应答器序列号的唯一性,将有碰撞发生,在一个时隙内发生碰撞的概率p是一个随机事件,在n个应答器信息包中i个发生碰撞的概率为: (2.1)给出i个碰撞,则CRI的长度为:(2.2)其中1是n个信息包最初的一个时隙,是i个碰撞的顺利传输的时隙,是n-i个无碰撞传输的时隙。由上式可知,是逐渐递归的,通过递归可得:根据式(2.3),上式可化为:由此可见,是关于p的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ALOHA 算法 碰撞 分析 射频 识别 论文
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4141460.html