UHF RFID系統(tǒng)中直接解碼碰撞的新方案
摘要:通過改造UHF RFID系統(tǒng)中標簽的隨機碼生成器,重新設計隨機碼模式,并為RFID閱讀器添加碰撞解碼系統(tǒng),改善碰撞時隙,使相撞的多個隨機碼可被直接解碼,系統(tǒng)的性能顯著提高。在基于GNU無線電和USRP2的實驗平臺實現此方案以驗證其可行性。理論分析和測試平臺的實驗結果表明,標簽讀取率較傳統(tǒng)方案有顯著提高。
關鍵詞:超高頻射頻識別;碰撞;直接解碼;GNU無線電和USRP2
0 引言
超高頻射頻識別(UHF RFID)是一種新興的無線技術,它使得微機芯片能夠遠程供電和對標識符及其他信息進行操作。RFID是“物聯網”的關鍵技術之一,由于其應用多樣化已日益普及,如庫存控制和定位。常使用的RFID的標準之一是EPC Globle Class 1 Generation 2(簡稱EPC Globle C1G2)。根據EPC標準,多個標簽可以在分幀時隙ALOHA算法下進行訪問通道。以前的工作主要集中在研究更有效的算法來找到最佳的幀長來調整系統(tǒng)參數,以提高RFID系統(tǒng)的效率。這些方案的效率都約束于ALOHA算法理論吞吐率上限36.8%。
本文提出了一種直接解碼碰撞(Directly Decoding the Collisions縮寫為DDC)增加RFID系統(tǒng)吞吐率的實用設計。其原理是減少固定長度隨機碼所攜帶的信息量使得它們能夠同時傳送。如果有幾個隨機碼在同一個時隙發(fā)生碰撞,此方案能夠達到和只收到一個隨機碼相同的性能,同時利用更有效的標簽數估計算法得到相撞標簽的數量。這種設計新的隨機碼模式和能夠解碼碰撞的隨機碼的方案突破了ALOHA算法理論上限的約束。
1 直接解碼方案體
1.1 初始調制
此方案重點在于RFID系統(tǒng)中的FM0基帶和二進制移相鍵控(BPSK)調制。為了通過無線信道傳輸隨機碼,標簽映射位映射到基帶碼,然后通過調制把基帶碼映射到復合信號。
如圖1所示,FM0基帶使用兩個不同的符號(-1,1)或(1,-1)代表0位,并使用兩個相同的符號(-1,-1)或(1,1)代表1位?;鶐Ь幋a是獨立于調制方法的?;鶐Ь幋a轉化為模擬信號,BPSK調制中,1映射為余弦載波波形cos(2πfct+0),-1映射為反余弦載波波形cos(2πfct+π)。其中fc是載波頻率,在UHFRFID系統(tǒng)它通常是915MHZ左右。無線信號通常表示為離散復數,實部表示為I,虛部表示為Q。這使得載波相位變化設計簡化。載波可以由式(1)表示。
Acos(2πfct+[t])=Icos(2πfct)+Qsin(2πfct) (1)
符號θ[t]表示載波相位,在BPSK調制中可取0或θ,符號i表示虛數單位,復數的實部是I=Acosθ[t],虛部是Q=Asinθ[t]。I和Q組成一個復數用來在兩個無線終端之間傳輸和接收。
1.2 標簽端
我們使用θ[t]來表示在物理層中第t個傳輸信號,t=1T,2T……,nT和此信號的采樣間隔是T。將信息添加到隨機碼,我們采取了1的位或多個1要替換一個或多個0位的位數。這種替換的基本規(guī)則是不改變其他位的波形形狀,例如,在FM0基帶,我們需要把兩個連續(xù)的0更換為兩個連續(xù)的1位。實驗結果表明,例如曼徹斯特解碼的大部分的數據編碼方法通過限制使用“1”位可以達到這一要求。最后我們有式(2)來表示標簽的位串。
x[t]=b[t]+ξ[t] (2)
其中b[t]表示基信號,例如己知首段與尾端的連續(xù)位0。這里的重點是,b[t]的數據是已知的。為了攜帶數據,我們加入ξ[t],這樣,ξ[t]的開始位置是信息的關鍵。如圖1所示,信號電平中1表示為ξ[t],連續(xù)的0表示為b[t]。在一個典型的UHF RFID系統(tǒng),標簽傳送一個隨機碼,這個隨機碼有已知的開頭和結束信號。基信號b[t]可以編排成任何已知的形式。加權式ξ[t]可以插在b[t]中的任何位置,但也改變不了b[t]的形式。
1.3 閱讀器端
經過無線通道后,信號振幅和相位發(fā)生變化,在這里,接收到的信號表示如下:
y[t]=Hx[t]+G[t] (3)
H表示傳輸信號接收信號之間的相位變化和振幅衰減相疊加出的復數,G[t]是隨機噪聲。當閱讀器收到兩個碰撞的隨機碼,收到信號表示如下:
y[t]=H1x1[t]+H2x2[t]+G[t] (4)
或
y[t]=H1b[t]+H1ξ1[t]+H2b[t]+H2ξ2[t]+G[t] (5)
應當指出,上述公式并不意味著這兩個隨機碼的第n個取樣是重疊的,我們只是使這個公式討論起來更加清晰。這兩個隨機碼有著相同的基信號b[t],這個基信號可以通過推算振幅和相位偏移量相減得到。相減后,我們得到式(6)。
y[t]=H1ξ1[t]+H2ξ2[t]+G[t]H (6)
H的制約條件能夠通過構建步驟估計出來,并且可以看成是已知樣本,至于ξ1[t]和ξ2[t],只要它們所在的兩個標簽沒有發(fā)生碰撞,就能夠通過推算樣本偏移量和振幅來解碼ξ1[t]和ξ2[t]。
1.3.1 振幅估計
在第一次收到的隨機碼的開頭一般都有無碰撞符。無碰撞符也是程序開始位。我們可以通過首個RN的無碰撞符來估計振幅。我們收到的是復數y[t],首次無碰撞復數的振幅可以表示為:
I1和Q1都可以通過無碰撞符精確地推算出來。第二個隨機碼的振幅可以從碰撞的尾端數據估計出來。上面公式是常見案例中的振幅估測的通常形式。碰撞部分的振幅可以用式(8)表示。
1.3.2 頻率和相位偏移估計
假設一個載波是cos(2πfct+θ[t]),從標簽傳送到接收器,由于振蕩器等硬件原因,總是有一些頻率和相位上的偏移量,偏移量或誤差表示如下:
y[t]=Acos(2π(fc+ferr)t+θ[t])+G[t] (9)
通常情況下,接收方要估算頻率誤差,然后通過如科斯塔斯環(huán)等機制行進補償。頻率是相位的時間導數,所以,相偏移量估算包括頻率誤差。我們使用線性回歸來估算無碰撞符的相位偏移量,碰撞區(qū)域的相偏移量估算公式如下:
θerr[t+T]=θerr+α*T (10)
通過預測值與實際值的百分比差異計算出的相誤差結果顯示在圖2中。
它表明了我們可以預測出碰撞符的相位,甚至一些已知編碼的相位。在這個實驗中,兩個信噪比級別為8±1dB和16±1dB。
1.4 信號重建
信號的采樣點位置是隨機的,會產生樣本偏移量。在閱讀器端,我們構建每個編碼有N個樣本的隨機碼波,而不用去估算樣本偏移量。為了獲取接收到的隨機碼的副本,我們假設每個編碼的有n個采樣點,我們找到N/n個可能匹配的最好的一個?,F在,我們通過無碰撞位的第一個隨機碼得到了振幅和相位,可以通過已知編碼位和最佳匹配數型來重建此隨機碼。我們不能確定位1開始的位置,就不可以減去原隨機碼。在數據字段中我們把原始11位替換成連續(xù)的00位。對于第一個隨機碼,我們完全知道減法運算后剩下的什么,但不是知道它的位置。第二個隨機碼做以上相同的操作,最后得到了兩種己知的編碼。
第一個隨機碼余下的編碼很大幾率與第二個隨機數的開頭相沖突,通過相關的測算可以找到第二個隨機數的開始端。在重建第二個隨機碼標識和忽略這些信號都會產生相位跟蹤誤差。由于BPSK的內在特性,無碰撞樣本的虛數部分為零,利用此特性,可以在跟蹤相誤差的時候找出無用的編碼并忽略掉。
1.5 獲取隨機碼
兩個隨機碼的余下的編碼位很可能在時域上同一位置發(fā)生沖突,我們通過確定的初始位置和改變這兩個隨機數的時域來解決這個問題。由于這兩個隨機數的取樣點距仍可計算,所以即使兩個1,0位是完全重疊,我們也可以對它們進行解碼。與此同時,如果沒有初始編碼但噪聲等級超過閾值,我們將刪除整個碰撞。
2 實驗
使甩GNU無線電和USRP2的實驗平臺進行方案的性能測試。此試驗中使用了1個閱讀器和8個標簽。雖然實際應用中需要成百上千個標簽,但是由于可以調整幀長來匹配標簽數,所以此實驗得出的結論同大規(guī)模系統(tǒng)得出的結論是一樣的。如圖3、圖4所示,圖中“one”表示解碼碰撞的兩個隨機碼中至少有一個是對的,“both”表示碰撞的兩個隨機碼都被成功解碼。
圖5表示的是3個隨機碼(K=3)碰撞的相似實驗,解碼過程是一個迭代過程,由于碰撞的隨機碼向其它發(fā)送更多的信號噪聲,3個碰撞隨機碼的解碼率相比于2個的要相對低些。圖中曲線表明,此方案能在3個隨機碼碰撞情況下很好地解碼。
3 結論
本文通過設計新的隨機碼模式來減少固定長度隨機碼所攜帶的信息量使得它們能夠同時傳送。實驗數據表明此方案較傳統(tǒng)的方案,標簽讀取率有很大的提高。