超高頻RFID標準中編碼方式的研究和S函數實現
作者:林君勉,李書芳
來源:RFID世界網
日期:2011-07-11 14:19:52
摘要:本文闡述了UHF RFID 標準中的編碼方式的特性,介紹了matlab/Simulink 中S 函數的實現方法,重點用S 函數實現了RFID 的編碼,以及對這些編碼模塊的封裝,并做了基于這些模塊的通信系統仿真。本文所做的工作可為基于Simulink 的通信系統仿真提供參考與支持。
1. 引言
RFID 作為無線領域新崛起的一項應用技術,已被廣泛應用于工業自動化、商業自動化、交通運輸管理等眾多領域。RFID 技術以無線通信技術和大規模集成電路技術為核心,利用射頻信號及其空間耦合、傳輸特性,驅動電子標簽電路發射其存儲的惟一編碼。它可以對靜止或移動的目標進行自動識別,并高效地獲取目標信息數據,通過與互聯網技術的進一步結合,還可以實現全球范圍內的目標跟蹤與信息共享。
本文參照已有國際標準 ISO/IEC 18000-6,首先研究了標準中不同的編碼方式的規則和特性,然后用S 函數來實現這幾種編碼,并利用Simulink 進行基帶編碼模塊的封裝和仿真。
2. UHF RFID 標準中的編碼方式
在射頻識別(RFID)技術中,讀寫器與電子標簽間相互通信傳遞數據(信息和指令)。為了便于通信,需要對數據的基帶信號進行編碼,主要是對要傳輸的信息進行編碼,以便傳輸信號能夠盡可能最佳地與信道相匹配,并且編碼后能夠使頻譜能量集中以節省傳輸所占頻帶寬度,其次使其具有檢錯能力和提供位同步信息。目前在UHF頻段的RFID 標準ISO/IEC18000-6 中,采用多種形式的數據編碼,見表1。
2.1 PIE 編碼
PIE (脈沖間隔編碼)編碼是在前向鏈路中采用。按照標準,符號波形如圖1 所示。
曼徹斯特編碼也是在前向鏈路中采用的,也被稱為分相編碼。編碼規則如圖2 所示。在曼徹斯特編碼中,如果原始數據為‘0’,將其編為‘01’;如果原始數據為‘1’,將其編為‘10’。這種編碼的特點是每個碼元中間都有跳變,低頻能量較少,便于接收端提取時鐘信息。
反向鏈路采用 FM0 技術,也被稱為雙相間隔碼。一個符號周期Trlb,分配給每個將被發送的位。在FMO 編碼中,數據轉換發生在所有的位邊界。另外,數據轉換發生在被發送的邏輯0 的中間位。
數據編碼先對字節的最高位進行,圖3 給出了8 位'B1'的編碼說明。
在 Simulink 中,可以通過將現有的模塊組合成子系統并進行封裝實現模塊,利用這種方法可以充分利用現有的Simulink 庫中的資源,方便快捷地進行模塊的搭建。另外,在實際的應用中,通常會發現有些過程用普通的Simulink 模塊不容易搭建,這是可以利用S 函數來自己編程實現所需要的模塊。S 函數可以極大的擴展Simulink 的功能,使得Simulink的仿真變得更靈活,更強大。這部分主要通過這種方法來實現RFID 標準中的編碼方式。
在使用 S 函數前,先簡單介紹一下Simulink 模型的處理過程。包含以下幾個方面:
1、初始化階段:將參數傳遞給 matlab 進行求值,得到的數值作為實際的參數使用,然后展開模型的層次,每個子系統被它們所包含的模塊代替,接著檢查信號的鏈接,最后確定狀態初值和采樣時間。
2、運行階段:計算輸出,更新離散狀態,然后計算連續狀態,最后計算輸出。
S 函數既可以是M 文件,也可以是MEX 文件。M 文件的S 函數結構明晰,易于理解,書寫方便,而且可以調用matlab 豐富的函數,對于一般的應用,使用matlab 語言編寫S 函數就夠用了。
M 文件的S 函數由以下形式的matlab 函數組成:[sys,x0,str,ts]=f(t,x,u,flag,p1,p2,…)
其中f 是S 函數的文件明,t 是當前時間,x 是S 函數相應的狀態向量,u 是模塊的輸入,flag 是所要執行的任務,p1,p2 等都是模塊的參數。在模型仿真的過程中,Simulink 不斷調用函數f,通過flag 來說明要完成的任務。每次S 函數執行任務,都將以特定結構返回結果。
我們將編寫的s 函數封裝成模塊并搭建仿真模型,如圖4所示。
根據上述內容,結合 PIE 編碼規則,設計的S 函數如下:
本文介紹了RFID標準中的編碼方式,并介紹了利用S函數編程來實現自定義模塊的方法,搭建了編碼仿真模型,并給出了仿真結果。本文所做的工作可以為基于Simulink的仿真提供支持,也可為實際中利用Simulink進行模塊封裝與仿真提供參考。
RFID 作為無線領域新崛起的一項應用技術,已被廣泛應用于工業自動化、商業自動化、交通運輸管理等眾多領域。RFID 技術以無線通信技術和大規模集成電路技術為核心,利用射頻信號及其空間耦合、傳輸特性,驅動電子標簽電路發射其存儲的惟一編碼。它可以對靜止或移動的目標進行自動識別,并高效地獲取目標信息數據,通過與互聯網技術的進一步結合,還可以實現全球范圍內的目標跟蹤與信息共享。
本文參照已有國際標準 ISO/IEC 18000-6,首先研究了標準中不同的編碼方式的規則和特性,然后用S 函數來實現這幾種編碼,并利用Simulink 進行基帶編碼模塊的封裝和仿真。
2. UHF RFID 標準中的編碼方式
在射頻識別(RFID)技術中,讀寫器與電子標簽間相互通信傳遞數據(信息和指令)。為了便于通信,需要對數據的基帶信號進行編碼,主要是對要傳輸的信息進行編碼,以便傳輸信號能夠盡可能最佳地與信道相匹配,并且編碼后能夠使頻譜能量集中以節省傳輸所占頻帶寬度,其次使其具有檢錯能力和提供位同步信息。目前在UHF頻段的RFID 標準ISO/IEC18000-6 中,采用多種形式的數據編碼,見表1。

2.1 PIE 編碼
PIE (脈沖間隔編碼)編碼是在前向鏈路中采用。按照標準,符號波形如圖1 所示。

圖 1 PIE 編碼符號波形

曼徹斯特編碼也是在前向鏈路中采用的,也被稱為分相編碼。編碼規則如圖2 所示。在曼徹斯特編碼中,如果原始數據為‘0’,將其編為‘01’;如果原始數據為‘1’,將其編為‘10’。這種編碼的特點是每個碼元中間都有跳變,低頻能量較少,便于接收端提取時鐘信息。

圖 2 曼徹斯特編碼規則
反向鏈路采用 FM0 技術,也被稱為雙相間隔碼。一個符號周期Trlb,分配給每個將被發送的位。在FMO 編碼中,數據轉換發生在所有的位邊界。另外,數據轉換發生在被發送的邏輯0 的中間位。
數據編碼先對字節的最高位進行,圖3 給出了8 位'B1'的編碼說明。

圖 3 FM0 編碼規則
在 Simulink 中,可以通過將現有的模塊組合成子系統并進行封裝實現模塊,利用這種方法可以充分利用現有的Simulink 庫中的資源,方便快捷地進行模塊的搭建。另外,在實際的應用中,通常會發現有些過程用普通的Simulink 模塊不容易搭建,這是可以利用S 函數來自己編程實現所需要的模塊。S 函數可以極大的擴展Simulink 的功能,使得Simulink的仿真變得更靈活,更強大。這部分主要通過這種方法來實現RFID 標準中的編碼方式。
在使用 S 函數前,先簡單介紹一下Simulink 模型的處理過程。包含以下幾個方面:
1、初始化階段:將參數傳遞給 matlab 進行求值,得到的數值作為實際的參數使用,然后展開模型的層次,每個子系統被它們所包含的模塊代替,接著檢查信號的鏈接,最后確定狀態初值和采樣時間。
2、運行階段:計算輸出,更新離散狀態,然后計算連續狀態,最后計算輸出。
S 函數既可以是M 文件,也可以是MEX 文件。M 文件的S 函數結構明晰,易于理解,書寫方便,而且可以調用matlab 豐富的函數,對于一般的應用,使用matlab 語言編寫S 函數就夠用了。
M 文件的S 函數由以下形式的matlab 函數組成:[sys,x0,str,ts]=f(t,x,u,flag,p1,p2,…)
其中f 是S 函數的文件明,t 是當前時間,x 是S 函數相應的狀態向量,u 是模塊的輸入,flag 是所要執行的任務,p1,p2 等都是模塊的參數。在模型仿真的過程中,Simulink 不斷調用函數f,通過flag 來說明要完成的任務。每次S 函數執行任務,都將以特定結構返回結果。
{$page$}
我們將編寫的s 函數封裝成模塊并搭建仿真模型,如圖4所示。
根據上述內容,結合 PIE 編碼規則,設計的S 函數如下:




仿真模型中,中間的PIE模塊就是設計封裝的模塊, 仿真后的結果如圖5所示。仿真結果與PIE編碼的編碼規則吻合。

圖 4 PIE 編碼的模型

圖 5 PIE 編碼模型的仿真結果

本文介紹了RFID標準中的編碼方式,并介紹了利用S函數編程來實現自定義模塊的方法,搭建了編碼仿真模型,并給出了仿真結果。本文所做的工作可以為基于Simulink的仿真提供支持,也可為實際中利用Simulink進行模塊封裝與仿真提供參考。