《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > ALOHA类RFID防碰撞算法OPNET建模与优化

ALOHA类RFID防碰撞算法OPNET建模与优化

2008-07-16
作者:舒 琳, 李 波, 刘震宇, 谢

    摘 要: 在OPNET平台上建立了通用的RFID网络模型,并对UHF频段的RFID主要标准ISO18000-6中的ALOHA类防碰撞算法" title="防碰撞算法">防碰撞算法进行仿真,得到了一组最优化设置曲线供工程应用参考,同时给出具体执行方法。仿真结果表明,优化后算法可使标签识别速率接近最优值。
    关键词: RFID  ALOHA  OPNET  防碰撞算法  ISO18000-6
   

 

    当前,无线射频识别RFID(Radio Frequency Identification)技术发展迅速。在RFID技术中,防碰撞算法直接影响电子标签的识别速率,成为当前研究热点之一。主流RFID防碰撞算法包括ALOHA和二进制树型搜索两类,其中以ALOHA类防碰撞算法在工程中应用最广。对此类算法,较多文献提出了改进,典型的有标签数目估计法[1],EDFSA[2](改进的动态帧时隙" title="时隙">时隙ALOHA算法)等。但这些改进均是基于算法理论的修改,而非针对工程中现行RFID标准的研究,未给出工程中参考依据和具体执行方法。同时这些文献并未提出一个可执行的RFID仿真模型,对其他多协议多标准的防碰撞算法、读写器" title="读写器">读写器之间的防碰撞研究等可参考性不强。
    本文以UHF频段RFID技术主要行业标准ISO18000-6[3-4]中的ALOHA类防碰撞算法为研究对象。ISO18000-6 标准是《信息技术——针对物品管理的射频识别(RFID)》的第六部分,针对频率为860MHz~930MHz的无接触空气通信接口参数的定义,包含Type A、Type B和Type C三类协议。Type A和Type C中的防碰撞算法属于ALOHA类,Type B属于二进制树型搜索类。本文在OPNET平台上建立了RFID网络模型,可用于RFID各种算法的仿真研究。在此基础上对ISO18000-6 标准中的ALOHA类防碰撞算法进行优化,得到一组最优化设置曲线,对工程应用有一定的参考价值。
1 ALOHA类防碰撞算法
    ISO18000-6标准中Type A协议[3]的防碰撞算法是基于时隙ALOHA原理的。Type A协议的标签能够进入下列状态的任何一种:离场掉电、准备、静默、选中、识别、挂起。进入识别状态的标签将进行冲突检测,此时防碰撞算法开始工作。
    读写器发送Init_round(开始识别)命令,设定Round_size参数(长度3bit)。该参数规定:单次识读循环的时隙总数为1、8、16、32、64、128和256中任一值,即单次识读循环最多可识别256个标签。处于准备态的标签接收此命令后进入识别态,标签随机数发生器随机选择时隙数,并将时隙计数器置1。如果标签随机选择的时隙数等于时隙计数器数,标签将回发ID数据包。读写器发送完命令后,若没有标签回答,则发送Close_slot(结束时隙)命令,处于识别态而未回答的标签收到此命令其时隙计数器加1;若读写器检测到多个标签回答冲突或CRC码错误,则发送Close_slot命令,处于识别态而未回答的标签收到此命令后时隙计数器加1;若读写器接收到一个标签的正确回答,则发送Next_slot(下一时隙)命令,该命令包含刚读到的标签ID,处于识别态的所有标签收到此命令后时隙计数器都加1,刚回发过ID的标签确认命令中的ID与自己一致后进入静默状态,否则标签将继续停留在识别状态。一组命令过后,若读写器检测到时隙数等于最初设定的Round_size,则本次循环结束。读写器可以通过发送Init_round命令或New_round(新识别)命令开始新的循环,新循环中的Round_size可以固定使用原值,也可以根据碰撞次数动态调整,或者由用户设置。
    Type C协议[4]来源于EPC Class-1 Generation-2 UHF RFID标准[5](第1类第2代UHF RFID射频识别协议通讯协议),其防碰撞算法也是基于时隙ALOHA原理,主要过程与Type A类似。读写器发送Query(查询)命令开始识别循环,该命令里有一个参数Q(长度4bit,取值范围为0~15),规定单次识读循环的时隙总数为0~2Q-1,即单次识读循环最多可以识别65 536个标签。Q值的作用相当于Type A协议中的Round_size,新循环中的Q值可以固定使用原值、动态调整或用户设置。
    ALOHA类防碰撞算法中一个很重要的参数就是单次识读循环的时隙总数,协议中由Round_size和Q值规定。实际工程中往往固定该参数或者根据碰撞次数由自适应算法自动调整该参数。前者的缺陷在于标签数量过小或者过大时,固定的参数会减慢识别速率。后者的缺陷在于自适应算法的调整速率很慢,而且标准中并未给出Round_size和Q值的设置依据。在工程应用中需要寻求单次识读循环时隙总数的最优化取值,尽可能提高标签识别速率。下文将针对这个目标进行建模和测试。
2 OPNET建模
    OPNET(Optimized Network Engineering Tools)使用有限状态机对协议和其他过程建模,提供核心库函数全面支持协议编程,采用基于数据包的通信机制、离散事件驱动机制和面向对象的仿真方法,是系统和网络算法仿真的理想工具[6]。采用OPNET来仿真RFID系统网络,可以直观地模拟标签与读写器的通信过程,准确地建立符合协议标准的模型,同时OPNET提供了丰富的测试和参数统计工具。OPNET建立的每种仿真模型都包括Network(网络级)、Node(节点级)和Process(进程级)三个层次,分别使用Project编辑器" title="编辑器">编辑器、Node编辑器和Process编辑器进行编辑。
2.1 创建RFID网络模型
    首先在Project编辑器中建立RFID网络级模型。图1为一个RFID网络级模型,它包含两类节点,中心节点是读写器(reader),周围节点(tag_0~tag_14)是标签节点,标签节点处于读写器节点射频场范围内,采用无线信道。读写器节点和标签节点分别用于模拟实际系统中的读写器和电子标签。通过调整读写器节点天线模块的方向角和发射功率来设定读写器射频场范围,用于模拟实际应用中标签进入射频场的情况,如超市、门禁等场合。

                            
2.2 创建节点模型
    RFID网络对象的节点内部模型是在Node编辑器中创建的。图2是标签节点内部模型。读写器节点与之相同。读写器和标签节点都包含几个处理器模块,一个无线发送机模块,一个无线接收机模块,一个天线模块。其中sink处理器模块从无线接收机模块接收对方节点发送的数据包并产生响应代码发送给proc处理器,proc处理器根据相应代码产生命令或者ID数据包并发送给无线发送机模块。 

                                    
    对于读写器节点和标签节点之间的无线信道建模,根据Type A协议无线通信物理接口参数的定义,进行无线信道属性设置。OPNET无线仿真用14个首尾相接的管道阶段(Pipeline Stage)来尽量真实地模仿数据帧在信道中的传输[6]。天线模块采用isotropic模型,理想全向天线。读写器和标签节点内部的无线发送机和接收机模块的属性设置为:数据传输速率标签到读写器40kb/s,读写器到标签33kb/s,频率范围860MHz~930MHz,采用高斯信道。
2.3 创建进程模型
    读写器和标签的处理器模块都需要Process编辑器创建进程模型。读写器节点的proc处理器进程模型如图3所示,其作用是根据标签回答情况产生Init_round、Close_slot、Next_slot、New_round命令数据包,并将这些数据包传给无线发送模块,发送给标签。标签节点的处理器进程模型主要是产生和发送ID数据包,并让本标签进入静默状态。

                                 
    网络级、节点级和进程级模型建立好,逐层将这些模型封装起来成为最终的符合ISO18000-6标准的RFID网络系统模型。上文所建的是Type A协议模型,建立符合Type B或Type C协议的模型只需将处理器进程模型、无线发送机和无线接收机模块的设置根据不同标准做相应调整即可。同理,建立符合其他协议和标准的模型,只需要按照标准调整天线、无线发送机和接收机模块的属性设置以及改动进程模型即可。
    采用图1的网络结构验证建模的准确性。验证过程采用ODB调试和VC联调相结合的方法。ODB调试用于追踪显示整个通信过程,VC联合调试用于观察内部关键变量的变化情况。本文所建RFID网络模型调试结果符合ISO18000-6标准的防碰撞机制,验证了建模的准确性。
3 算法优化与分析
    ALOHA算法使用吞吐量衡量系统性能,吞吐量定义为一帧的发送时间内成功发送的平均帧数。定义S为吞吐量,G为网络负载即一帧的发送时间内总共发送的平均帧数,则时隙ALOHA算法的吞吐量公式为:
   
    而RFID防碰撞算法优劣的主要判别依据是标签识别速率。与吞吐量类似,在RFID系统中,定义标签识别速率为V, T为成功识别的标签总数,N为成功识别这些标签所用的时间,则标签识别速率的公式为:
    

例如工程中某款读写器的标签识别速率为300个标签/秒,是指它每秒能成功识别300个标签。为简化测试,定义t为单位时隙,即读写器连续两条命令之间的时间间隔,n为成功识别所有标签所用的时隙总数,则式(2)可推导为:

   
   
由于单位时隙t在同等硬件条件下可近似为固定的,故仿真测试用的标签识别速率可近一步简化为式(4),即单位时隙内成功识别的标签数目。
   

    利用OPNET仿真参数统计工具对所建模型进行测试,收集不同Round_size设置下的标签识别速率。测试时在读写器射频场内放入的标签依次为2、4、8、20、30、60、100、300个,运行500次取均值,得到表1测试结果。表1中识别速率为0是指所用识读时隙总数过大,在运行过程中几乎无法识别一个标签。
    分析表1得到,对应每种标签数目,存在着一个最优的Round_size设置使得标签识别速率最快,而且这种最优的Round_size值是随着标签数目变化而变化的。表1中可以看到,标签数目为2时,Round_size取8的标签识别速率最快;标签数目为300时,Round_size取128的识别速率最快。如果采用固定的Round_size,则标签数目过大或过小时都会造成识别速率降低:如固定Round_size=8,标签数目超过60时识别速率为0;固定Round_size=256,标签数目较小时识别速率接近0。
为测试出不同标签数目下的最优化的Round_size或者Q值,减小放入读写器射频场内的标签数目间隔,并增加仿真运行次数,得到图4和图" title="和图">和图5两条参数优化设置曲线。图4和图5分别针对Type A协议和Type C协议。这两条曲线为调整Round_size和Q值提供了依据。

                            

 

                               

                             


    具体应用方法:目前工程中常固定Round_size或者Q值,标签识别速率受限。要采用图4和图5的曲线优化设置,只需将这两条曲线设置数据写入读写器程序中。凡是支持ISO18000-6 Type A和Type C协议的读写器,一旦获得当前标签射频场内标签数目,即可自动查询图4和图5的曲线,将Round_size和Q值调整到最优取值。例如:在仓储应用中,若入仓的一批货物有500件,贴有Type A型标签,则读写器查询图4曲线,将Round_size自动设置为256的最优取值。在超市应用中,若顾客一次购买商品20件,贴有Type C型标签,则读写器自动查询图5曲线,设置Q=4。而标签数目的获取,可以采用估计算法[1],或者由管理员通过用户控制界面输入,例如仓储应用中,管理员是知道每批货物的数目的;而超市环境中,可由顾客输入所购商品数目或在购物车上安装简易装置计算出商品数目。
4 实验结果及讨论
    利用OPNET所建模型对算法优化前后比较,得到的统计数据如图6所示。从图中明显看到,优化后算法的标签识别速率远远高于Round_size固定设置为8、16、32、64、128、256的情形。仿真证明,Round_size和Q值优化调整后,标签识别速率比优化前至少提高了52%,接近于同类算法的最优值。该优化算法已应用于本项目所设计的UHF 频段RFID读写器中。

                                
    本文在OPNET平台上建立的仿真和测试模型具有建模直观、测试方便的优点,可移植于其他防碰撞算法、RFID标准和协议、RFID数据加密算法、多读写器防冲撞技术等方面的研究,具有较高的通用性。
参考文献
[1] VOGT H. Multiple object identification with passive RFID Tags[C]. Pervasive 2002, Zurich, Switzerland, 2002,8:98-113.
[2] LEE S R, JOO S D, LEE C W. An enhanced dynamic framed slotted ALOHA algorithm for RFID Tag[A]. Proc-
 eeding of the Second Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services (MobiQuitous’05) [C]. 2005: 166-172.
[3] ISO/ISE.ISO18000-6A/B,Information Technology-Radio Frequency Identification (RFID) for Item Management - Part 6: Parameters for Air Interface Communications at 860- 960MHz [S]. 2002, 4
[4]  ISO/ISE. ISO18000-6C, Information technology-Radio frequency identification for item management-Part 6:Parameters for air interface communications at 860 MHz to  960MHz, AMENDMENT 1: Extension with Type C and
 update of Types A and B [S]. 2006, 5
[5] EPCglobal Inc. EPCTM radio-frequency identity protocols,Class-1 Generation-2 UHF RFID Protocol for Communications at 860MHz-960MHz(Version 1.0.9) [S]. 2005,1
[6] 陈敏.OPNET网络仿真[M]. 北京:清华大学出版社,2004.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。