基于NS-3的RFID系統(tǒng)的設(shè)計及仿真
0 引 言
射頻識別(Radio Frequency Identification,RFID)是一 種新興的自動識別技術(shù),具有無需視距通信,能夠承受惡劣的 物理環(huán)境,允許多標簽同時識別等特點,廣泛應(yīng)用于智能交通、 物品跟蹤、防偽識別等領(lǐng)域。同時,不同的應(yīng)用需求造成了 RFID 系統(tǒng)的多樣性與復雜性。RFID 系統(tǒng)中的一些關(guān)鍵問題, 如標簽碰撞、閱讀器碰撞、系統(tǒng)安全等問題都有待進一步研 究和完善。網(wǎng)絡(luò)仿真實現(xiàn)了對真實環(huán)境的模擬,是協(xié)議算法評 價和系統(tǒng)性能評估不可缺少的工具。
目前使用較為廣泛的網(wǎng)絡(luò)仿真工具有 OPNET[1],NS-2[2] 等。OPNET 是一種功能強大的網(wǎng)絡(luò)仿真和建模工具,幾乎可 以模擬任何網(wǎng)絡(luò)設(shè)備,支持各種網(wǎng)絡(luò)技術(shù),同時還支持面向?qū)?象的建模方式 ,并提供了圖形化的編輯界面。但是 OPNET 價格昂貴,當仿真網(wǎng)絡(luò)規(guī)模和流量很大時,仿真效率會降低, 且軟件所提供的模型庫也有限。NS-2 同樣是面向?qū)ο蟮哪?擬器可以對固定、無線、衛(wèi)星以及混合等多種網(wǎng)絡(luò)進行仿真。 與 OPNET 相比,NS-2 是一種開源的網(wǎng)絡(luò)仿真工具,可擴展 特性和開源特性賦予了其強大的生命力。但 NS-2 中存在不支 持多類型接口節(jié)點,無線物理層模型過于簡化等問題。美國 華盛頓大學 Thomas R. Henderson 教授及其項目組研究了新的 網(wǎng)絡(luò)模擬工具 NS-3[3]。NS-3 是新型開源的離散事件網(wǎng)絡(luò)模擬 器,重新改寫了 NS-2 網(wǎng)絡(luò)模塊,不支持 NS-2 的 API,使用 C++ 或 Python 語言。相比 NS-2,NS-3 使用更加方便,且提 供了對網(wǎng)絡(luò)協(xié)議的更低抽象層次,使其更貼近真實系統(tǒng) [4]。因 此本文選用 NS-3 建立 RFID 系統(tǒng)仿真平臺。
1 RFID 系統(tǒng)仿真平臺的搭建
RFID 系統(tǒng)基于 NS-3 模擬器仿真,采用模塊化設(shè)計,通 過 C++ 語言編程實現(xiàn)所需功能。閱讀器與標簽之間通常采用 詢問 - 應(yīng)答的半雙工通信方式,Reader 先發(fā)送命令,Tag 根據(jù) Reader 發(fā)送的命令執(zhí)行相應(yīng)操作,需要時,發(fā)送響應(yīng)數(shù)據(jù)包 [5]。 閱讀器和標簽是 RFID 仿真系統(tǒng)中兩種結(jié)構(gòu)相似但功能不同的 無線節(jié)點,均由 MAC 層對象和物理層對象組成,通過信道層 對象實現(xiàn)通信。通信架構(gòu)如圖 1 所示。
MAC 層將數(shù)據(jù)包封裝成幀 ;完成幀的發(fā)送接收 ;完成 閱讀器與標簽的邏輯操作。
閱讀器的功能通過在 MAC 層對象中對標簽的選擇、盤 存和訪問操作實現(xiàn) [6],閱讀器的操作邏輯如圖 2 所示。閱讀 器發(fā)送 Select 命令選擇查詢標簽,廣播攜帶幀長參數(shù) Q 的 Query 命令,盤存開始,收到命令的標簽產(chǎn)生一個 0 ~2Q -1 的隨機數(shù),并裝入時隙計數(shù)器中,當時隙計數(shù)器的值為 0 時, 標簽回復一個 16 位隨機數(shù)(RN16)。閱讀器判斷是否收到 RN16,如果收到就立即發(fā)送 ACK 命令;如果沒有收到就判斷 是否發(fā)生碰撞。若發(fā)生碰撞則采用 Q 算法防碰撞,若沒有發(fā) 生碰撞則閱讀器發(fā)送 QueryRep 命令重復查詢。
標簽的功能通過在 MAC 層對象中根據(jù)閱讀器命令轉(zhuǎn)換 狀態(tài)實現(xiàn) [6]。從閱讀器開始查詢到獲取標簽存儲的信息,標 簽共經(jīng)歷四個狀態(tài)的轉(zhuǎn)換,分別是就緒、仲裁、應(yīng)答和確認。 標簽的狀態(tài)轉(zhuǎn)換如圖 3 所示。標簽進入射頻區(qū)后上電進入就 緒狀態(tài),收到 Query 命令,若時隙計數(shù)器的值不為 0,則進入 仲裁狀態(tài)并等待 QueryRep 或 QueryAdjust 命令,直到時隙計 數(shù)器的值為 0 并進入應(yīng)答狀態(tài)。若時隙計數(shù)器的值為 0,則 進入應(yīng)答狀態(tài)反向散射 RN16,當接收到正確 RN16 的 ACK 命令時進入確認狀態(tài),進入確認狀態(tài)的標簽反向散射其存儲 的信息。
物理層 :定義了閱讀器與標簽之間無線通信的鏈路,包 括工作頻率、數(shù)據(jù)速率和編碼調(diào)制方式等技術(shù)參數(shù)以及數(shù)據(jù) 的發(fā)送接收。
信道層 :閱讀器與標簽通過信道層互相通信。信道層中 加入傳播損耗模型(Propagation Loss Model),并計算系統(tǒng)的 最遠工作距離。通過式(1)計算標簽芯片獲得的功率 Pr :
其中:Pt 為閱讀器的發(fā)射功率 ;Gt 為閱讀器天線增益 ;Gr 和 d 為標簽天線增益和工作距離 ;Pth 為標簽芯片的最低功耗。
2 RFID 系統(tǒng)測試
為驗證基于 NS-3 的 RFID 系統(tǒng)仿真平臺的搭建功能,在 此系統(tǒng)上運行一個實例,發(fā)現(xiàn)閱讀器與標簽可成功通信,獲 取標簽信息,如圖 4 所示。Reader 向 Tag1發(fā)送 Query 命令開 始查詢,收到命令后的 Tag1 在(0,2Q -1)范圍內(nèi)挑選一個 隨機數(shù),并將該數(shù)值載入。
當時隙計數(shù)器為 0 時,發(fā)送 RN16 ;當閱讀器收到 RN16 時發(fā)送含有相同 RN16 的 ACK 命令確認該標簽,標簽收到 ACK 命令后,發(fā)送存儲的 ID。
3 結(jié) 語
本文 搭建了一個基于 NS-3 的 RFID 仿真系統(tǒng),對其 MAC 層對象、物理層對象、信道層對象給出了具體的仿真實現(xiàn), 并通過實例驗證了此系統(tǒng)。NS-3 模塊化設(shè)計的靈活性便于給 RFID 系統(tǒng)加入各種不同的模塊,有利于 RFID 系統(tǒng)的深入研 究與探討,以及測試 RFID 系統(tǒng)性能,解決 RFID 相關(guān)問題。