??? 摘 要: 在OPNET平臺上建立了通用的RFID網(wǎng)絡(luò)模型,并對UHF頻段的RFID主要標準ISO18000-6中的ALOHA類防碰撞算法" title="防碰撞算法">防碰撞算法進行仿真,得到了一組最優(yōu)化設(shè)置曲線供工程應(yīng)用參考,同時給出具體執(zhí)行方法。仿真結(jié)果表明,優(yōu)化后算法可使標簽識別速率接近最優(yōu)值。
??? 關(guān)鍵詞: RFID? ALOHA? OPNET? 防碰撞算法? ISO18000-6???
?
??? 當(dāng)前,無線射頻識別RFID(Radio Frequency Identification)技術(shù)發(fā)展迅速。在RFID技術(shù)中,防碰撞算法直接影響電子標簽的識別速率,成為當(dāng)前研究熱點之一。主流RFID防碰撞算法包括ALOHA和二進制樹型搜索兩類,其中以ALOHA類防碰撞算法在工程中應(yīng)用最廣。對此類算法,較多文獻提出了改進,典型的有標簽數(shù)目估計法[1],EDFSA[2](改進的動態(tài)幀時隙" title="時隙">時隙ALOHA算法)等。但這些改進均是基于算法理論的修改,而非針對工程中現(xiàn)行RFID標準的研究,未給出工程中參考依據(jù)和具體執(zhí)行方法。同時這些文獻并未提出一個可執(zhí)行的RFID仿真模型,對其他多協(xié)議多標準的防碰撞算法、讀寫器" title="讀寫器">讀寫器之間的防碰撞研究等可參考性不強。
??? 本文以UHF頻段RFID技術(shù)主要行業(yè)標準ISO18000-6[3-4]中的ALOHA類防碰撞算法為研究對象。ISO18000-6 標準是《信息技術(shù)——針對物品管理的射頻識別(RFID)》的第六部分,針對頻率為860MHz~930MHz的無接觸空氣通信接口參數(shù)的定義,包含Type A、Type B和Type C三類協(xié)議。Type A和Type C中的防碰撞算法屬于ALOHA類,Type B屬于二進制樹型搜索類。本文在OPNET平臺上建立了RFID網(wǎng)絡(luò)模型,可用于RFID各種算法的仿真研究。在此基礎(chǔ)上對ISO18000-6 標準中的ALOHA類防碰撞算法進行優(yōu)化,得到一組最優(yōu)化設(shè)置曲線,對工程應(yīng)用有一定的參考價值。
1 ALOHA類防碰撞算法
??? ISO18000-6標準中Type A協(xié)議[3]的防碰撞算法是基于時隙ALOHA原理的。Type A協(xié)議的標簽?zāi)軌蜻M入下列狀態(tài)的任何一種:離場掉電、準備、靜默、選中、識別、掛起。進入識別狀態(tài)的標簽將進行沖突檢測,此時防碰撞算法開始工作。
??? 讀寫器發(fā)送Init_round(開始識別)命令,設(shè)定Round_size參數(shù)(長度3bit)。該參數(shù)規(guī)定:單次識讀循環(huán)的時隙總數(shù)為1、8、16、32、64、128和256中任一值,即單次識讀循環(huán)最多可識別256個標簽。處于準備態(tài)的標簽接收此命令后進入識別態(tài),標簽隨機數(shù)發(fā)生器隨機選擇時隙數(shù),并將時隙計數(shù)器置1。如果標簽隨機選擇的時隙數(shù)等于時隙計數(shù)器數(shù),標簽將回發(fā)ID數(shù)據(jù)包。讀寫器發(fā)送完命令后,若沒有標簽回答,則發(fā)送Close_slot(結(jié)束時隙)命令,處于識別態(tài)而未回答的標簽收到此命令其時隙計數(shù)器加1;若讀寫器檢測到多個標簽回答沖突或CRC碼錯誤,則發(fā)送Close_slot命令,處于識別態(tài)而未回答的標簽收到此命令后時隙計數(shù)器加1;若讀寫器接收到一個標簽的正確回答,則發(fā)送Next_slot(下一時隙)命令,該命令包含剛讀到的標簽ID,處于識別態(tài)的所有標簽收到此命令后時隙計數(shù)器都加1,剛回發(fā)過ID的標簽確認命令中的ID與自己一致后進入靜默狀態(tài),否則標簽將繼續(xù)停留在識別狀態(tài)。一組命令過后,若讀寫器檢測到時隙數(shù)等于最初設(shè)定的Round_size,則本次循環(huán)結(jié)束。讀寫器可以通過發(fā)送Init_round命令或New_round(新識別)命令開始新的循環(huán),新循環(huán)中的Round_size可以固定使用原值,也可以根據(jù)碰撞次數(shù)動態(tài)調(diào)整,或者由用戶設(shè)置。
??? Type C協(xié)議[4]來源于EPC Class-1 Generation-2 UHF RFID標準[5](第1類第2代UHF RFID射頻識別協(xié)議通訊協(xié)議),其防碰撞算法也是基于時隙ALOHA原理,主要過程與Type A類似。讀寫器發(fā)送Query(查詢)命令開始識別循環(huán),該命令里有一個參數(shù)Q(長度4bit,取值范圍為0~15),規(guī)定單次識讀循環(huán)的時隙總數(shù)為0~2Q-1,即單次識讀循環(huán)最多可以識別65 536個標簽。Q值的作用相當(dāng)于Type A協(xié)議中的Round_size,新循環(huán)中的Q值可以固定使用原值、動態(tài)調(diào)整或用戶設(shè)置。
??? ALOHA類防碰撞算法中一個很重要的參數(shù)就是單次識讀循環(huán)的時隙總數(shù),協(xié)議中由Round_size和Q值規(guī)定。實際工程中往往固定該參數(shù)或者根據(jù)碰撞次數(shù)由自適應(yīng)算法自動調(diào)整該參數(shù)。前者的缺陷在于標簽數(shù)量過小或者過大時,固定的參數(shù)會減慢識別速率。后者的缺陷在于自適應(yīng)算法的調(diào)整速率很慢,而且標準中并未給出Round_size和Q值的設(shè)置依據(jù)。在工程應(yīng)用中需要尋求單次識讀循環(huán)時隙總數(shù)的最優(yōu)化取值,盡可能提高標簽識別速率。下文將針對這個目標進行建模和測試。
2 OPNET建模
??? OPNET(Optimized Network Engineering Tools)使用有限狀態(tài)機對協(xié)議和其他過程建模,提供核心庫函數(shù)全面支持協(xié)議編程,采用基于數(shù)據(jù)包的通信機制、離散事件驅(qū)動機制和面向?qū)ο蟮姆抡娣椒ǎ窍到y(tǒng)和網(wǎng)絡(luò)算法仿真的理想工具[6]。采用OPNET來仿真RFID系統(tǒng)網(wǎng)絡(luò),可以直觀地模擬標簽與讀寫器的通信過程,準確地建立符合協(xié)議標準的模型,同時OPNET提供了豐富的測試和參數(shù)統(tǒng)計工具。OPNET建立的每種仿真模型都包括Network(網(wǎng)絡(luò)級)、Node(節(jié)點級)和Process(進程級)三個層次,分別使用Project編輯器" title="編輯器">編輯器、Node編輯器和Process編輯器進行編輯。
2.1 創(chuàng)建RFID網(wǎng)絡(luò)模型
??? 首先在Project編輯器中建立RFID網(wǎng)絡(luò)級模型。圖1為一個RFID網(wǎng)絡(luò)級模型,它包含兩類節(jié)點,中心節(jié)點是讀寫器(reader),周圍節(jié)點(tag_0~tag_14)是標簽節(jié)點,標簽節(jié)點處于讀寫器節(jié)點射頻場范圍內(nèi),采用無線信道。讀寫器節(jié)點和標簽節(jié)點分別用于模擬實際系統(tǒng)中的讀寫器和電子標簽。通過調(diào)整讀寫器節(jié)點天線模塊的方向角和發(fā)射功率來設(shè)定讀寫器射頻場范圍,用于模擬實際應(yīng)用中標簽進入射頻場的情況,如超市、門禁等場合。
????????????????????????????
2.2 創(chuàng)建節(jié)點模型
??? RFID網(wǎng)絡(luò)對象的節(jié)點內(nèi)部模型是在Node編輯器中創(chuàng)建的。圖2是標簽節(jié)點內(nèi)部模型。讀寫器節(jié)點與之相同。讀寫器和標簽節(jié)點都包含幾個處理器模塊,一個無線發(fā)送機模塊,一個無線接收機模塊,一個天線模塊。其中sink處理器模塊從無線接收機模塊接收對方節(jié)點發(fā)送的數(shù)據(jù)包并產(chǎn)生響應(yīng)代碼發(fā)送給proc處理器,proc處理器根據(jù)相應(yīng)代碼產(chǎn)生命令或者ID數(shù)據(jù)包并發(fā)送給無線發(fā)送機模塊。?
????????????????????????????????????
??? 對于讀寫器節(jié)點和標簽節(jié)點之間的無線信道建模,根據(jù)Type A協(xié)議無線通信物理接口參數(shù)的定義,進行無線信道屬性設(shè)置。OPNET無線仿真用14個首尾相接的管道階段(Pipeline Stage)來盡量真實地模仿數(shù)據(jù)幀在信道中的傳輸[6]。天線模塊采用isotropic模型,理想全向天線。讀寫器和標簽節(jié)點內(nèi)部的無線發(fā)送機和接收機模塊的屬性設(shè)置為:數(shù)據(jù)傳輸速率標簽到讀寫器40kb/s,讀寫器到標簽33kb/s,頻率范圍860MHz~930MHz,采用高斯信道。
2.3 創(chuàng)建進程模型
??? 讀寫器和標簽的處理器模塊都需要Process編輯器創(chuàng)建進程模型。讀寫器節(jié)點的proc處理器進程模型如圖3所示,其作用是根據(jù)標簽回答情況產(chǎn)生Init_round、Close_slot、Next_slot、New_round命令數(shù)據(jù)包,并將這些數(shù)據(jù)包傳給無線發(fā)送模塊,發(fā)送給標簽。標簽節(jié)點的處理器進程模型主要是產(chǎn)生和發(fā)送ID數(shù)據(jù)包,并讓本標簽進入靜默狀態(tài)。
?????????????????????????????????
??? 網(wǎng)絡(luò)級、節(jié)點級和進程級模型建立好,逐層將這些模型封裝起來成為最終的符合ISO18000-6標準的RFID網(wǎng)絡(luò)系統(tǒng)模型。上文所建的是Type A協(xié)議模型,建立符合Type B或Type C協(xié)議的模型只需將處理器進程模型、無線發(fā)送機和無線接收機模塊的設(shè)置根據(jù)不同標準做相應(yīng)調(diào)整即可。同理,建立符合其他協(xié)議和標準的模型,只需要按照標準調(diào)整天線、無線發(fā)送機和接收機模塊的屬性設(shè)置以及改動進程模型即可。
??? 采用圖1的網(wǎng)絡(luò)結(jié)構(gòu)驗證建模的準確性。驗證過程采用ODB調(diào)試和VC聯(lián)調(diào)相結(jié)合的方法。ODB調(diào)試用于追蹤顯示整個通信過程,VC聯(lián)合調(diào)試用于觀察內(nèi)部關(guān)鍵變量的變化情況。本文所建RFID網(wǎng)絡(luò)模型調(diào)試結(jié)果符合ISO18000-6標準的防碰撞機制,驗證了建模的準確性。
3 算法優(yōu)化與分析
??? ALOHA算法使用吞吐量衡量系統(tǒng)性能,吞吐量定義為一幀的發(fā)送時間內(nèi)成功發(fā)送的平均幀數(shù)。定義S為吞吐量,G為網(wǎng)絡(luò)負載即一幀的發(fā)送時間內(nèi)總共發(fā)送的平均幀數(shù),則時隙ALOHA算法的吞吐量公式為:
???
??? 而RFID防碰撞算法優(yōu)劣的主要判別依據(jù)是標簽識別速率。與吞吐量類似,在RFID系統(tǒng)中,定義標簽識別速率為V, T為成功識別的標簽總數(shù),N為成功識別這些標簽所用的時間,則標簽識別速率的公式為:
????
例如工程中某款讀寫器的標簽識別速率為300個標簽/秒,是指它每秒能成功識別300個標簽。為簡化測試,定義t為單位時隙,即讀寫器連續(xù)兩條命令之間的時間間隔,n為成功識別所有標簽所用的時隙總數(shù),則式(2)可推導(dǎo)為:
???
??? 由于單位時隙t在同等硬件條件下可近似為固定的,故仿真測試用的標簽識別速率可近一步簡化為式(4),即單位時隙內(nèi)成功識別的標簽數(shù)目。
???
??? 利用OPNET仿真參數(shù)統(tǒng)計工具對所建模型進行測試,收集不同Round_size設(shè)置下的標簽識別速率。測試時在讀寫器射頻場內(nèi)放入的標簽依次為2、4、8、20、30、60、100、300個,運行500次取均值,得到表1測試結(jié)果。表1中識別速率為0是指所用識讀時隙總數(shù)過大,在運行過程中幾乎無法識別一個標簽。
??? 分析表1得到,對應(yīng)每種標簽數(shù)目,存在著一個最優(yōu)的Round_size設(shè)置使得標簽識別速率最快,而且這種最優(yōu)的Round_size值是隨著標簽數(shù)目變化而變化的。表1中可以看到,標簽數(shù)目為2時,Round_size取8的標簽識別速率最快;標簽數(shù)目為300時,Round_size取128的識別速率最快。如果采用固定的Round_size,則標簽數(shù)目過大或過小時都會造成識別速率降低:如固定Round_size=8,標簽數(shù)目超過60時識別速率為0;固定Round_size=256,標簽數(shù)目較小時識別速率接近0。
為測試出不同標簽數(shù)目下的最優(yōu)化的Round_size或者Q值,減小放入讀寫器射頻場內(nèi)的標簽數(shù)目間隔,并增加仿真運行次數(shù),得到圖4和圖" title="和圖">和圖5兩條參數(shù)優(yōu)化設(shè)置曲線。圖4和圖5分別針對Type A協(xié)議和Type C協(xié)議。這兩條曲線為調(diào)整Round_size和Q值提供了依據(jù)。
?
???????????????????????????????
??? 具體應(yīng)用方法:目前工程中常固定Round_size或者Q值,標簽識別速率受限。要采用圖4和圖5的曲線優(yōu)化設(shè)置,只需將這兩條曲線設(shè)置數(shù)據(jù)寫入讀寫器程序中。凡是支持ISO18000-6 Type A和Type C協(xié)議的讀寫器,一旦獲得當(dāng)前標簽射頻場內(nèi)標簽數(shù)目,即可自動查詢圖4和圖5的曲線,將Round_size和Q值調(diào)整到最優(yōu)取值。例如:在倉儲應(yīng)用中,若入倉的一批貨物有500件,貼有Type A型標簽,則讀寫器查詢圖4曲線,將Round_size自動設(shè)置為256的最優(yōu)取值。在超市應(yīng)用中,若顧客一次購買商品20件,貼有Type C型標簽,則讀寫器自動查詢圖5曲線,設(shè)置Q=4。而標簽數(shù)目的獲取,可以采用估計算法[1],或者由管理員通過用戶控制界面輸入,例如倉儲應(yīng)用中,管理員是知道每批貨物的數(shù)目的;而超市環(huán)境中,可由顧客輸入所購商品數(shù)目或在購物車上安裝簡易裝置計算出商品數(shù)目。
4 實驗結(jié)果及討論
??? 利用OPNET所建模型對算法優(yōu)化前后比較,得到的統(tǒng)計數(shù)據(jù)如圖6所示。從圖中明顯看到,優(yōu)化后算法的標簽識別速率遠遠高于Round_size固定設(shè)置為8、16、32、64、128、256的情形。仿真證明,Round_size和Q值優(yōu)化調(diào)整后,標簽識別速率比優(yōu)化前至少提高了52%,接近于同類算法的最優(yōu)值。該優(yōu)化算法已應(yīng)用于本項目所設(shè)計的UHF 頻段RFID讀寫器中。
????????????????????????????????
??? 本文在OPNET平臺上建立的仿真和測試模型具有建模直觀、測試方便的優(yōu)點,可移植于其他防碰撞算法、RFID標準和協(xié)議、RFID數(shù)據(jù)加密算法、多讀寫器防沖撞技術(shù)等方面的研究,具有較高的通用性。
參考文獻
[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網(wǎng)絡(luò)仿真[M]. 北京:清華大學(xué)出版社,2004.