摘 要: 超寬帶技術(shù)由于功耗低、抗多徑干擾能力強、系統(tǒng)復(fù)雜度低、定位精度高等優(yōu)點,已經(jīng)成為室內(nèi)無線定位技術(shù)中極具潛力的技術(shù)。基于到達時間差(TDOA)定位技術(shù),提出了一種基于Taylor算法和Chan算法的定位方法,并對三種不同算法進行了比較,完成了室內(nèi)超寬帶無線定位算法的仿真。在FPGA開發(fā)平臺上完成了對室內(nèi)超寬帶無線定位系統(tǒng)的設(shè)計。著重介紹了基帶信號的幀結(jié)構(gòu)、擴頻碼的選擇、脈沖的生成和擴頻碼的同步捕獲。對各個模塊的功能和設(shè)計原理進行了描述,通過Verilog語言對室內(nèi)超寬帶無線定位系統(tǒng)的各部分模塊進行設(shè)計與仿真。
關(guān)鍵詞: 室內(nèi)定位;超寬帶;FPGA;TDOA
0 引言
定位是一種對未知物體的位置進行預(yù)判的技術(shù)。超寬帶定位系統(tǒng)可以提供的定位精度較高,尤其適用于室內(nèi)定位系統(tǒng)中[1]。TDOA定位技術(shù)只要求接收機時間精確同步,不要求測量接收機與發(fā)射機之間的絕對時間同步,所以,其時鐘的精準(zhǔn)度相對于基于到達時間定位方法更易于實現(xiàn)。與基于達到強度和基于到達角度定位方法相比,這種方法可以更好地適應(yīng)復(fù)雜的室內(nèi)環(huán)境,定位精度高[2]。本文針對TDOA定位算法,提出一種Taylor算法和Chan算法相結(jié)合的定位算法,以提高定位精度。而在超寬帶通信系統(tǒng)中,窄帶脈沖持續(xù)時間極短,帶寬很寬,時間分辨率良好,抗多徑能力強。本文的室內(nèi)超寬帶定位系統(tǒng)在FPGA平臺下完成,將基帶信號擴頻后采用脈沖無線電方式發(fā)射,在接收端解擴、解調(diào)后得出TDOA測量值,再將其帶入到解算算法中,實現(xiàn)定位。這種方式無需載波調(diào)制,系統(tǒng)復(fù)雜度低,實現(xiàn)簡單。
1 系統(tǒng)的定位算法設(shè)計
常用的TDOA定位算法有Taylor算法和Chan算法。Taylor算法采用遞歸的方式,對定位系統(tǒng)的待測目標(biāo)位置求解,其特點是計算量大,定位精度較高。但是,如果不能很好地對Taylor算法的初始位置進行選擇,算法的收斂性會受到影響。在室內(nèi)環(huán)境的應(yīng)用中,初始位置不易確定,所以Taylor算法的定位精度受到了限制。Chan算法是一種具有解析表達式的非遞歸算法,其特點是計算量小,受到室內(nèi)環(huán)境的影響,定位精度較差。但是,該算法可以整合到其他計算量較大的算法中,在不影響運算結(jié)果的前提下,可以減少計算量[3]。
為了利用Taylor算法定位精度高的優(yōu)勢,可以在保證初始估計位置和實際位置較接近的情況下,再使用Taylor算法進行計算,所以,在此之前要找到一種算法可以較好地確定初始位置。Chan算法剛好可以保證定位的準(zhǔn)確度,而且該算法的計算量小于其他計算復(fù)雜的算法,可以更好地提高系統(tǒng)的計算效率。因此,用Chan算法與Taylor算法相結(jié)合來進一步提高Taylor算法的收斂性,實現(xiàn)精確定位。改進算法的流程如圖1所示。
首先,將已知的接收機的坐標(biāo)和測量得到的TDOA值代入到Chan算法中,再通過該算法的結(jié)果計算出加權(quán)系數(shù),同時,將Chan算法得到的結(jié)果作為Taylor算法的初始值,進行Taylor級數(shù)展開。在一些情況下,Taylor算法的結(jié)果是發(fā)散的,為避免這個問題的出現(xiàn),采用加權(quán)系數(shù)的估算,估算對象為Taylor級數(shù)展開后的結(jié)果、通過Chan算法得到的加權(quán)系數(shù)和Chan算法的計算結(jié)果。通過這種方式對兩種定位算法的結(jié)果進行優(yōu)化,并得到最終結(jié)果,獲得定位坐標(biāo),完成定位過程。
2 室內(nèi)超寬帶定位系統(tǒng)的設(shè)計
2.1 基帶信號幀結(jié)構(gòu)
系統(tǒng)中基帶信號的定位信息幀由幀頭、定位信息和保護間隔三部分組成,其格式示意圖如圖2所示。
其中,幀頭的作用是便于接收端實現(xiàn)碼元同步的捕獲和跟蹤,因此不需要通過幀頭來傳遞定位信息。在本系統(tǒng)中,幀頭均用符號“1”來實現(xiàn)。定位信息可以用于TDOA定位測量時,同時可以實現(xiàn)在定位過程中與基站的通信功能,通過定位信息可以判斷出該信息是由哪一個參考基站發(fā)送出來的。為了區(qū)分幀頭和定位信息,第一個定位信息在傳送信息前插入獨特碼。每個參考站根據(jù)時間順序依次發(fā)送定位信息,在兩個定位信息之間添加保護間隔。第一個參考基站在定位信息之前先發(fā)送幀頭。
在接收端的擴頻碼同步捕獲過程中,系統(tǒng)不能自行判斷幀頭與定位信息的位置,即便可以找到幀頭,也不能判斷此處為幀頭的第幾位,因此也不能正確地捕獲定位信息,這樣整個捕獲過程不能進行。所以,在幀頭與定位信息之間插入一段獨特碼。由于巴克碼的相關(guān)特性較好,因此用作這里的獨特碼。這里的獨特碼僅由第一個參考基站發(fā)送,其他接收機無需對信號進行這樣的處理。接收機在成功匹配獨特碼后,就可以確定幀頭的位置,并確定后續(xù)的接收數(shù)據(jù),如果不能匹配,就認(rèn)為捕獲失敗。這種方法可以消除誤捕獲,避免定位錯誤,提高定位精度。
保護間隔作為不同定位信息之間的保護,并作為測量時間差的基準(zhǔn)值。在發(fā)射端,使用一個固定的保護間隔。當(dāng)發(fā)送的信號到達接收端時,這個保護間隔會根據(jù)傳輸距離的不同而有所改變,這個變化就是所要測量的時間差。要想確定待測目標(biāo)的位置,需要3組時間差。測量到的時間差在統(tǒng)計上是相互獨立的,將測量時間差帶入到解算算法中,就可以求出待測目標(biāo)的位置,從而實現(xiàn)定位。
通過接收端和發(fā)射端測量出的TDOA值的示意圖如圖3所示。
2.2 擴頻碼的選擇
本文選用直擴系統(tǒng),在擴頻碼的選擇上,選取M序列作為擴頻碼,原因有兩點:其一,與長度為63的m序列相比,長度為64的M序列的擴頻倍數(shù)為2的整數(shù)倍,這樣給FPGA的基帶信號處理及其他后續(xù)信號的處理帶來了方便;其二,M序列優(yōu)選對的條數(shù)比m序列要多,這樣就有利于多用戶的碼分多址[4]。對于64位的M序列,其相應(yīng)的移位寄存器為6級,通過查找表得到其反饋系數(shù)103,其對應(yīng)的特征多項式為:
f(x)=x6+x+1(1)
由反饋系數(shù)原理可知,在第1級和第6級需要進行反饋,移位寄存器反饋原理圖如圖4所示。
2.3 脈沖信號的產(chǎn)生
為了避免多徑干擾,需要對擴頻碼序列的占空比進行調(diào)整,這樣在擴頻的基礎(chǔ)上又對頻譜展寬,產(chǎn)生窄帶脈沖信號。這種方式就避免了載波調(diào)制,簡化了接收機的結(jié)構(gòu)。
2.4 擴頻碼同步捕獲
本文采用基帶控制信號線性步進串行搜索捕獲的方法來完成系統(tǒng)同步[5],設(shè)計框圖如圖5所示。
捕獲過程的實現(xiàn)方法如下:積分器對輸入的超寬帶信號進行積分,輸出積分值,系統(tǒng)將該積分值與預(yù)先設(shè)定好的閾值做比較,完成判別過程。當(dāng)積分值超過閾值時,系統(tǒng)輸出一個脈沖信號到FPGA中,F(xiàn)PGA在設(shè)定的時間內(nèi)對這種脈沖信號進行統(tǒng)計計數(shù),對計數(shù)的結(jié)果做判決,如果大于一個規(guī)定的值,那么,此時認(rèn)為系統(tǒng)捕獲成功,收發(fā)兩端的擴頻碼碼片的相位差在一個碼片寬度以內(nèi),這時的時鐘即為接收端的同步時鐘,繼續(xù)進入跟蹤環(huán)路。如果FPGA的計數(shù)值沒有滿足要求,F(xiàn)PGA會輸出一個反饋到控制單元,控制單元會輸出一個信號來控制相位信號進行一個單位的步進,這個步進后的相位信號最終作用在積分器上。在該信號的下降沿,積分器進行正常的積分運算,在信號的上升沿,對積分器進行清零,從而實現(xiàn)對積分器的控制作用。重復(fù)以上過程,直到FPGA的計數(shù)值滿足系統(tǒng)要求。如果在完成一幀的搜索后仍無法滿足以上要求,那么將FPGA中計數(shù)值的最大結(jié)果對應(yīng)的時鐘信號近似為系統(tǒng)接收端的同步信號,進入后續(xù)跟蹤環(huán)路。
在系統(tǒng)同步的過程中,當(dāng)脈沖的計數(shù)值超過了系統(tǒng)所設(shè)定的閾值后,系統(tǒng)認(rèn)為同步,此時的時鐘信號可以作為系統(tǒng)解調(diào)過程中的時鐘信號,對于已經(jīng)解擴的信號再進行解調(diào)過程。在解調(diào)過程中,在時鐘的上升沿對解擴信號進行采樣,若采樣信號為高電平,相應(yīng)地輸出高電平;當(dāng)采樣信號為低電平時,相應(yīng)地輸出低電平,這樣,就完成了解調(diào)過程。將解調(diào)后的基帶信號再進行拆幀處理,這樣就可以得到TDOA的測量值,再帶入到第2節(jié)中提出的算法中即可。
3 算法性能比較
在第1節(jié)設(shè)計的定位算法的基礎(chǔ)上,對各個算法進行比較。TDOA測量標(biāo)準(zhǔn)差對定位結(jié)果的影響如圖6所示。在各種算法中,均方根誤差與TDOA的測量值標(biāo)準(zhǔn)差成近似正比的關(guān)系?;谡鎸嵵档腡aylor級數(shù)展開算法的性能最佳,基于Chan算法與Taylor算法的協(xié)同算法次之,非常接近于真實值的估算結(jié)果,比Chan算法單獨使用時性能要高很多。
4 仿真結(jié)果及分析
4.1 M序列生成模塊
6級M序列發(fā)生器可產(chǎn)生周期為64的擴頻碼序列,先構(gòu)造周期為63的m序列,并在一個適當(dāng)?shù)奈恢貌迦胍粋€全零狀態(tài),即可得到64位M擴頻碼序列,擴頻碼仿真圖如圖7所示。其中,out為通過移位寄存器生成的M序列,temp為移位寄存器的狀態(tài),由圖可以看出,在0X20與0X01之間插入了0X00狀態(tài)。
4.2 脈沖生成模塊
擴頻調(diào)制后的擴頻碼序列的信號占空比為100%,在本模塊中,將原來的1個擴頻碼碼片在時間上分成16份,即對擴頻碼的時鐘信號進行16倍頻,并調(diào)整其占空比,只將16份中的第一份設(shè)置為高,而其余的15份均為0,這樣就對波形占空比進行了調(diào)整,形成窄帶脈沖。脈沖發(fā)生器仿真圖如圖8所示。
4.3 擴頻碼序列的同步捕獲
接收端,同步捕獲模塊的時序仿真波形圖如圖9所示。圖中,en表示系統(tǒng)的使能端,當(dāng)其為高電平時,系統(tǒng)可以進行同步捕獲;為低電平時,系統(tǒng)不能工作。rst_n是系統(tǒng)復(fù)位信號,低電平有效,此時系統(tǒng)各種寄存器清零。clk是系統(tǒng)基準(zhǔn)時鐘,data_in表示輸入到該模塊的脈沖結(jié)果,flag為同步捕獲標(biāo)志位,step為步進次數(shù)。
該模塊完成系統(tǒng)同步捕獲的數(shù)字化處理,對輸入的脈沖進行采樣計數(shù),每隔16個時鐘周期對信號的計數(shù)值進行判斷。設(shè)置系統(tǒng)的計數(shù)閾值為14,當(dāng)計數(shù)值超過閾值時,認(rèn)為系統(tǒng)捕獲成功,同步捕獲標(biāo)志位flag置高電平;否則,系統(tǒng)的同步捕獲標(biāo)志位flag置低電平,同時,步進次數(shù)step加1,相位控制信號步進一次。當(dāng)復(fù)位信號為高電平有效時,系統(tǒng)重新開始搜索同步捕獲。
5 結(jié)論
本文選取了室內(nèi)超寬帶定位系統(tǒng)最佳定位方法:TDOA定位方法。在現(xiàn)有TDOA算法的基礎(chǔ)上,提出了一種將Chan算法與Taylor算法的相結(jié)合定位算法。仿真驗證的結(jié)果表明,該算法可以對Chan算法和Taylor算法的不足進行彌補。為簡化接收機的結(jié)構(gòu),本文結(jié)合擴頻通信方法,設(shè)計了一種采用窄帶脈沖發(fā)射的室內(nèi)超寬帶無線定位系統(tǒng)。通過對基帶信號的幀結(jié)構(gòu)設(shè)計,接收端的信號在完成解擴、解調(diào)后,可以直接得出TDOA測量值,再經(jīng)過解算算法就可以方便地求出待測目標(biāo)的位置,實現(xiàn)定位功能。對系統(tǒng)中各模塊的原理進行了介紹,并使用Verilog語言建模,完成了系統(tǒng)仿真。
參考文獻
[1] 施長寶,李瑾.基于超寬帶技術(shù)的室內(nèi)無線定位的研究[J].科技信息,2012(7):171,146.
[2] DIBENEDETO A G, GIANCOLA G. Understanding ultra wide band radio fundamentals[M]. New Jersey: Prentice Hall Professional Technical Reference, 2004.
[3] 龐艷.UWB精確定位算法研究[D].北京:北京交通大學(xué),2006.
[4] 田日才.擴頻通信[M].北京:清華大學(xué)出版社,2007.
[5] 王偉,焦健,蔡鶴皋,等.基于FPGA的擴頻信號快速捕獲電路設(shè)計與實現(xiàn)[J].彈箭與制導(dǎo)學(xué)報,2009,29(5):227-231,238.