胡愛華 鄧中亮 張耀
摘 要: 給出一種基于改進(jìn)TPSN和卡爾曼濾波提高TDOA定位中時(shí)間同步精度的方法。TDOA定位中,信號(hào)接收設(shè)備之間的時(shí)間不一致性,最終將反映到定位解算方程中的距離測(cè)量上,因此,信號(hào)接收設(shè)備之間的精確時(shí)間同步成為基于TDOA定位的核心技術(shù)之一。在比較了多種網(wǎng)絡(luò)同步協(xié)議的基礎(chǔ)上,改進(jìn)主從節(jié)點(diǎn)間的TPSN同步協(xié)議。另外,針對(duì)定位系統(tǒng)中各時(shí)鐘存在時(shí)鐘偏移和時(shí)鐘偏移率的缺陷問題,結(jié)合時(shí)鐘偏移和時(shí)鐘偏移率的分布特性,利用卡爾曼濾波算法進(jìn)行時(shí)間同步誤差的糾正。仿真結(jié)果表明,該算法能明顯降低主從時(shí)鐘之間的時(shí)間偏差。
關(guān)鍵詞: 時(shí)間同步; TDOA; 時(shí)鐘偏移; TPSN; 卡爾曼濾波; 同步精度
中圖分類號(hào): TN92?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)13?0005?05
Abstract: A method based on improved TPSN and Kalman filtering is presented to improve the time synchronization accuracy in TDOA location. Time inconsistency between signal receiving devices will ultimately influence on the range measurement in positioning resolving equation, so the precise time synchronization between signal receiving devices becomes one of the core technologies based on TDOA location. On the basis of comparing several network synchronous protocols, the TPSN synchronous protocol between master and slave nodes was improved. The method of estimating the clock skew and clock drift rate is studied to overcome the defects existing in each clock in location system. The Kalman filtering algorithm is used to correct the time synchronization error in combination with the distribution characteristics of clock skew and clock drift rate. The simulation results show that the proposed algorithm can obviously reduce the time deviation between master and slave clocks.
Keywords: time synchronization; TDOA; clock skew; TPSN; Kalman filtering; synchronization precision
基于目標(biāo)輻射源的無線通信定位系統(tǒng)是由空間獨(dú)立的信號(hào)接收設(shè)備(實(shí)現(xiàn)三維定位至少需要4臺(tái)接收設(shè)備)、實(shí)現(xiàn)定位解算的中心控制系統(tǒng)和實(shí)現(xiàn)各接收設(shè)備之間通信的無線通信單元。其總體架構(gòu)如圖1所示。為實(shí)現(xiàn)移動(dòng)通信用戶的定位,必須實(shí)現(xiàn)以下幾部分的技術(shù)研究:高靈敏度信號(hào)接收技術(shù)、接收設(shè)備之間的高精度同步技術(shù)和TDOA(Time Difference of Arrival)位置估計(jì)解算技術(shù)。基于TDOA的定位精度一方面取決于參考點(diǎn)的位置檢測(cè)可靠性,另一方面取決于信號(hào)到達(dá)接收設(shè)備時(shí)間的測(cè)量精度。如果一個(gè)基于TDOA的無線定位系統(tǒng)不能實(shí)現(xiàn)各個(gè)接收設(shè)備之間的高精度時(shí)間同步,就不可能獲得準(zhǔn)確的由各接收設(shè)備發(fā)送的用于TDOA解算的到達(dá)時(shí)間值,也就不能獲得準(zhǔn)確的被測(cè)目標(biāo)的位置解算。信號(hào)接收設(shè)備之間的時(shí)間不一致性最終將反映到定位解算方程中的距離測(cè)量上。信號(hào)接收設(shè)備之間的精確時(shí)間同步成為基于TDOA定位的核心技術(shù)之一,各信號(hào)接收設(shè)備間的低成本ns級(jí)的時(shí)間同步是高精度定位的難點(diǎn)之一。
傳統(tǒng)的時(shí)間同步方法有自由同步和分布式同步兩種。自由同步一般采用原子鐘,具有高精度、不受干擾的優(yōu)點(diǎn),但是設(shè)備復(fù)雜、價(jià)格昂貴。分布式同步又可分為主從同步和轉(zhuǎn)發(fā)同步[1]。主從同步是主設(shè)備發(fā)射信號(hào),從設(shè)備收到主設(shè)備信號(hào)后發(fā)射帶有接收發(fā)射時(shí)間信息的信號(hào),采用鎖相環(huán)等技術(shù),具有一定的抗干擾能力。轉(zhuǎn)發(fā)同步是從設(shè)備直接轉(zhuǎn)發(fā)主設(shè)備發(fā)射的信號(hào),受傳播路徑的影響較嚴(yán)重。本文研究的系統(tǒng)采用主從同步方式。
時(shí)間同步的本質(zhì)是通過犧牲通信帶寬和計(jì)算功耗來提高時(shí)間精度。由于通信帶寬產(chǎn)生通信延遲抖動(dòng),CPU(Central Processing Unit)處理能力決定時(shí)間戳精度,因此,基于時(shí)間信息包交換的時(shí)間同步精度主要由兩個(gè)方面決定:有偏差的物理時(shí)鐘和時(shí)間信息交換協(xié)議(即時(shí)間同步算法)[2?3]。
1.1 無線分布式網(wǎng)絡(luò)的時(shí)間同步
基于有線網(wǎng)絡(luò)的傳統(tǒng)時(shí)間同步技術(shù)在不改變其低功耗等特征時(shí)很難應(yīng)用到無線網(wǎng)絡(luò)[4?6]。關(guān)于無線通信網(wǎng)絡(luò)時(shí)間同步已有多種協(xié)議得到廣泛應(yīng)用,主要可分為以下幾類:
1) 基于發(fā)送者?接收者的雙向同步,典型算法如TPSN(Timing?Sync Protocol for Sensor Networks)算法[2,4,7?8]。
2) 基于發(fā)送者?接收者的單向時(shí)間同步,如FTSP (Flooding Time Synchronization Protocol)算法[9]和DMTS(Delay Measurement Time Synchronization)時(shí)間同步算法[10]。
3) 基于接收者?接收者的同步算法,如RBS(Reference Broadcast Synchronization)算法[2]。但它們未能在能效和精度上進(jìn)行充分的優(yōu)化。
對(duì)于無線網(wǎng)絡(luò)環(huán)境的時(shí)間同步需要考慮如下幾個(gè)問題:
1) 用于處理無線通信的資源;
2) 無線網(wǎng)絡(luò)的擴(kuò)展;
3) 無線網(wǎng)絡(luò)的時(shí)間同步基礎(chǔ)設(shè)施;
4) 無線網(wǎng)絡(luò)的節(jié)點(diǎn)集合。
1.2 TPSN同步算法
TPSN同步算法屬于發(fā)送者?接收者同步機(jī)制算法[4,8,11]。時(shí)間同步從根節(jié)點(diǎn)開始,構(gòu)建分層次等級(jí)的網(wǎng)絡(luò)結(jié)構(gòu)。通過與高一級(jí)的節(jié)點(diǎn)交換時(shí)間戳來檢查同步情況,通過計(jì)算偏移量和交換延遲矯正傾斜角。其時(shí)間同步過程如圖2所示。
設(shè)A為從節(jié)點(diǎn),B為主節(jié)點(diǎn),無線傳播時(shí)間為[d],兩節(jié)點(diǎn)時(shí)鐘的時(shí)間偏差為[δ]。同步過程由主節(jié)點(diǎn)B在[T1]時(shí)刻廣播同步開始信息,其包含信息([T1]);從節(jié)點(diǎn)A在[T2]時(shí)刻接收到同步信息,并記錄接收時(shí)間[7][T2]:
從式(3),式(4)可以看出,只需一組數(shù)據(jù)就可以計(jì)算出主從節(jié)點(diǎn)之間的時(shí)間偏差。在傳播過程中,如果這組數(shù)據(jù)信息受到多徑延遲或噪聲的影響,那么得到的接收時(shí)間就有可能不正確,但是通過利用多組數(shù)據(jù)來計(jì)算可以減小數(shù)據(jù)干擾。
融合北斗與基站的定位采用TDOA定位方法,要求計(jì)算被定位終端信號(hào)到達(dá)各節(jié)點(diǎn)的時(shí)間差,時(shí)間差的準(zhǔn)確度取決于各節(jié)點(diǎn)之間的同步精度。為使TDOA定位系統(tǒng)中獨(dú)立節(jié)點(diǎn)之間同步誤差盡量小,可以利用衛(wèi)星時(shí)鐘同步和基于時(shí)鐘誤差矯正的雙向數(shù)據(jù)通信鏈路達(dá)到高精度同步的目的。
2.1 同步系統(tǒng)結(jié)構(gòu)
本文中設(shè)定的基于TDOA的移動(dòng)通信用戶定位系統(tǒng)采用主從同步模式[8]。系統(tǒng)結(jié)構(gòu)如圖3所示。
在主、從節(jié)點(diǎn)中使用的時(shí)鐘發(fā)生器主要由衛(wèi)星信號(hào)接收機(jī)、DPLL(Digital Phase Lock Loop,數(shù)字鎖相環(huán))、OCXO(Oven?controlled Crystal Oscillator,恒溫晶體振蕩器)、振蕩器漂移補(bǔ)償算法組成。DPLL用來實(shí)現(xiàn)OXCO與衛(wèi)星接收機(jī)提供的1 pps信號(hào)的同步,生成具有高頻率穩(wěn)定的系統(tǒng)時(shí)鐘。然而對(duì)于衛(wèi)星接收機(jī)輸入DPLL的1 pps信號(hào)有短時(shí)的抖動(dòng),這是由于信號(hào)反射、電磁波通過電離層、多徑接收等原因產(chǎn)生的。由于通過衛(wèi)星的原子鐘生成的信號(hào)具有高穩(wěn)定性,所以可以通過DPLL環(huán)路濾波器的濾波降低抖動(dòng)。
2.2 雙向通信鏈路
為達(dá)到各接收端(節(jié)點(diǎn))之間的精確同步,采用雙向通信鏈路[5,8]。這種方法在兩個(gè)通信鏈路上使用時(shí)間戳消息,當(dāng)傳送時(shí)鐘脈沖的路徑相同時(shí),在主從節(jié)點(diǎn)之間延時(shí)是相互抵消的。因此兩個(gè)接收機(jī)之間時(shí)鐘差的估計(jì)是可行的。為了使時(shí)間戳信息在雙向鏈路上的傳輸延時(shí)相同,需要將所有的處理都在硬件中實(shí)現(xiàn),從而使時(shí)延不會(huì)發(fā)生改變。最好是讓時(shí)間戳的生成位置在與傳輸介質(zhì)最近的物理層。
當(dāng)在物理層使用時(shí)間戳?xí)r,在傳輸和接收的過程中不確定因素是傳播時(shí)間。當(dāng)主從節(jié)點(diǎn)之間是視距傳播時(shí),則雙向傳輸?shù)碾姴▊鞑r(shí)延差就很小,因此可以準(zhǔn)確地估計(jì)兩個(gè)節(jié)點(diǎn)之間的時(shí)鐘差。為此,本文研究的時(shí)間同步系統(tǒng)時(shí)間戳在物理層生成。無線信號(hào)的處理采用SDR(Software Define Radio)實(shí)現(xiàn),CPU使用TI公司的DSP芯片,它結(jié)合FPGA實(shí)現(xiàn)無線信號(hào)的調(diào)制解調(diào)和處理。以這種方式實(shí)現(xiàn)時(shí)間戳可以使雙向鏈路的時(shí)間延遲最小化。
2.3 時(shí)間同步協(xié)議和誤差矯正
針對(duì)一主三從4個(gè)終端的TDOA定位系統(tǒng),設(shè)計(jì)如圖4所示的TPSN同步協(xié)議。對(duì)TPSN協(xié)議做了改進(jìn)[8,12],對(duì)于時(shí)間戳的需求數(shù)量相對(duì)于TPSN大大減少。它可以降低無線數(shù)據(jù)鏈路的壓力,縮短時(shí)間同步實(shí)現(xiàn)的時(shí)間。
圖4中TPSN協(xié)議的運(yùn)行順序描述如下:
1) 首先發(fā)送用于首次同步的同步廣播消息。
2) 各從節(jié)點(diǎn)接收到同步信息后,保存[T2]時(shí)間信息;每個(gè)從節(jié)點(diǎn)依次發(fā)送同步脈沖消息后,保存[T3]時(shí)間信息;在第一階段沒有接收到3個(gè)同步脈沖時(shí)請(qǐng)求重傳。
3) 同步應(yīng)答消息廣播包括時(shí)間信息[T1]和[T4]。
4) 在接收到應(yīng)答消息后,利用[T1],[T2],[T3]和[T4]校正[θ],[θ=(T2-T1)-(T4-T3)2]。
2.4 基于卡爾曼濾波的時(shí)鐘誤差校正
如果獲取的時(shí)間戳信息是精確可靠的,從節(jié)點(diǎn)的本地時(shí)鐘校正可以直接利用時(shí)鐘偏移和時(shí)鐘偏移率實(shí)現(xiàn),從而達(dá)到主節(jié)點(diǎn)與從節(jié)點(diǎn)間的時(shí)間同步。在同步協(xié)議已建立的前提下,信息包交換過程中還存在測(cè)量噪聲和傳輸時(shí)延等不確定性因素導(dǎo)致得到的時(shí)間信息不精確。所以在這里采用濾波器對(duì)其進(jìn)行預(yù)處理。在本文研究的帶有時(shí)鐘偏移的同步系統(tǒng)中,通過卡爾曼濾波器(Kalman Filter,KF)對(duì)時(shí)鐘偏移和偏移率進(jìn)行估計(jì),實(shí)現(xiàn)時(shí)間同步誤差校正[13?16]。
2.4.1 時(shí)鐘校正原理和Kalman算法
TPSN算法采用的發(fā)送/接收模型如圖5所示,針對(duì)主節(jié)點(diǎn)和其中任何一個(gè)從節(jié)點(diǎn)運(yùn)用直接雙向同步算法,可以計(jì)算從節(jié)點(diǎn)的本地時(shí)鐘的漂移率和時(shí)鐘偏移。
定義從節(jié)點(diǎn)在[t]時(shí)刻(主節(jié)點(diǎn)時(shí)間)的時(shí)間為[H(t)],[H(t)]與參考時(shí)間[t]的時(shí)間偏差為從節(jié)點(diǎn)的時(shí)鐘偏差[θ(t)],定義[t]時(shí)刻時(shí)鐘漂移[α(t)],時(shí)鐘漂移變化率為[β(t)],其中[α(t)]是[θ(t)]的時(shí)間導(dǎo)數(shù),[β(t)]是[α(t)]的時(shí)間導(dǎo)數(shù)。
由于晶體振蕩器存在老化問題,而且受環(huán)境溫度的影響,時(shí)鐘漂移不是恒定不變的。從時(shí)鐘與主時(shí)鐘具有非線性關(guān)系,在本文中,定義時(shí)鐘模型[14]如下:
2.4.2 仿真分析
利用Matlab軟件進(jìn)行時(shí)鐘校正,仿真實(shí)驗(yàn)中,主從時(shí)鐘的工作頻率設(shè)置為80 MHz,從時(shí)鐘相對(duì)于主時(shí)鐘的時(shí)鐘漂移為2[×]10-10 s,時(shí)鐘漂移率為1[×]10-11 s,同步周期選擇1 s,觀察卡爾曼濾波前后時(shí)間偏差情況,如圖6所示。
由圖6可見,進(jìn)行卡爾曼濾波前、后時(shí)鐘偏差是隨機(jī)變化的,對(duì)仿真數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,計(jì)算濾波前后的時(shí)鐘偏差的均值和方差得到的結(jié)果如表1所示。
通過卡爾曼濾波估計(jì)得到狀態(tài)的估計(jì)值,使從時(shí)鐘的偏差得到補(bǔ)償,并對(duì)時(shí)鐘模型進(jìn)行修正,最終實(shí)現(xiàn)從時(shí)鐘與主時(shí)鐘的同步。從圖6可見卡爾曼濾波算法可以明顯減小主從時(shí)鐘之間的時(shí)間偏差。由圖7,圖8可知,經(jīng)過卡爾曼濾波后從時(shí)鐘的漂移情況得到了改善,時(shí)鐘漂移率隨著時(shí)間的收斂效果明顯。
基于TDOA的無線定位系統(tǒng)中,時(shí)間同步是整個(gè)系統(tǒng)提高定位精度的重要方面,主從同步中的TPSN同步方式一方面可以提高時(shí)間精度,另外,還可以降低能量消耗。本文研究的一主三從定位系統(tǒng)采用改進(jìn)的TPSN方法,對(duì)于時(shí)間戳的需求數(shù)量相對(duì)于TPSN大大減少。利用基于卡爾曼濾波的雙向同步算法,不僅時(shí)鐘偏差的測(cè)量噪聲被有效消除,而且實(shí)現(xiàn)了對(duì)時(shí)鐘漂移以及時(shí)鐘漂移變化率的估計(jì)。另外,在對(duì)時(shí)鐘偏差進(jìn)行補(bǔ)償?shù)耐瑫r(shí),修正從時(shí)鐘系統(tǒng)時(shí)間,從而提高無線定位系統(tǒng)的TDOA定位精度,仿真結(jié)果表明,卡爾曼濾波器能明顯減小主從時(shí)鐘的偏差,并且在對(duì)時(shí)鐘偏差進(jìn)行補(bǔ)償?shù)耐瑫r(shí),修正從時(shí)鐘系統(tǒng)時(shí)間,從而降低無線定位系統(tǒng)的TDOA定位時(shí)鐘的偏差。
[1] MASNE V, BADHIYE S, SAMBHE N, et al. Clock synchroniza?tion in distributed area [J]. International journal of computing and technology 2014, 1(3): 114?120.
[2] 葉玲,李太華,代學(xué)武.無線傳感器網(wǎng)絡(luò)環(huán)境下基于卡爾曼濾波的PTP協(xié)議[J].智能系統(tǒng)學(xué)報(bào),2012,7(6):518?524.
YE L, LI T H, DAI X W. Kalman filtering based precision time protocol (PTP) in wireless sensor networks [J]. Transactions on intelligent systems, 2012, 7(6): 518?524.
[3] LIU D, ZHENG Z, YUAN Z, et al. An improved TPSN algorithm for time synchronization in wireless sensor network [C]// 2012 the 32nd International Conference on Distributed Computing Systems Workshops. Macao, China: IEEE, 2012: 279?284.
[4] 陶志勇,胡明.無線傳感器網(wǎng)絡(luò)中基于層次結(jié)構(gòu)的時(shí)間同步算法[J].計(jì)算機(jī)應(yīng)用,2012,32(6):1513?1515.
TAO Z Y, HU M. Time synchronization algorithm based on hierarchical structure in wireless sensor network [J]. Computer applications, 2012, 32(6): 1513?1515.
[5] IWAMURA M, UCHINO T. Mobile communication method of requesting synchronization [P]. 2015?08?09.
[6] MANITA A. Clock synchronization in symmetric stochastic net?works [J]. Queueing systems, 2014, 76(2): 149?180.
[7] GANERIWAL S, KUMAR R, SRIVASTAVA M B. Timing?sync protocol for sensor networks [C]// 2003 International Conference on Embedded Networked Sensor Systems. [S.l.]: ACM, 2003: 138?149.
[8] YOON J Y, KIM J W, LEE W H, et al. A DoA?based localiza?tion using precise time?synchronization [J]. Animal feed science & technology, 2012, 71(S1/S2): 1266?1271.
[9] ELSON J, GIROD L, ESTRIN D. Fine?grained network time synchronization using reference broadcasts [J]. ACM SIGOPS operating systems review, 2002, 36(1): 147?163.
[10] 康冠林,王福豹,段渭軍.無線傳感器網(wǎng)絡(luò)時(shí)間同步綜述[J].計(jì)算機(jī)測(cè)量與控制,2005,13(10):1021?1023.
KANG G L, WANG F B, DUAN W J. Survey on time synchroni?zation for wireless sensor networks [J]. Computer measurement and control, 2005, 13(10): 1021?1023.
[11] 張白樺.基于TPSN的時(shí)間同步改進(jìn)算法[J].計(jì)算機(jī)工程,2010,36(9):109?110.
ZHANG B H. Improved tine synchronization algorithm based on TPSN [J]. Computer engineering, 2010, 36(9): 109?110.
[12] GARONE E, GASPARRI A, LAMONACA F. Clock synchroni?zation protocol for wireless sensor networks with bounded communication delays [J]. Automatica, 2015, 59(C): 60?72.
[13] 莊曉燕,王厚軍.基于卡爾曼濾波器的IEEE 1588時(shí)鐘同步算法[J].電子測(cè)量與儀器學(xué)報(bào),2012,26(9):747?751.
ZHUANG X Y, WANG H J. IEEE 1588 clock synchronization algorithm based on Kalman filter [J]. Journal of electronic measurement and instrument, 2012, 26(9): 747?751.
[14] KIM K S, LEE B G. KALP: a Kalman filter?based adaptive clock method with low?pass prefiltering for packet networks use [J]. IEEE transactions on communications, 2000, 48(7): 1217?1225.
[15] WELCH G, BISHOP G. An introduction to the Kalman filter [J]. Course notes of ACM siggraph, 1995, 8(7): 127?132.
[16] WANG T, GUO D, CAI C Y, et al. Clock synchronization in wireless sensor networks: analysis and design of error precision based on lossy networked control perspective [J]. Mathematical problems in engineering, 2015(2): 1?17.