熊 鑫,田增山
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
射頻識別技術(shù)(Radio FrequencyIdentificatio,RFID)以其體積小、速度快、成本低等諸多優(yōu)勢,目前已廣泛應(yīng)用于物聯(lián)網(wǎng)領(lǐng)域。傳統(tǒng)RFID主要應(yīng)用在非接觸識別上。隨著研究的深入,越來越多的研究人員將目光聚集在RFID的位置服務(wù)中。其中比較典型的實現(xiàn)方法大致可以分為兩類,一類基于接收的信號強(qiáng)度指示(Received Signal Strength Indication,RSSI)[1-3],另一類基于信道狀態(tài)信息(Channel State Information,CSI)[4-9]。已有研究表明,相對于RSSI,CSI具有更細(xì)的信息粒度[4],理論上能夠達(dá)到更高的精度,但基于CSI的距離解算方法精度受限于信號帶寬,與傳統(tǒng)RFID系統(tǒng)工作帶寬窄的特點相沖突,由此給基于CSI的距離解算方法帶來較多限制。受限于RFID的窄帶特性,文獻(xiàn)[5]對工作范圍和天線布局都提出了嚴(yán)苛的限制;文獻(xiàn)[6-7]使用天線陣列和合成孔徑雷達(dá)(Synthetic Aperture Radar,SAR)技術(shù)來提高系統(tǒng)性能,但該方法要求標(biāo)簽(Tag)處于運動狀態(tài),當(dāng)處于靜止時無法對得到Tag的位置信息。文獻(xiàn)[8]使用定制的寬帶RFID系統(tǒng),擴(kuò)展了傳統(tǒng)RFID系統(tǒng)的帶寬,具有很高的靈活性和測距精度,但該方法不兼容傳統(tǒng)的RFID系統(tǒng)。
綜上所述,在兼容傳統(tǒng)RFID系統(tǒng)的同時擴(kuò)展系統(tǒng)帶寬,對基于CSI的RFID位置服務(wù)系統(tǒng)顯得十分重要。文獻(xiàn)[9]提出了一種多頻點聯(lián)合定位系統(tǒng),該系統(tǒng)由自制的跳頻系統(tǒng)和用軟件無線電實現(xiàn)的全雙工RFID讀寫器組成,在兼容傳統(tǒng)RFID的同時擴(kuò)展了系統(tǒng)帶寬,且實現(xiàn)了高精度定位,但該文側(cè)重于可行性分析和定位算法的實現(xiàn),并未對其中的關(guān)鍵功能模塊即跳頻系統(tǒng)是如何檢測Tag反射信號并提取CSI的過程進(jìn)行描述,而該模塊的性能將直接影響系統(tǒng)的整體性能。基于此,本文提出一種Tag反射信號的檢測方法,利用Tag反射信號的功率譜特性,通過分析接收信號的能量譜,識別Tag反射信號得到識別信號,再利用能量檢測方法對識別信號進(jìn)行范圍限制得到檢測信號;然后改進(jìn)了文獻(xiàn)[10]中的信道估計方法,搭建了多頻點聯(lián)合測距系統(tǒng)以驗證系統(tǒng)性能。實驗結(jié)果表明,該系統(tǒng)具有較高的檢測效率;經(jīng)本文改進(jìn)的信道估計方法能有效減小載波相位的方差,且系統(tǒng)平均測距誤差約為2.5 cm,實現(xiàn)了厘米級測距。
多頻點聯(lián)合跳頻測距系統(tǒng)結(jié)構(gòu)如圖1所示。該系統(tǒng)正常工作基于Tag已被驗證的特性[9]:當(dāng)Tag處于激活狀態(tài)時,其相當(dāng)于一面鏡子,可以反射一定頻率內(nèi)任何形式的信號。在本系統(tǒng)中,Reader先用頻率為f1的信號使Tag處于激活態(tài),同時SDR1發(fā)送頻率為f2的純載波跳頻信號(從起始頻點到終止頻點順跳頻),這樣Tag就會將兩個頻率上的信號同時反射出去,SDR2接收到攜帶Tag調(diào)制信息的頻率為f2的信號后,經(jīng)過信號檢測、位同步、信道估計(得到CSI)及解碼后,再根據(jù)循環(huán)冗余校驗(Cyclic Redundancy Check,CRC)結(jié)果,只保留解碼正確的Tag反射信號的CSI。這樣,通過跳頻就能得到若干個頻點的CSI,接下來通過處理多頻點的CSI得到多頻點相位信息,再消除其中的相位誤差[9],最后通過求解整周模糊得到最終的距離測定結(jié)果。值得注意的是,本文系統(tǒng)中SDR1和SDR2之間必須保持載波相位的頻率和相位上的同步,這樣才能成功解碼并提取正確的載波相位[10]。
圖1 測距系統(tǒng)結(jié)構(gòu)
圖2 整周求解
Tag反射信號經(jīng)空口傳播至SDR2接收天線;接著,SDR2對反射信號進(jìn)行I、Q解調(diào)和數(shù)字采樣,此時反射信號從高頻的無線信號變成了基帶的數(shù)字采樣信號,因為Tag并不總是反射信號,所以此時的數(shù)字采樣信號中包含的反射信號比例并不高,需要作進(jìn)一步處理;然后,識別數(shù)字采樣信號中是否包含標(biāo)簽反射的信號,將包含表現(xiàn)反射信號的部分保留,不包含的部分舍棄;最后,進(jìn)一步對識別信號進(jìn)行范圍限制,得到最終的檢測信號。信號檢測的過程實際上就是從數(shù)字采樣信號中篩選標(biāo)簽反射信號的過程。本文根據(jù)反射信號的功率譜特性提出信號識別方法,然后用能量檢測的方法實現(xiàn)信號檢測,后文將逐一介紹。
根據(jù)GEN2協(xié)議,Tag支持兩種編碼方式,分別是FM0編碼和Miller編碼,本系統(tǒng)采用FM0編碼。由文獻(xiàn)[13]知,F(xiàn)M0編碼信號的功率譜表達(dá)式為
(1)
由上式可畫出Tag反射信號的單邊功率譜密度圖,如圖3所示。
圖3 Tag反射信號單邊功率譜
觀察圖3可知,FM0編碼信號的功率譜能量主要集中在主瓣內(nèi),主瓣寬度為二倍碼頻(2/T)。
在圖3中,Tag反射的經(jīng)FM0編碼的信號功率譜分布能量集中在f∈[0,2/T]之間,為防止直流信號影響,本文通過判斷信號功率是否集中在f∈[1/2T,2/T]來判斷反射信號中是否包含Tag反射信號。
假設(shè)在軟件無線電接收端的基帶復(fù)采樣率為Ssam,F(xiàn)M0編碼的符號周期為T,將接收端序列y(n)作N點傅里葉變換:
Y(k)=FFT[y(n)]N。
(2)
易知Y(k)是一個長度為N的復(fù)序列。
由數(shù)字信號處理相關(guān)知識可知,Y(k)是對離散序列y(n)的頻譜在f∈[-Ssam/2,Ssam/2]上的頻域采樣,其頻率分辨率Fs=Ssam/N。
本文用以下方法來衡量接收端序列y(n)在頻率區(qū)間f∈[-2/T,-1/2T]∪[1/2T,2/T]上的集中程度:
(3)
式中:k1、k2分別表示頻率f1=1/2T和f2=2/T在Y(k)對應(yīng)的點,
(4)
當(dāng)接收到Tag反射信號時,頻譜能量集中于該區(qū)域,此時η較大,當(dāng)不包含時η較小。
圖4是按照本文信號識別方法,以每512個數(shù)據(jù)點為一組經(jīng)FFT變換得到,再計算η得到變化曲線。從圖中可以看出,當(dāng)有Tag反射信號出現(xiàn)時,變化曲線將出現(xiàn)明顯的峰值,其中小的峰是Tag反射的16位隨機(jī)碼(RN16),大的峰是Tag反射的電子產(chǎn)品識別碼(Electronic Product Code,EPC)。圖中曲線上每個點均由512個原始采樣信號得到,所以本文識別方法不能準(zhǔn)確地判斷反射信號開始的位置,存在512個點的模糊,雖然減小每組的數(shù)據(jù)點數(shù)可以減小模糊,但將帶來更大的運算復(fù)雜度,這也是本文使用能量檢測的方法進(jìn)一步限制識別信號的原因。
圖4 實測η變換曲線
由圖4中可知,當(dāng)識別到Tag反射信號時,η變換曲線將出現(xiàn)峰值,如何從η變換曲線中定位到想要的峰值正是本節(jié)需要解決的問題。其中主要的難點是:(1)信號的強(qiáng)度隨著距離而變化如果采用固定大小的閾值其適應(yīng)性將非常差;(2)RN16和EPC均能導(dǎo)致峰值的出現(xiàn),相比于RN16,可以對EPC解碼結(jié)果進(jìn)行CRC校驗,校驗通過的EPC求解得到的CSI更具準(zhǔn)確性,所以希望能夠通過閾值的設(shè)置起到只檢測EPC而不檢測RN16的目的;(3)曲線的細(xì)小波動可能導(dǎo)致誤判?;谝陨蠁栴},本文設(shè)計了如圖5所示的閾值確定算法。
圖5 閾值更新算法
如圖5所示,本文采用η序列平均值為基準(zhǔn)來動態(tài)的確定閾值的大小,這樣可以避免由于接收信號能量變化導(dǎo)致的峰值減小而帶來的誤判。另外,本算法中只有連續(xù)兩個η均大于閾值才判定為正確識別到接收信號,這樣可以有效避免曲線的隨機(jī)波動帶來的影響和達(dá)到濾除RN16的峰值的目的。
根據(jù)實際測試發(fā)現(xiàn),SDR2接收信號一般由Reader和Tag的非理想因素導(dǎo)致的干擾信號、只包含隨機(jī)噪聲的平緩信號、由標(biāo)簽反射的反射信號三部分組成。由于本文識別方法不能有效識別反射信號起始點,存在512點的模糊,這將使得識別信號中除了反射信號外還包含一部分的平緩信號。由于平緩信號和標(biāo)簽反射信號的能量相差較大,本文使用能量檢測的方法[14]從識別信號中進(jìn)一步限制反射信號范圍得到檢測信號,如圖6所示。
圖6 能量檢測
假設(shè)窗口1和窗口2的長度相同均為len(約為Tag反射信號長度的一半),假設(shè)窗口1的起始位置為n,則其末尾位置為len+n-1,窗2的起始位置為len+n,末尾位置為2len+n-1,這樣可以求取窗口1和窗口2中的能量總和,分別為
(5)
式中:ym表示待檢測序列,W1表示窗口1的能量總和,W2表示窗口2的能量總和。
令ε=W2/W1。當(dāng)滑動窗口逐漸進(jìn)入包含Tag反射信號的區(qū)域時ε的值會逐漸增大,直到達(dá)到峰值后又逐漸小,通過這一特點可以實現(xiàn)反射信號的檢測。
當(dāng)信號中存在標(biāo)簽反射信號時,能量檢測的ε變化曲線中將出現(xiàn)峰值,根據(jù)峰值出現(xiàn)的位置可以很容易得到Tag反射信號在識別信號中的位置,起到了進(jìn)一步縮小反射信號范圍的目的。需要注意的是,本文之所以先識別后檢測而不直接使用直接檢測的方法,是因為相比于能量檢測,基于功率譜特性的信號識別方法更加魯棒,能夠從各種干擾信號中有效識別反射信號,但其缺點是分辨粒度大,需要進(jìn)一步限制其范圍;而能量檢測的方式雖然分辨粒度更小,但其魯棒性低,如果直接作用于原始采樣信號將會出現(xiàn)判別閾值難以確定、誤判率高的情況,而經(jīng)識別后的信號由于被舍棄了很多干擾信號成分,所以能量檢測的方法能夠有效地達(dá)到進(jìn)一步限制反射信號范圍的作用。
檢測到Tag反射信號之后,需要對檢測信號進(jìn)行位同步、信道估計、解碼等步驟,以便求解Tag的EPC和信道CSI。本文結(jié)合文獻(xiàn)[10]給出的處理方法,針對本系統(tǒng)的實際情況給出提高信道估計精度的方法。
根據(jù)GEN2協(xié)議,Tag反射信號中均包含6 b已知前導(dǎo)碼,本文利用前導(dǎo)碼和檢測信號作相關(guān)運算,得到Tag反射信號在檢測信號y(n)(實際為檢測信號去除直流偏置后的序列[10])中的偏移差Δt:
(6)
式中:sp是已知前導(dǎo)碼,Np是前導(dǎo)碼采樣點數(shù),L表示搜索區(qū)間。
聯(lián)合Δt和sp,利用最小二乘估計信道:
(7)
該最小二乘的解為
(8)
式(8)的信道估計方法建立在檢測信號被去除直流偏置之后。觀察式(8)的信道估計過程,實際是前導(dǎo)碼中所有的高電平對應(yīng)值的均值,依靠這種方法得到的CSI易受兩個因素的影響:一是理想情況下,去除直流偏置后低電平的值應(yīng)為0,但實際情況下可能存在偏差;二是信號的隨機(jī)波動尤其是低頻的噪聲干擾會使得信號整體上下浮動,最終影響CSI的精度。
本文基于以下兩點事實提出提高相位精度的方法:(1)Tag反射鏈路速率和接收機(jī)采樣速率已知,再結(jié)合EPC解碼結(jié)果,可以知道每個采樣點對應(yīng)的是高電平還是低電平;(2)FM0編碼每個符號之間一定有一次電平翻轉(zhuǎn)[10]。從以上兩點事實出發(fā),根據(jù)每一個符號的高低電平,直接計算高低電平差,再求取所有符號的電平差的均值可以有效提高信道估計的精度。
圖7是直接使用式(8)計算得到的CSI求得的載波相位,圖8是用本節(jié)中優(yōu)化方法處理后得到的載波相位,對比兩個圖不難發(fā)現(xiàn)優(yōu)化后的CSI得到的載波相位更加集中,方差更小。
圖7 未優(yōu)化的CSI得到的相位
圖8 經(jīng)優(yōu)化的CSI得到的相位
測試場景如圖9所示,圖中高處懸掛的是讀寫器(Reader)。SDR1、SDR2和Tag均用支架固定,且基本處于同一水平面上。黑色框區(qū)域是系統(tǒng)測距區(qū)域。圖中單個地磚的大小為0.5 m×0.5 m。
圖9 實測場景
將SDR2的采樣率設(shè)置為4 Msample/s,Tag反向鏈路速率設(shè)置為400 ksample/s,得到原始采樣信號和檢測信號,如圖10和圖11所示。
圖10 原始采樣信號
圖11 檢測信號
圖10中黑框框起來的是用本文檢測方法從圖11所示原始采樣信號中得到的檢測信號(EPC),本文正是通過處理EPC信號得到載波相位。
圖12和13分別是干擾信號頻譜圖和包含Tag反射信號的頻譜圖。觀察圖13,信號能量集中的頻率范圍和圖3的范圍一致(由于SDR2對原始信號做了數(shù)字低通濾波處理所以圖13僅保留了主瓣部分)。圖12中,由于干擾信號中不包含EPC,所以在相應(yīng)的頻率范圍內(nèi)信號能量并不集中,和圖13顯示出明顯的區(qū)別。
圖12 干擾信號頻譜
圖13 包含Tag反射信號的頻譜
為了說明系統(tǒng)檢測效率,本文讓Reader在10 s內(nèi)向Tag發(fā)送1 700個請求信號,按照GEN2協(xié)議,Tag應(yīng)該回應(yīng)1 700個EPC。SDR2分別統(tǒng)計檢測到的EPC數(shù)目和解碼成功的EPC數(shù)目,實驗結(jié)果如圖14所示,圖中橫坐標(biāo)為Tag到SDR1和SDR2的距離和。從圖中不難發(fā)現(xiàn),當(dāng)距離增加時成功檢測數(shù)量和成功解碼數(shù)量均減少,這是由于距離增加后Tag接收到的能量減少導(dǎo)致反射信號,信噪比下降所致。圖14中成功解碼量的均值為1 300,這樣每10 ms可以檢測到13個EPC即可以輸出13個載波相位,基本滿足實時測距要求。
圖14 EPC發(fā)送量檢測量和解碼量關(guān)系
為驗證帶寬和測距精度的關(guān)系,將測距系統(tǒng)的跳頻帶寬從90 MHz逐步增加到170 MHz,實驗結(jié)果如圖15所示,可見帶寬對測距精度的影響非常大,隨著帶寬的增加,平均測距誤差逐漸降低。
圖15 跳頻帶寬和測距誤差
在圖9的實驗場景中,取圖中黑框框起來的區(qū)域為測試區(qū)域,在測試區(qū)域中盡量均勻地取100個點測試,鏈路長度在2.5~6 m之間,測試其測距精度,結(jié)果如圖16所示。
圖16 系統(tǒng)測距誤差
圖16中黑色的點是每個是點的誤差,黑色虛線是所有點的平均測距誤差,本文約為2.5 cm。
表1給出了目前典型的RFID系統(tǒng)的測距精度。
表1 不同測距系統(tǒng)對比
本文著重研究了RFID多頻點聯(lián)合測距系統(tǒng)中的信號檢測方法,利用FM0編碼信號的功率譜特性實現(xiàn)了對Tag反射信號的識別和檢測。該檢測方法具有較好的普遍性,且實驗結(jié)果表明該檢測方法的魯棒性較強(qiáng);但是該方法只適合于FM0編碼的Tag反射信號,對于其他編碼形式的Tag反射信號本方法并不適用,這也是未來需要進(jìn)一步研究的內(nèi)容。本文將檢測方法用于測距系統(tǒng)中,填補(bǔ)了已有文獻(xiàn)對于Tag反射信號的檢測的空白;將檢測方法用于RFID多頻點聯(lián)合測距系統(tǒng)中得到了很高的測距精度,這對于基于RFID的位置服務(wù)系統(tǒng)具有很好的參考意義,在未來可以進(jìn)一步研究在距離更遠(yuǎn)情況下的信號檢測準(zhǔn)確度的提升以及測距精度的提升,另一方面RFID的反射信號檢測系統(tǒng)也可應(yīng)用于構(gòu)建接收天線陣列。