陳 淋,李建成
(國防科學技術大學電子科學與工程學院,長沙 410073)
物聯網是實現全球物品信息共享的一個建立在互聯網上的全球網絡,其目的是物品到物品(Thing toThing,T2T)、人到物品(Human to Thing,H2T)、人到人之間的互連(Human to Human,H2H)[1],以實現智能化識別、定位、跟蹤、監控和管理。在物聯網眾多關鍵技術中,RFID 技術是其主要支撐技術[2]。隨著RFID 技術的發展,RFID的協議數量、種類也逐漸增多,針對不同協議的讀寫器、標簽測試也有相應的規范。
實時頻譜儀在RFID 空中接口數據測量分析中的應用也越來越廣泛,有的也嵌入了對部分常用RFID 空中接口協議的支持,能完成對標簽命令和讀寫器響應的解析。文獻[3]中闡述了運用實時頻譜分析儀,評估RFID 系統是否符合150/I EC 標準及國際發射機有關的政府法規。但其支持的協議有限,同時又有新的空中接口協議不斷出現(如我軍剛頒布的軍用射頻識別空中接口協議),因此,實時頻譜儀在實際使用中仍存在一定的局限性。MATLAB 作為科學研究和技術開發的一個優秀工具軟件,功能豐富,使用方便[4]。借助MATLAB 在信號處理領域中的強大工程計算功能,通過讀入頻譜儀采集的原始信號,針對不同的RFID 空中接口協議進行編程,從而使得RFID空中接口數據分析具有更強的靈活性。
實時頻譜儀的主要工作原理為[5]:輸入頻譜儀的射頻信號經過混頻后變成中頻信號,中頻信號經過濾波和A/D 轉換,A/D 樣點經過數字下變頻和抽樣,得到同相(I)和正交(Q)基帶信號流,其電壓值存儲于內存中,準備進一步的分析處理。通過儀器中的數字處理模塊,既可以進行時域的功率、電壓、相位等分析,也可以進行頻域分析、碼域分析等。
時域分析:信號的時域分析可分為I/Q時域分析和功率隨時域分析。
通過I/Q時域分析可以直觀地觀察數字下變頻器的原始I/Q 輸出信號幅度隨時間的變化。
通過功率時域分析可以顯示信號功率的變化情況,能直觀地觀察信號能量在時域上的分布情況。
頻域分析:信號的頻域分析方法就是根據信號的頻域描述來估計和分析信號的組成和特征量。一般包括對幅度譜、相位譜、能量譜、功率譜的測量,反應了信號在不同頻率點上的幅度、相位、功率等信息。通過頻域分析,可以觀察信號中的頻率組成成分和頻率分布范圍,確定信號中各個頻率成分的幅值和能量;通過時頻聯合分析,能更加直觀地對一段連續時間的頻譜進行觀察與分析。
碼域分析:依據相應的編碼規則,對特定的數字信號進行解碼分析,可以直觀地觀察解碼結果,解析這些結果所代表的命令參數信息,由此判斷該信號是否滿足RFID 空中接口協議的相關規定。
利用MATLAB 進行采集數據離線分析的具體流程如下:
首先根據文件存儲的結構,用MATLAB 從打開的數據文件中讀出各種參數以及I/Q 數據,將I 路數據和Q 路數據分別存入兩個矩陣中。利用這些數據就能使用MATLAB 進行時域頻域可視化分析,并繪出功率隨時間變化圖、時域波形圖、頻譜及頻譜圖等。
本文的采集信號為基于ISO/IEC 18000-6 TYPE C 協議的讀寫器、標簽射頻信號。讀出基本的IQ時域圖、功率隨時間變化、頻譜等如圖1所示。

圖1 讀入離線數據
從圖1可以看到I 路信號與Q 路信號為相位差90°,采用PRASK 調制的信號。由于是無源標簽,其能量為讀寫器提供,讀寫器發射功率比標簽應答功率大很多,頻譜能量集中分布在載波頻率附近,可以直觀地讀出標簽響應時間,讀寫器標簽的通信周期等。
取出功率隨時間變化圖(見圖2),對該射頻信號進行解碼分析:

圖2 功率隨時間變化圖
有信號的地方分為6個部分,從能量的大小可以看出1、2、4、6區域為讀寫器發送信號,3、5區域為標簽響應信號。根據協議規定[6],讀寫器發送信號和標簽響應信號分別為PIE 編碼和FM0編碼。其解碼流程如圖3、圖4所示。
截取第1段信號進行分析,解碼的結果為:0ss 1000000100010001010010其中0ss為前導碼Rtcal 及Trcal,該條命令為Query 命令。

圖3 PIE 解碼流程圖

圖4 FM0解碼流程圖
第2段信號解碼結果為:0s 0001,該條命令為QueryRep 命令。
第3段信號解碼結果為::0000 0000 00001010 v1 1000 1011 1111 1100,前14位是前導碼,后16位為生成的隨機數。
第4段信號解碼結果為::0s 01 1000 10111111 1100,該條命令為ACK 命令,后16位隨機數為標簽生成的隨機數。
第5段信號解碼結果為:0000000000001010v1 0011 0000 0000 0000 10010110 0000 0100 0001 0000 0001 0000 0010 00000000 1001 0000 0000 0000 0110 1000 0011 01111101 1100 1100 1100 1100 0000 0111 0010 1000,為前導碼加128位數據。這128位數據位標簽的唯一識別碼。
由此看出,該采集信號為讀寫器發出詢問命令,并通過標簽返回的16位隨機數與該標簽建立連接的過程。
MATLAB 簡單快捷,對脫離儀器自主分析采集數據,提供了很大的便利性和靈活性。本文對泰克實時頻譜儀采集的基于ISO/IEC 18000-6 TYPE C 協議的RFID 空中接口數據進行了離線分析,實際中,根據采用的RFID 空中接口協議的具體規定,進行適當修改即可適用于不同的協議,因此具有很強的通用性。
[1]樊雪梅.物聯網技術發展的研究與綜述[J].計算機測量與控制,2011.
[2]黃鵬,楊云志,李元忠.“物聯網”推動RFID技術和通信網絡的發展[J].電訊技術,2010.
[3]陳小芳.基于泰克RSA的分析評估和優化RFID系統[J].電子測試,2007(6).
[4]曾尚璀,沈華,俞振利.基于MATLAB系統的信號FFT頻譜分析與顯示[J].科技通報,2000(7).
[5]ISO/IEC.Information technology-Radio frequency identification for item management-Part 6:Parameters for air interface communications at 860 MHz to 960 MHz[S].Switzerland:ISO/ IEC,2006.
[6]張志涌.精通MATLAB6.5版[M].北京:北京航空航天大學出版社,2007.
[7]羅華飛.MATLAB GUI設計學習手記[M].2版.北京:北京航空航天大學出版社,2011.