韓宜靜, 曾芳玲, 汪海兵
(國防科技大學電子對抗學院,安徽 合肥 230037)
無線傳感器網絡、編隊執行任務的微小衛星群、組網雷達以及各種需要協同的系統,重要的一項支撐技術就是系統各節點間的時間自同步技術,分布式系統的節點時間自同步通常采用雙向單程偽距測量(Dual One-Way Ranging,DOWR)[1]的方法來實現。雙向單程偽距測量提出于星間鏈路的測距及同步中,目前的文獻普遍認為雙向傳輸路徑上的時延基本一致且方向相反,在實現同步的過程中可以互相抵消,因此在星間鏈路中利用DOWR時不用考慮信號傳輸路徑上的誤差因素,精度可達0.3 ns[2]。但當利用DOWR進行地面分布式節點的時間同步時,由于信號在地面傳輸時其多路徑時延影響較大,無法簡單地認為時延一致而互相抵消。而現有的文獻僅在機動的條件下進行過相關研究[3],尚未有文獻考慮過靜止狀態下雙向傳輸路徑上的時延不一致問題。為了解決這個問題,提出將雙向單程偽距測量和衛星授時數據結合起來,用雙向單程偽距測量平滑衛星授時數據。
利用雙向單程偽距測量的兩個異地節點間通過相互發送測距信號和時鐘信號來解算距離值和鐘差值,然后再通過通信鏈路交換數據。由于測距信號所經歷的發射路徑與接收路徑基本一致且方向相反,因此可以最大限度地消除路徑傳播誤差。該方法的主要實現過程:首先,節點A生成測距信號并將該信號發送給節點B,待節點B接收該測距信號后,對其進行捕獲和跟蹤處理,然后進行偽距值的提取以及節點A到節點B的鐘差與距離的計算;節點B將測距信號發送給節點A,節點A對接收的節點B測距信號進行基帶信號處理操作以得到兩節點間的鐘差及距離[4]。
雙向單程偽距測量的兩個節點之間的工作原理及順序關系如圖1所示[5]。

圖1 雙向單程偽距測量工作原理Fig.1 Working principle of dual one-way ranging measurement
節點A和節點B根據自己的時鐘發送傳輸信號,對于節點A來說,通過捕獲跟蹤從B節點發出的測距信號的傳輸時間τ1,節點B的發送時延t2,節點A的接收時延r1和兩節點之間的鐘差Δt,加上信號從B到A傳輸過程中的多路徑時延tm1,可以測得信號傳輸時延T1:
T1=t2+τ1+r1+Δt+tm1
(1)
同理可得信號從節點A到節點B的傳輸時延T2:
T2=t1+τ2+r2-Δt+tm2
(2)
假設傳輸路徑高度對稱,即認為雙向傳輸路徑上的時延是一致的,此時,τ1=τ2=t,因此節點A和節點B之間真實的傳輸時延和鐘差為:

(3)

(4)
令
t1+r2=t12,t2+r1=t21
(5)
則
(6)
(7)
式中,T1和T2作為測量值,能夠從節點A和節點B的碼跟蹤環中獲得,t12和t21能夠通過對設備進行時延標校獲得,這些數據可以嵌入到傳輸幀數據區內,通過傳輸鏈路發送給對方。因此,只要求得tm1、tm2的值,即可通過雙向單程偽距測量的方法測得兩節點之間的距離和鐘差。對于本文來說,只要獲取tm1-tm2的值就可以利用DOWR實現節點間鐘差數據的測量。
雙向測距采取分時工作體制,在可視的兩節點間建立多條點對點的單頻時分雙向通信鏈路,為兩節點實現時間同步提供數據交換通道。在雙向測量過程中信號不是同時發送的,而是按照一定的時序將兩個單向測距組合起來的[6]。其測量機制如圖2所示。

圖2 雙向測量時序機制示意圖Fig.2 Schematic diagram of bidirectional measurement timing mechanism
通常,兩節點間需要互傳多輪信號才可以實現同步,而每輪互傳信號所包含的信息并不相同。為了更清楚地顯示節點間的測量時序關系,上圖將兩節點間的多次雙向測距簡化為一次。對于A節點來說,在0~t1時間內與B節點建立通信鏈路,在t1~t2間與C節點建立通信鏈路,同時B節點可與其它節點建立通信鏈路。當A節點將信息發送給B節點時,B節點完成數據幀的信息提取,從而完成單向測量。之后雙方交換,由A節點接收B節點發送的信息并提取,這樣在一個循環中兩個節點就實現了雙向測距和時間同步,單個節點也可以利用兩個節點的數據進行鐘差解算。實際上,利用DOWR實現時間同步的精度雖高,但其多路徑時延差無法獲得,而衛星授時可以輔助測量多路徑時延差,因此可以將兩種方法結合起來完成節點間的時間同步。
在實際應用場景中,利用衛星進行授時雖然精度不高,但其授時接收機設備成本低,結構簡單,體積小,可以方便地安裝在各節點處來獲取各節點的鐘差數據。因此,如果將DOWR與衛星授時數據進行融合,則能夠大大提高系統的同步精度。基于這種思路,本文提出用衛星授時數據作為輔助來完成多路徑時延差的初步獲取,從而進行授時的初同步。在完成初同步后,用DOWR對衛星授時數據進行多次平滑,即可以完成系統的精同步過程。整個過程總共分為三個階段:測距幀階段、數據幀階段以及數據融合階段。接下來分別對這三個階段進行詳細分析。
節點B根據自己的時鐘發送并接收測距信號,其中偽隨機碼信號由偽隨機碼產生器生成,碼率為8.184 Mchip/s,經過DAC轉化成模擬信號,信號發射器將信號進行調制并發送到發射天線,節點A的接收天線接收到信號后將它下變頻到中頻,然后中頻信號通過ADC變成數字信號,在跟蹤環中進行處理。
節點A接收后通過碼跟蹤環獲取信號從節點B發出到節點A所經歷的時延T1,并向節點B發送測距信號,同理節點B可獲取信號傳輸時延T2。此時,測距幀結束。
下一個周期作為數據通信周期。節點A/B根據自己的衛星授時接收機,解算出節點與系統時的鐘差。節點A向節點B發送自己的授時數據ΔtA、設備的發射時延t1和接收時延r1以及在測距幀階段獲取的傳輸時延T1,B接收到后在本地即可根據雙向單程偽距測量所得的雙向測量方程,在用兩地授時接收機解算出的鐘差代替兩地實際鐘差,即ΔtA-ΔtB=Δt的基礎上,解算出兩點間一次測量的多路徑時延差tm1-tm2。
同樣,B節點向A節點發送自己的時鐘數據ΔtB、設備的發射時延t2和接收時延r2以及在測距幀階段獲取的傳輸時延T2,A節點接收后同樣可以根據測量方程解算出一樣的tm1-tm2。令ΔtA-ΔtB=Δt,代入式(7)中得:
tm1-tm2=T1-T2+t12-t21-2·(ΔtA-ΔtB)
(8)
由于衛星授時接收機解算授時信息時存在誤差,節點的授時接收機每次解算的授時數據ΔtAk、ΔtBk都是不同的。因此,當授時信息在兩節點間進行傳遞時,兩點間的共視鐘差ΔtAk-ΔtBk=ΔtABk也并不相同。共視是指兩個地面站在同一時間對同一顆衛星進行觀測,分別測得地面站與衛星的鐘差,通過比較兩個地面站的測量結果即可得兩個地面站間的鐘差。共視可以完全抵消星鐘誤差,基于偽碼測量的共視接收機可保證兩站測量精度達到10 ns,可以認為ΔtAB的精度約等于衛星共視精度εα[7]。另外,節點間互相發送信號時,由于碼跟蹤環同樣受到噪聲的干擾,從而節點從碼跟蹤中獲取的信號傳輸時延T1k、T2k也存在差異。設輸入噪聲為帶限零均值高斯白噪聲,其雙邊功率譜密度為N0/2,噪聲引入的跟蹤抖動為:
(9)

ΔtAB=Δt+εα
(10)

(11)
式中,Δt為兩節點的鐘差真值。由式(10)、式(11)可得:
(12)
在不考慮誤差項的影響下,讀寫器對接收信號連續測量n次,可得測量方程:

(13)
則
(14)
將平滑后的多路徑時延差值代入式(7)中得

(15)
對于式(15),考慮平滑后的誤差σ與εα、εβ之間的關系,由于εβ2?εα2,根據誤差傳遞定理[10]可得,
(16)

另外,考慮到式(15)必須事先存儲n次測量數據才能得到結果,而實際應用中需要實時得到測量信息,因此給出其實時表達形式及算法的流程圖。

(T1n-T2n+t12-t21-2ΔtABn)-
(17)


圖3 算法流程圖Fig.3 Algorithm flow chart
上述算法流程適用于平滑次數n≥2的情況,實際上平滑次數也是數據通信階段信號傳輸的輪數,平滑次數n=1時,在兩個節點間只傳輸了一輪衛星授時數據,此時相當于進行了一次衛星共視,只有當平滑次數n≥2時才起到了平滑效果。本節將在平滑次數n≥2的情況下對信號處理過程作詳細分析。
1)測距階段,A/B節點互相發送信號,根據碼跟蹤環獲取T11、T21;
2)數據通信階段
①第一輪數據通信階段,兩節點分別傳輸設備發射時延t、接收時延r、第一輪中獲取的T11、T21以及導航授時接收機解算出的各節點與系統時的鐘差ΔtA1、ΔtB1,同時從碼跟蹤環中獲取信號在該輪通信時信號的傳輸時延T12、T22;
②第二輪數據通信階段,發送T12、T22以及兩個節點第二次解算的衛星授時數據ΔtA2、ΔtB2,繼續從碼跟蹤環中獲取信號在該輪通信時信號的傳輸時延T13、T23;
③第三輪數據通信階段,發送T13、T23以及兩個節點第三次解算的衛星授時數據ΔtA3、ΔtB3,繼續從碼跟蹤環中獲取信號在該輪通信時信號的傳輸時延T14、T24;
……
第n輪數據通信階段,發送T1n、T2n以及兩個節點第n次解算的衛星授時數據ΔtAn、ΔtBn,繼續從碼跟蹤環中獲取信號在該輪通信時信號的傳輸時延T1n+1、T2n+1。
3)數據融合階段

(18)

為了驗證平滑算法的有效性,本文根據式(18)仿真了平滑次數與鐘差誤差之間的關系。仿真條件為授時誤差10 ns,由于式(18)中鐘差誤差與設備收發時延無關,因此只考慮T1、T2的測量誤差0.49 ns。根據圖3的算法流程,在實驗中對同一組數據進行250次平滑,分別計算出每次平滑的鐘差誤差,并對其進行擬合處理,得到平滑次數與鐘差誤差的關系如圖4所示[11]。

圖4 平滑次數與鐘差誤差的關系Fig.4 Relationship between smoothing times and clock error
從圖4中可知,隨著平滑次數的增加,鐘差誤差也隨之減小。應當注意的是,平滑次數不僅影響著平滑效果,它同時還決定了平滑時間。越大的平滑次數在達到較高精度的同時,所耗費的平滑時間也會越久,即越無法滿足系統的實時性要求[12]。對于本系統,系統選取的碼速率為8.184 Mchip/s,碼長為1023 chip,每個偽碼周期取得一次測量值,則相鄰的兩次測量間隔為1023/8.184 M=0.125 ms。n次平滑需要耗時n·0.125 ms,因此應該合理的選取n值以同時滿足系統實時性與精度的要求。
為了對平滑前后的鐘差誤差進行比較,本實驗分別進行了n取不同值時平滑前后的鐘差誤差對比,并得出不同平滑次數下的均方根誤差如圖5所示,(a)、(b)、(c)、(d)分別是平滑次數為10,50,100,150時的平滑前后鐘差誤差比較圖。

圖5 平滑前后的鐘差誤差比較圖Fig.5 Comparison of clock error before and after smoothing
從圖5中可以看出,隨著平滑次數的增加,鐘差誤差逐漸減小,當n取值不同時,平滑前后的鐘差均方根誤差如表1所示。
綜上可得,平滑次數越多,鐘差測量精度就越高,當平滑次數達到100時,鐘差誤差(均方根)已經得到了明顯的改善。考慮到平滑次數的選取必須在系統精度與實時性間進行權衡,由圖4和表1可知,在100次平滑之后,鐘差精度改善不大。因此綜合考慮,選取平滑次數為100次。100次平滑需要耗時0.125 ms×100=12.5 ms,可以同時滿足系統實時性與精度的要求。

表1 鐘差測量的均方根誤差前后對比
