羅勃 沈重 朱雨豪
摘 要: 以無線時鐘同步為主,提出一種以卡爾曼濾波算法為基礎(chǔ)的無線時鐘同步算法,同時也分析了無線時鐘不同步的情況及原因,并且使用Hainan?EVK 1.0作為硬件平臺進(jìn)行了實驗。實驗結(jié)果表明,以卡爾曼濾波算法為基礎(chǔ)的無線時鐘同步算法能夠滿足TDOA定位算法的需求。
關(guān)鍵詞: UWB; TDOA; 無線時鐘同步算法; 卡爾曼濾波算法
中圖分類號: TN915?34; TN919.72 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)06?0031?04
Abstract: Studied for wireless clock synchronization, a wireless clock synchronization algorithm based on Kalman filter algorithm is proposed, and the wireless clock asynchronism and its reason are analyzed. The experiments for the algorithm was carried out with Hainan?EVK1.0. The results show that wireless clock synchronization algorithm based on Kalman filtering algorithm can meet the needs of TDOA location algorithm.
Keywords: UWB; TDOA; wireless clock synchronization algorithm; kalman filtering algorithm
0 引 言
無線定位系統(tǒng)是在指定的空間內(nèi)通過測量無線電波的物理特性對目標(biāo)進(jìn)行實時監(jiān)控。在室內(nèi),基于傳統(tǒng)無線電技術(shù)的各類定位解決方案仍然是一個未解決的問題;因為室內(nèi)信號傳播環(huán)境相比室外更加復(fù)雜,很難精確分析信號到達(dá)時間或到達(dá)角度等參數(shù)[1]。2007年3月IEEE發(fā)布了基于UWB物理層的IEEE 802.15.4a?2007協(xié)議標(biāo)準(zhǔn),這一標(biāo)準(zhǔn)旨在為無線個域網(wǎng)中使用超低數(shù)據(jù)速率、超低功耗和超低復(fù)雜度的器件進(jìn)行短距離數(shù)據(jù)傳輸提供支持。IEEE 802.15.4a協(xié)議是IEEE 802.15.4協(xié)議的修訂版,有兩種物理層實現(xiàn)方式, 即超寬帶技術(shù)UWB和 Chirp擴(kuò)頻(Chirp Spread Spectrum,CSS)技術(shù)。IEEE 802.15.4a超寬帶(Ultra Wideband, UWB)基帶如果用于定位,其在精確度、實時性能和數(shù)據(jù)帶寬等方面具有絕對的優(yōu)勢。其中,UWB物理層可以工作在1 GHz,3~5 GHz和6~10 GHz這三種頻率范圍, 工作效率高, 即使在較低的發(fā)送功率下仍具有較好的魯棒性[2]。而本文的實驗則采用了愛爾蘭Decawave公司生產(chǎn)的DW1000 UWB芯片組,其物理層協(xié)議為IEEE 802.15.4a。脈沖無線電超寬帶 (Impulse Radio Ultra?Wideband,IR?UWB)的脈沖寬度僅為納秒級或亞納秒級,響應(yīng)頻率和脈沖寬度決定了UWB的定位精度在理論上可以達(dá)到厘米級。UWB技術(shù)實時響應(yīng)頻率可達(dá)到10~40 Hz,而其他定位技術(shù)普遍在1 Hz以下; UWB技術(shù)抗多徑能力強(qiáng),且時間分辨率很高,具有一定的穿透能力,這些特點有利于在室內(nèi)復(fù)雜多徑環(huán)境中進(jìn)行實時定位和動態(tài)數(shù)據(jù)收集需求。目前國內(nèi)UWB技術(shù)還主要集中在帶寬應(yīng)用及高速率接入等方向,UWB RTLS(Real Time Location System)定位技術(shù)鑒于其硬件起步較晚,無線時鐘同步[3]、標(biāo)簽容量模型[4]及網(wǎng)絡(luò)可擴(kuò)展[5]通信協(xié)議難點,目前還尚未開展。而本文將針對TDOA定位算法中的無線時鐘同步問題進(jìn)行研究,并以Hainan EVK 1.0為實驗平臺,驗證改進(jìn)后的時鐘同步算法的可行性。
1 影響無線時鐘同步的因素及研究現(xiàn)狀
由于每個基站都有自己獨立的時鐘源,使得每個基站測量到的標(biāo)簽信號到達(dá)時間(Time Of Arrival,TOA)沒有一定的聯(lián)系,并且每個基站的時鐘源所用的不同晶振都存在不同的頻率偏差,該頻率偏差并不是個常數(shù),而是隨著溫度的變化呈現(xiàn)出非線性變化,所以不同基站的晶振本身存在工藝上的差異和與環(huán)境溫度之間的關(guān)系特性是影響時鐘同步的主要原因;每個基站的啟動時間不同也會導(dǎo)致標(biāo)簽信號的到達(dá)時間存在差異;如果主從基站的坐標(biāo)擺放有偏差,或主從基站之間有障礙物阻擋就會導(dǎo)致計算出來的飛行時間不精確,從而影響無線時鐘同步的性能。以上種種原因使得TDOA算法無法正確使用。因為TDOA定位算法要求所有參與定位的基站都基于相同的時鐘基準(zhǔn),使得主從基站之間的時鐘同步顯得尤其重要。
在各類實時定位系統(tǒng)里,數(shù)據(jù)采集和實時控制必須具有全網(wǎng)統(tǒng)一的時鐘,一旦出現(xiàn)時鐘偏差,就會導(dǎo)致數(shù)據(jù)失效或控制錯誤。因此系統(tǒng)里各個節(jié)點如何保持時鐘同步是關(guān)鍵技術(shù)問題,國內(nèi)外文獻(xiàn)提出了大量關(guān)于時間同步的算法。自校正的時間同步算法[6]中每個節(jié)點根據(jù)一個參考時鐘來調(diào)整自己時鐘,從而保持時間同步,節(jié)點之間無任何信息交換;文獻(xiàn)[7]提出一種基于卡爾曼濾波的并行分布算法,每個節(jié)點利用其他節(jié)點的估計狀態(tài),投票選出一個虛擬的全局主時鐘,與其保持時間同步;文獻(xiàn)[8]通過兩種具有自適應(yīng)性的卡爾曼濾波模型來實現(xiàn)時鐘同步,分別為基于最大期望值的遞歸算法與基于假設(shè)校驗的自適應(yīng)多模型算法;文獻(xiàn)[9]利用卡爾曼濾波來跟蹤時間偏移,從同步時間間隔中獲取所需誤差界限,再調(diào)整同步時鐘從而保證系統(tǒng)中節(jié)點的時間同步;文獻(xiàn)[10]結(jié)合傳感器網(wǎng)絡(luò),對現(xiàn)有的時鐘同步協(xié)議進(jìn)行了總結(jié),基于接收者?接收者交換的參考廣播同步技術(shù)通過雙向鏈路和信息包的交換實現(xiàn)網(wǎng)絡(luò)中節(jié)點的時間同步,但該算法只在單跳網(wǎng)絡(luò)中才能確保較高的精確度;文獻(xiàn)[11]提出了成對報文時間同步協(xié)議,采用層次結(jié)構(gòu),可以實現(xiàn)整個網(wǎng)絡(luò)節(jié)點的時間同步;文獻(xiàn)[12]在成對報文時間同步協(xié)議基礎(chǔ)上進(jìn)行改進(jìn),使網(wǎng)絡(luò)中傳感器節(jié)點的能量消耗和平衡時間更加有效;另外,在節(jié)點失效、移動及復(fù)雜通信環(huán)境中,可以使用異步時鐘協(xié)議[13],異步時鐘協(xié)議允許網(wǎng)絡(luò)中每個節(jié)點在任何時間以任何順序跟它的鄰居節(jié)點進(jìn)行時間同步;而洪泛時間同步協(xié)議[14]使用廣播消息來實現(xiàn)發(fā)送節(jié)點和接收節(jié)點間的時鐘同步,具有通信帶寬小、精確度高等特點。
本文提出基于卡爾曼濾波的主從基站之間的無線時鐘同步算法,同時還提出了判斷時鐘同步性能的檢測指標(biāo)。當(dāng)時鐘校驗包和標(biāo)簽數(shù)據(jù)包發(fā)生碰撞時,此時的檢測指標(biāo)將高于預(yù)設(shè)的閾值從而通過濾波算法將這個錯誤排除,有效地增加算法可靠性。
2 改進(jìn)的無線時鐘同步算法
本文提出了一種基于改進(jìn)的卡爾曼濾波的無線時鐘同步算法,指定一個參考“主”基站周期性地向從基站發(fā)送時鐘校驗包(Clock Correct Package, CCP)。時鐘校驗包是用來跟蹤從基站的時鐘相對于主基站的時鐘是如何隨著時間變化。標(biāo)簽向所在標(biāo)簽發(fā)送范圍內(nèi)的每個基站節(jié)點快速發(fā)送數(shù)據(jù)包,并且每個基站以自己的時間戳記錄數(shù)據(jù)包的到達(dá)時間(TOA)。了解基站的時鐘相對于主基站的時鐘是如何隨著時間變化,數(shù)據(jù)包到達(dá)從基站本地時間的修正或轉(zhuǎn)換成以主基站時間為基準(zhǔn)的數(shù)據(jù)包到達(dá)時間,需要知道修正的一個重要組成部分是主基站與從基站之間的固定時間偏移和天線延時時間。固定時間偏移實際上是時鐘校驗包在主基站和從基站之間的飛行時間,這飛行時間可以由已知的主從基站坐標(biāo)計算得到或是用雙向測距方法測得到,天線延時時間包括天線的傳播時間和信號的調(diào)制解調(diào)等時間,如圖1所示。
圖1由一個主基站、三個從基站以及標(biāo)簽組成。主基站定時向從基站發(fā)送時鐘校驗包,保證主從基站之間的時鐘同步,也就是說除了主基站外,其他三個從基站都需要通過時鐘同步算法使得自身的時鐘與主基站時鐘同步,與此同時標(biāo)簽向四個基站發(fā)送數(shù)據(jù)包,其中數(shù)據(jù)包中包含了標(biāo)簽的發(fā)包序號信息、地址信息等。標(biāo)簽通過到達(dá)時間差的定位方法確定了其自身在該系統(tǒng)中的位置。
由于主從基站晶振的頻率特性、溫度和老化效應(yīng)的不同,導(dǎo)致晶振頻率會產(chǎn)生漂移,其中晶振的溫度漂移是造成其精確度偏差的主要原因,這使得主從基站的時鐘頻率之間存在偏差。然而,傳輸網(wǎng)絡(luò)中的各種干擾使得主從基站時鐘之間的偏差無法進(jìn)行精確測量。改進(jìn)后的無線時鐘同步算法采用卡爾曼濾波算法能更精確地估算時間偏差,消除時鐘以及傳輸過程中帶來的干擾。因此將通過卡爾曼濾波算法來使得從基站的時鐘偏移能夠與主基站的時鐘偏移保持一致??柭鼮V波是以最小均方誤差為估計的最佳準(zhǔn)則,來尋求一套遞推估計的算法,其基本思想是:采用信號與噪聲的狀態(tài)空間模型,利用前一時刻的估計值和現(xiàn)時刻的觀測值來更新對狀態(tài)變量的估計,求出現(xiàn)時刻的估計值。
在具體的實現(xiàn)過程中,通過第n個同步周期的從基站CCP接收時間的最優(yōu)估計值和第n+1的預(yù)測值精確地估計第n+1個同步周期主從基站的時鐘偏移之間的偏差與漂移。定義T為時鐘同步周期,dt為主基站現(xiàn)時刻CCP發(fā)送時間與上一周期時刻CCP發(fā)送時間的差值,[θn],[γn]分別為nT時刻從基站節(jié)點的最優(yōu)估算CCP接收時間值和時鐘漂移值。[θn+1],[γn+1]分別為(n+1)T時刻從基站節(jié)點修正前的預(yù)測CCP接收時間和時鐘偏移值。
在(n+1)T時刻,相鄰時鐘同步周期內(nèi)時鐘偏差與時鐘漂移的關(guān)系式為:
通過卡爾曼濾波算法,第n+1時鐘同步周期修正后的[xn+1=θn+1γn+1T],相應(yīng)的設(shè)置[un+1=xn+1],對時間偏差以及時鐘漂移進(jìn)行補(bǔ)償,從而確保主從基站間的時鐘同步。
卡爾曼濾波的計算基于這樣的一個假設(shè):所有的測量結(jié)果都是由真實信號和可加性高斯噪聲組成的。如果上述假設(shè)成立,卡爾曼濾波可以有效地從含噪聲的測量結(jié)果中得到信號信息。但是如果主基站的時鐘同步校正包和標(biāo)簽含有TOA的數(shù)據(jù)包產(chǎn)生了碰撞,那么這個假設(shè)將不成立。卡爾曼濾波器會把這個碰撞當(dāng)作可信的時鐘偏差的數(shù)據(jù),而以此進(jìn)行計算。而卡爾曼濾波本身是一種低通濾波器,其反應(yīng)和修正的速度都較慢。因此,一個由碰撞產(chǎn)生的錯誤會在較長時間內(nèi)嚴(yán)重降低時鐘同步算法的性能。
因此本研究提出了一種對碰撞產(chǎn)生的錯誤的監(jiān)測以及避免辦法。
卡爾曼增益公式已經(jīng)由式(9)給出,定義其中一項Y信息矩陣為:
[Y=(Rn+1+Hn+1Pn+1|n(Hn+1)T)-1] (12)
式中,Y用來表示實際時鐘偏差與預(yù)測時鐘偏差的差值。這個信息可以用來提示當(dāng)前的輸入和當(dāng)前的濾波器狀態(tài)的吻合程度:
[OMn+1=(xn+1-xn+1)*Y*(xn+1-xn+1)] (13)
如果偏離指數(shù)(Outlier Metric,OM)大于一個預(yù)設(shè)的閾值,就認(rèn)為當(dāng)前輸入不可信,不更新當(dāng)前狀態(tài),直接丟棄此次數(shù)據(jù),從而避免讓錯誤數(shù)據(jù)包對濾波器造成很大的影響。
3 算法分析
算法的檢驗中,選取13 m[×]7 m[×]3 m的房間為測試環(huán)境,而且室內(nèi)環(huán)境都是可視距的,四個基站分別放置四個角落。四個基站分別標(biāo)注為M1,S2,S3和S4,選取M1為主基站,其余三個為從基站,其電路板圖(四個基站的電路板都一樣)如圖2所示。經(jīng)過手工準(zhǔn)確測量得到各個基站的坐標(biāo):M1(1.1, 1.17,1.93),S2(11.3, 1.17,1.21),S3(11.3,5.37,1.95),S4(1.1,5.37,1.22)。主基站到各個從基站的飛行時間分別標(biāo)注為TOF12、TOF13和TOF14,可經(jīng)過三角公式計算分別得到TOF12為0.000 000 034 123 193 s,TOF13為0.000 000 036 806 046 s,TOF14為0.000 000 014 223 998 s。對于測量噪聲[vn+1]和過程噪聲[ωn]分別給定一個值為[3×10-20]和[5×10-20],天線延時時間經(jīng)過精確測量為0.000 000 258 114 s。在實驗過程中,主基站每隔150 ms進(jìn)行一次同步數(shù)據(jù)包(CCP)廣播發(fā)送,從基站接收到CCP后,提取CCP包里的CCP發(fā)送時間,然后調(diào)用卡爾曼濾波算法進(jìn)行時鐘同步??筛鶕?jù)圖3提供的方法,比較從基站實際時間偏移量和最佳估計時間偏移量的差值,差值越小說明時鐘同步算法的性能越好,如圖3所示。
根據(jù)圖3,利用主從基站回傳的CCP發(fā)送時間、CCP接收時間和最佳估計時間等數(shù)據(jù),得出從基站時間相對偏移量和最佳估計時間相對偏移量,選取從基站S2的數(shù)據(jù)用Matlab繪制成圖,如圖4所示。
根據(jù)圖4可知,藍(lán)色線條表示從基站相對時間的偏移量,紅色線條表示最佳估計時間相對偏移量。經(jīng)過卡爾曼濾波算法后的時鐘同步,紅色線條顯得更平穩(wěn)些。而藍(lán)色線條受到一些噪聲和溫飄的影響顯得波動較大。由圖4中可知道誤差在30 ns左右,但對于光速來說納秒級別的誤差影響也是很大的。所以卡爾曼濾波算法也起到了濾波的作用,使得誤差變得平滑平穩(wěn)。因此,實驗表明卡爾曼濾波算法的無線時鐘同步可以較好地跟蹤主基站的時鐘偏移,進(jìn)而得出最佳的預(yù)測使得從基站的時鐘和主基站的時鐘基本一致,這很有利于提高標(biāo)簽的定位精確度。
4 結(jié) 論
無線時鐘同步算法通過卡爾曼濾波和遞歸算法,理論上時鐘同步誤差可達(dá)到0.1 ns級別,優(yōu)化了所有基站的時鐘同步。本文提出的新算法在IEEE 802.15.4a UWB技術(shù)基礎(chǔ)上,不僅能有效地消除時鐘偏差的測量噪聲,還能通過測量所得的時鐘偏差對時鐘偏差、時鐘漂移以及時鐘漂移變化率進(jìn)行估計,從而提高系統(tǒng)時鐘同步的精度。另一方面,針對低通濾波算法對偶發(fā)錯誤的敏感性,本文提出的檢測算法運(yùn)行狀態(tài)的環(huán)節(jié),可以剔除網(wǎng)絡(luò)中的碰撞或者接收錯誤給時鐘同步帶來的負(fù)面影響,從而增加了系統(tǒng)的容量與可靠性。
參考文獻(xiàn)
[1] HWANG S S, KWON G R, PYUN J Y, et al. AOA selection algorithm for multiple GPS signals [C]// 2013 Asilomar Conference on Signals, Systems and Computers. [S.l.]: IEEE, 2013: 481?485.
[2] SHAH SAADON E I, ABDULLAH J, ISMAIL N. Evaluating the IEEE 802.15.4a UWB physical layer for WSN applications [C]// 2013 IEEE Symposium on Wireless Technology and Applications (ISWTA). [S.l.]: IEEE, 2013: 68?73.
[3] MCELROY C, NEIRYNCK D, MCLAUGHLIN M. Comparison of wireless clock synchronization algorithms for indoor location systems [C]// 2014 IEEE International Conference on Communications Workshops (ICC). [S.l.]: IEEE, 2014: 157?162.
[4] CHEN Y, SHEN Y, JIANG X, et al. Throughput capacity of ALOHA MANETs [C]// 2013 IEEE/CIC International Conference on Communications in China. [S.l.]: IEEE, 2013: 71?75.
[5] SHIN W Y, LUCANI D E, MEDARD M, et al. Multi?hop routing is order?optimal in underwater extended networks [C]// IEEE International Symposium on Information Theory. [S.l.]: Institute of Electrical and Electronics Engineers, 2012: 510 ? 514.
[6] WENTAO J, LIMIN S. A prediction based long?cycle time synchronization algorithm for sensor networks [C]// Global Telecommunications Conference. Miami: [s.n.], 2010: 1?5.
[7] LIU B, REN F, SHEN J, et al. Advanced self?correcting time synchronization in wireless sensor networks [J]. IEEE communications letters, 2010, 14(4): 309?311.
[8] KIRSCH F, VOSSIEK M. Distributed Kalman filter for precise and robust clock synchronization in wireless networks [C]// Radio and Wireless Symposium. [S.l.]: IEEE, 2009: 482?485.
[9] LUO Yanfen. Research on adaptive information fusion Kalman filter algorithm [C]// 2012 International Conference on Microwave and Millimeter Wave Technology. [S.l.]: IEEEXplore, 2012, 5: 1?4.
[10] CHE H, CHEN Z. Energy?efficient time synchronization algorithm for wireless sensor networks [J]. Ordnance industry automation, 2010, 39: 530?534.
[11] BO G. Research on clock synchronization mechanism in wireless sensor networks[C]// International Forum on Information Technology and Applications. [S.l.]: IEEE, 2009: 57?60.
[12] LENG M, WU Y C. Distributed clock synchronization for wireless sensor networks using belief propagation [J]. IEEE transactions on signal processing, 2011, 59(11): 5404?5414.
[13] CHOI B J, LIANG H, SHEN X, et al. DCS: distributed asynchronous clock synchronization in delay tolerant networks [J]. IEEE transactions on parallel & distributed systems, 2012, 23(3): 491?504.
[14] SINAN Y K, KANTARCI A. Time synchronization based on slow?flooding in wireless sensor networks [J]. IEEE transactions on parallel & distributed systems, 2014, 25(1): 244?253.