當數字信號在RFID系統(tǒng)中傳輸時,由于系統(tǒng)特性不理想和信道中有噪聲干擾,信號的波形會產生失真,在接收判斷時可能誤判而造成誤碼,最終導致傳輸錯誤。因此,RFID系統(tǒng)中必須具有差錯控制功能。
1.1 差錯的性質和表示方法1.差錯的性質
根據信道噪聲干擾的性質,差錯可以分為隨機錯誤、突發(fā)錯誤和混合錯誤3類。
(1)隨機錯誤
隨機錯誤由信道中的隨機噪聲干擾引起。在出現這種錯誤時,前、后位之間的錯誤彼此無關。產生隨機錯誤的信道稱為無記憶信道或隨機信道。
(2)突發(fā)錯誤
突發(fā)錯誤由突發(fā)干擾引起。這種錯誤的特點是,當前面出現錯誤時,后面往往也會出現錯誤,它們之間有相關性。產生突發(fā)錯誤的信道稱為有記憶信道或突發(fā)信道。
突發(fā)錯誤的誤碼影響可用突發(fā)長度來表征。突發(fā)長度b定義為,當產生某突發(fā)錯誤時,錯誤圖樣中最前面的1和最后出現1的間隔長度。例如,傳輸比特流為0011 1000,接收到的比特流為0110 0100,突發(fā)錯誤長度b=5。
(3)混合錯誤
混合錯誤既包括隨機錯誤又包括突發(fā)錯誤,因而既會出現單個錯誤,也會出現成片錯誤。
2.差錯的表示方法
差錯的大小通常用誤比特率Pb或誤碼元率Ps來表示,即
在有些應用場合,也可以采用誤字率PW來表示,即
Pb,Ps和PW都反映了出現差錯的概率。
1.2 差錯控制
差錯控制實現兩部分功能:差錯控制編碼和差錯控制解碼。其基本思想是在傳輸信息數據(信息碼元)中增加一些冗余編碼(又稱為監(jiān)督碼元),使監(jiān)督碼元和信息碼元之間建立一種確定的關系,在接收端可根據已知的特定關系來實現錯誤的檢測與糾正。
在數字通信系統(tǒng)中,利用檢糾錯碼進行差錯控制的方法有3種:反饋重發(fā)(ARQ)、前向糾錯(FEC)和混合糾錯(HEC)。
(1)反饋重發(fā)(ARQ)
在ARQ方法中,發(fā)送端需要在得到接收端正確收到所發(fā)信息碼元(通常以幀的形式發(fā)送)的確認信息后,才能認為發(fā)送成功,因此該方法需要反饋信道。
ARQ有兩種方式:停-等方式和連續(xù)工作方式。在停-等方式中,必須從反饋信道獲得ACK(確認)幀或NAK(檢測到錯誤需要重發(fā))幀后才能發(fā)送下一組信息。也就是說,收到ACK幀則可發(fā)送下一幀,收到NAK幀則需要重發(fā)出現錯誤的該幀。在連續(xù)工作方式中,可發(fā)送多幀,僅重發(fā)出現錯誤的有關幀,或重發(fā)出現錯誤的幀及其以后(按幀序號的順序)發(fā)送的幀,通常采用滑動窗口協(xié)議以確定重發(fā)策略。連續(xù)工作方式比停-等方式的傳輸效率高。
ARQ方式對編碼的糾錯能力要求不高,僅需要有較高的檢錯能力。
(2)前向糾錯(FEC)
在FEC方法中,接收端通過糾錯解碼自動糾正傳輸中出現的差錯,所以該方法不需要重傳。這種方法需要采用具有很強糾錯能力的編碼技術,其典型應用是數字電視的地面廣播。
(3)混合糾錯(HEC)
HEC方法是ARQ和FEC的結合,其設計思想是對出現的錯誤盡量糾正,糾正不了則需要通過重發(fā)來消除差錯。
1.3 檢糾錯碼
從前面的分析可知,要實現差錯控制,編碼技術十分關鍵,下面介紹檢糾錯碼的有關問題。1.檢糾錯編碼的基本知識
(1)信息碼元與監(jiān)督碼元
信息碼元是發(fā)送的信息數據比特。當以k個碼元為信息碼元時,在二元碼的情況下,總共有2k種不同的信息碼組。監(jiān)督碼元又稱為檢驗碼元,是為了檢糾錯而增加的冗余碼元。通常對k個信息碼元附加r個監(jiān)督碼元,因此總碼元數為n=k+r。
(2)許用碼組與禁用碼組
若碼組中的碼元數為n(即碼長),則在二元碼情況下,總碼組數為2n個,其中信息碼組為2k個,稱為許用碼組,其余的2n-2k個碼組不予傳送,稱為禁用碼組。糾錯編碼的任務就是從2n個碼組中,按某種算法選擇出2k個許用碼組。
(3)漢明距離
漢明距離(碼距)是指每兩個碼組間的距離,即兩碼組對應位取值不同的個數(異或后1的個數)。例如,000與111之間的漢明距離為3。
2.檢糾錯碼的分類
根據檢糾錯碼對隨機錯誤和突發(fā)錯誤的檢錯能力,可以對其分類,如圖4.2所示。
(1)分組碼
若一個碼組的監(jiān)督碼元僅與本碼組的信息碼元有關,而與其他碼元組的信息碼元無關,則這類碼稱為分組碼。若信息碼元與監(jiān)督碼元之間的檢驗關系可用線性方程組表示,則稱為線性碼。反之,若不存在線性關系,則稱為非線性碼。符合循環(huán)性的線性碼稱為循環(huán)碼,循環(huán)碼易于用簡單的反饋移位寄存器實現。常用的循環(huán)碼有循環(huán)冗余檢驗碼(CRC)、里德-所羅門(Reed-Solomon,RS)碼及BCH碼。非循環(huán)碼不滿足循環(huán)性,常用的如奇偶檢驗碼、漢明碼等。
(2)卷積碼
若碼組的監(jiān)督碼元不僅與本碼組的信息碼元相關,而且與本碼組相鄰的前m個時刻輸入的碼組的信息碼元之間也具有約束關系,則稱為卷積碼。卷積碼的糾錯能力隨m的增加而提高。在編碼效率與設備復雜性相同的前提下,卷積碼的性能優(yōu)于分組碼,至少不低于分組碼。
(3)交織碼
如果采用交織技術,把突發(fā)錯誤分散成隨機的、獨立的錯誤,那么用糾正隨機錯誤的碼來糾正突發(fā)錯誤就會獲得較好的效果。利用交織技術構造出來的編碼稱為交織編碼。例如,將發(fā)送比特流的比特序列構造成8×8的矩陣,發(fā)送時改以按列的順序發(fā)送(即a1,a9,a17,a25,…),這樣就構成了最簡單的比特交織,
3.編碼效率
編碼效率為信息碼元數k與總碼元數n之比,表示為編碼效率反映了該碼的信道利用率。
1.4 數字通信系統(tǒng)的性能
(1)頻譜效率和可靠性
為判定一個數字通信系統(tǒng)的優(yōu)劣,必須從頻譜效率和可靠性兩個方面進行比較。頻譜效率(bps/Hz)是指經過數字調制后,每赫茲帶寬所能傳送的數據速率。一般說來,頻譜效率高的通信系統(tǒng),其傳輸信息的能力較強,但傳輸可靠性較差;頻譜效率低的通信系統(tǒng),其傳輸信息的能力較弱,但傳輸可靠性較高。通常,采用Eb和誤比特率(BER)的關系曲線可以較全面地反映數字通信系統(tǒng)的有效性和可靠性。
(2)Eb
Eb是信號和噪聲之間強弱關系的一種度量方法。Eb代表平均到每個比特上的信號能量,No表示噪聲的功率譜密度。實用的通信系統(tǒng)在一定的誤比特率下即可正常工作,因此用Eb和BER之間的關系曲線就可以比較不同數字通信系統(tǒng)的性能。Eb表示方法的缺陷是,Eb和No不是系統(tǒng)中可以直接測得的參數,必須通過運算得出。
(3)載噪比(C/N)和信噪比(S/N)
當需要直接了解數字通信系統(tǒng)的可靠性時,可使用載噪比(C/N)和BER的關系曲線,或信噪比(S/N)和BER的關系曲線,因為C/N和S/N可以通過測量直接得到。C/N和S/N的區(qū)別在于:C/N是指已調制信號的平均功率(包括傳輸信號的功率和調制載波的功率)與加性噪聲的平均功率之比,而S/N僅指傳輸信號的平均功率與加性噪聲的平均功率之比,C/N比S/N大。
1.5 RFID中的差錯檢測
目前,RFID中的差錯檢測主要采用奇偶檢驗碼和CRC碼,它們都屬于線性分組碼。1.線性分組碼
(1)構成
線性分組碼由k個信息碼元和r個監(jiān)督碼元構成,總碼元個數為n(見圖4.1)。監(jiān)督碼元僅與所在碼組中的信息碼元有關,且通過預定的線性關系聯(lián)系起來。這種線性分組碼可記為(n,k)碼。
(2)封閉性和最小碼距
通過一定的算法,(n,k)碼可以構成2k個許用碼組,這些碼組的集合構成代數中的群,因此又稱為群碼或塊碼。它具有下列性質:
① 任意兩個碼組模2和仍為一個碼組,即具有封閉型;
② 碼的最小距離d等于非零碼的重量,碼的重量(簡稱碼重)為碼組中非零碼元的數目。
例如,一個(7,3)碼為其非零碼的碼重為4,故最小距離d=4,同時可以驗證它具有封閉性。
(3)循環(huán)碼
具有循環(huán)性的線性分組碼稱為線性分組循環(huán)碼,簡稱循環(huán)碼。所謂循環(huán)性,是指通過一個碼組的循環(huán)移位即可構成另一個碼組。在前例中,碼001 1101左移成為011 1010,右移成為100 1110,其他碼組的情況也類似,因此該(7,3)碼是一個循環(huán)碼。
(4)檢糾錯能力
在線性分組碼中,檢糾錯能力和碼的最小距離d有關,即:
① 若要檢測碼組中e位誤碼,則需要d≥e+1;
② 若要糾正碼組中t位誤碼,則需需要d≥2t+1;
③ 若要糾正碼組中t位誤碼,且同時檢測e位誤碼(e≥t),則需要d≥t+e+1。2.奇偶檢驗碼
檢驗碼中最簡單的是奇偶檢驗碼,它是在數據后面加上一個奇偶位(Parity Bit)的編碼。奇偶檢驗位值的選取原則是使碼字內1的數目為奇數或偶數。奇偶檢驗位的值是這樣設定的:奇檢驗時,若字節(jié)的數據位中1的個數為奇數,則奇偶檢驗位的值為0,反之為1;偶檢驗時,若字節(jié)的數據位中1的個數為奇數,則奇偶檢驗位的值為1,反之為0。例如,當1011 0101通過在末尾加一位,以偶檢驗方式傳送時,就變成了1 0110 1011;以奇檢驗方式傳送時,就變成了1 0110 1010。奇偶檢驗碼的漢明距離為2,它只能檢測單比特差錯,檢測錯誤的能力低。3.CRC碼
CRC碼(循環(huán)冗余碼)具有較強的檢錯能力,且硬件實現簡單,因而在RFID中獲得了廣泛的應用。
(1)算法步驟
CRC碼是基于多項式的編碼技術。在多項式編碼中,將信息位串看成階次從Xk-1到X0的信息多項式M(X)的系數序列,多項式M(X)的階次為k-1。在計算CRC碼時,發(fā)送方和接收方必須采用一個共同的生成多項式G(X),G(X)的階次應低于M(X),且最高和最低階的系數為1。
在此基礎上,CRC碼的算法步驟為:
① 將k位信息寫成k-1階多項式M(X);
② 設生成多項式G(X)的階為r;
③ 用模2除法計算XrM(X)/G(X),獲得余數多項式R(X);
④ 用模2減法求得傳送多項式T(X),T(X)=XrM(X)-R(X),則T(X)多項式系數序列的前k位為信息位,后r位為檢驗位,總位數n=k+r。
CRC碼的計算示例如圖4.4所示。信息位串為1111 0111,生成多項式G(X)的系數序列為1 0011,階r為4,進行模2除法后,得到余數多項式R(X)的系數序列為1111,所以傳送多項式T(X)的系數序列為1111 0111 1111,前8位為信息位,后4位為監(jiān)督檢驗位。
(2)檢驗原理
因為T(X)一定能被G(X)模2整除,所以判斷接收到的T(X)能否被G(X)整除,則可以知道在傳輸過程中是否出現錯碼。當采用循環(huán)移位寄存器實現CRC碼計算時,應注意收、發(fā)雙方的循環(huán)移位寄存器的初始值應相同。
(3)編碼標準
CRC的優(yōu)點是識別錯誤的可靠性較好,且只需要少量的操作就可以實現。16位的CRC碼可適用于檢驗4 KB數據幀的數據完整性,而在RFID系統(tǒng)中,傳輸的數據幀明顯地比4KB短,因此除了16位的CRC碼外,還可以使用12位(甚至5位)的CRC碼。
以下3個生成多項式已成為國際標
國際標準:
CRC-12G(X)=X12+X 11+X 3+X 2+X+1
CRC-16 G(X)=X 16+X 15+X 2+1
CRC-CCITT G(X)=X 16+X 12+X 5+1
在RFID標準ISO/IEC 14443中,采用CRC-CCITT的生成多項式。但應注意的是,該標準中TYPE A采用CRC-A,計算時循環(huán)移位寄存器的初始值為6363H;TYPE B采用CRC-B,循環(huán)移位寄存器的初始值為FFFFH。