楊 楓
(1.南京航空航天大學 航空宇航學院,南京 210016; 2.中國空間技術研究院 ,北京 100094)
載人航天領域在多飛行器的空間交會對接過程中,作為追蹤飛行器的航天器需要實時獲取自身與目標飛行器的相對位置、速度以及目標飛行器的姿態,從而調整自身的方位、速度和姿態,逐步逼近目標飛行器,最終完成空間交會對接。不同于單個航天器測試,航天器交會對接測試中需要同步實時模擬航天器在軌交會對接過程中的飛行狀態及時序,并同步真實模擬對接機構的機電系統動作,以驗證其相互之間協調和匹配性[1]。這就需要參試航天器實現嚴格的實時同步動態模擬飛行和信息交互,對此過程中兩個航天器狀態進行同步監控和判讀比對,對時統的一致性、航天器和測試系統間的協調性提出了很高的要求。系統定位精度要求尤為突出,如何為地面測試系統提供一個統一的高精度、高準確度、高穩定度的時間和頻率參考標準,是準確測量星載頻率標準的關鍵所在。因此,載人航天器測試精密時間基準的研究設,也是提高載人航天器可靠性的極為重要的輔助手段。
采用高精度時間基準同步系統對航天器測試系統實施同步控制;利用軌道仿真模擬器中的動力學仿真模擬器實現軌道信息的實時同步聯動,作為交會對接過程模擬飛行的姿態控制驅動。高精度時間基準同步系統如何建立,將為多船/器聯合測試、批測試提供統一的參考時間和頻率,確保型號頻率標準測試數據的準確性和可靠性,以便后續盡可能精確衡量星載頻率標準,優化船載頻率設計。同時,高精度時間基準同步系統具有向地面測試網絡提供全網NTP授時的能力,為載人航天船/器地面測試驗證以及多系統聯試提供了有力保障。
其工作原理為:
1)高精度時間同步系統接收船載導航信號[2],經過放大后輸送到北斗校頻接收機等設備;
2)該接收機以北斗系統時間為參考標準,測量氫鐘的頻率偏差;該偏差發送給主控計算機,用戶可利用該偏差值對本地鐘進行校準;
3)網絡時間服務器可提供NTP網口,可連至需要校時的計算機局域網,時間服務器將向該局域網的計算機提供NTP校時服務;
4)時間頻率網設備通過網線連至主控計算機,主控計算機可以監測每臺設備的工作狀態,并可以對各設備的工作狀態進行控制。
采用分布式構架,包括信號層、服務層、網絡層、設備層組成,系統標準時鐘源采用航天器授時聯合本地銣鐘授時組成如圖1所示,通過NTP實現系統內設備網絡授時,這個系統由統一監控模塊實現統一的監控管理。

圖1 校時服務器原理框圖
信號層通過衛星信號接收天線,接收北斗衛星時間信號。
服務層由時間同步單元、基準算法模塊、二級服務器構成。時間同步服務器接收經天線接收的時間信號并處理,聯合本地銣鐘組成系統標準時間源,輸出系統時間同步信號,二級時間同步服務器接收時間同步服務器輸出基準時間信息,通過交換機實現終端設備和時間同步服務器的隔離;二級時間同步服務器還采用授時終端同步結果;二級時間同步服務器采集設備信息、環境溫濕度信息,實現系統內設備的統一監控和系統實施調度管理[3]。
網絡層有網絡交換機實現授時設備與時間同步服務器的物理隔離,同時保證NTP時間同步服務器報文的分發傳輸。
設備層即系統授時設備終端,通過網絡層交換機接收時間同步信息,實現與時間同步服務的時間同步。
服務層時間同步單元PCI校時板卡通過獲取信號層BD模塊時間,當BD模塊收到有效的BD信號后會輸出接收到的時間,否則BD模塊將輸出晶振時間。位于系統基準時間算法模塊使用PCI板卡的接口API,通過PCI總線獲取時間。當基準時間算法模塊通過PCI板卡獲取時間成功時,二級校時服務器會校準本地精準時間并將此時間信息通過網絡發送給授時終端進行校時;當基準時間算法模通過PCI板卡獲取時間不成功時,二級時間服務器會將本地時間通過網絡發送給授時終端進行校時。
1)BD接收模塊:系統采用高精度BD接收模塊,接收機輸出原始觀測數據,接收機輸出的信號與被測信號分頻出的時間間隔計數器進行時差測量;
2)精密時間間隔技術器:普通的時間間隔計數器精度是10ns,精密時間間隔計數器分辨力則可達到1ns以內。目前精密時間間隔技術發展速度非常快,提高測量精確度的方法也非常復雜,本系統采用的高精度時間間隔計數器采用內插法,很大地提高了系統的健壯性;
3)改進數據處理方法:系統中的時間分段劃分可以采用BD系統中時差修正的方法,按照原始數據對應的時間段編號,每天一次,從北京時間0點到8點開始,每16分鐘為一個時間段落,00點8分0秒到24分為第1號段時間,23點52分開始的16分鐘為第90號時段。時間劃分周期是24小時,每天同一時刻均有時差數據。
系統中的時鐘接收器可以接通多路BD信號,可以捕獲多顆BD衛星,與單通道BD接收機相比,系統精度更高。
在系統框架下,利用網絡實現時間同步系統實時在線監控,實現系統內設備的統一時間基準管理。通過卡爾曼濾波算法、高精度時間同步算法、網絡延遲矯正時間同步算法的研究,獲得一種精密時間基準方法。
BD接收機在接收從外界傳入的時鐘信號過程中,可能受到干擾產生抖動和削弱造,為了減少時鐘信號對系統精度的影響,需要在獲得的時鐘信號結果中進行濾波處理[4-6]。本文使用Kalman濾波算法,對時鐘脈沖信號進行濾波處理。
對于該BD時間精準系統,所需的Kalman濾波方程歸納如下:
信號模型:x(k)=ax(k-1)+ω(k-1)
(1)
觀測模型:y(k)=cx(k)+γ(k)
(2)

(3)

(4)
最小均方誤差:Pe(k)=P1(k)-cb(k)P1(k)
(5)

(6)
在Windows平臺中,系統API提供了多種途徑。從API用來表述時間的數據結構上,大致可分為秒級、毫秒級、十分之一微秒級。但是,通過測試實例,發現實際表現并沒有達到數據結構的表述精度。所有系統提供的API,最高的時間精度統一為大約15 μs。其波形如圖2所示。

圖2 系統時間API實際數值
作為時間系統的計數系統、這種精度顯然不足使用。經過調研,選擇了一個經常用來測試系統性能的時間計數器API:
QueryPerformanceCounter();
QueryPerformanceFrequency()。
這兩個API直接利用CPU上的性能計數器晶振來進行工作。QueryPerformanceCounter()函數用來得到計數器的計數值, QueryPerformanceFrequency()函數則用來得到晶振頻率。在AMD和Intel系列芯片的臺式機上,這兩個API的工作穩定,精度高于1/10微妙,因此采用這兩個API實現高精度時間系統。

圖4 LocalTimeOffset漂移曲線
利用性能計數器獲取精確的相對時間,用此精密時間和系統時間進行對準,才可得到精密的系統時間。
系統時間的精度比較低,經常性地存在跳變的現象。這是系統的時間刷新進程每隔一段時間才進行刷新。校準的方式為在很小的時間段內,通過不斷的讀取系統時間,捕捉系統時間跳變的瞬間,如圖3中兩條高亮線所示。當時間值發生跳變的那一刻,認為這一刻是系統時間準確的數值,在這一刻,得到系統時間和QueryPerfermanceCounter()輸出校準值(校準到時間的精度)的差值:
LocalTimeOffset[i] = 系統時間 - QueryPerfermanceCounter輸出校準值。

圖3 系統時間校準
對多次校準的數值取平均值,任何時刻需要獲取時間的時候,公式如下:
時間=(QueryPerfermanceCounter/ QueryPerfermanceFreq)* 10,000,000.0 + LocalTimeOffset
在實際應用中,LocalTimeOffset自身也存在著漂移。如圖4所示,橫坐標為時間線,一格為0.2分鐘(12 s);縱坐標為LocalTimeOffset的數值,單位為微妙。從圖中可以看出,大概24秒漂移2 000微秒。在同一臺機器上不同時間內,漂移曲線的方向可能不同,斜率可能不同;在同一時刻不同機器上,漂移方向,斜率也不同。因此,為了保證本地時間的同步精度,程序將周期性的不停對系統時間進行校準。

要達到對同一局域網內的不同計算機進行時間同步,必然要通過網絡通訊傳輸時間信息。經過測試,有線網絡通訊的時間如表1所示。

表1 網絡通訊時間校準采樣
表格中的時間數據單位統一為QueryPerformanceCounter()輸出值。經過換算,Socket通訊的時間均值和方差分別為:0.433 ms、0.044 70 ms;最小傳輸時間和最大傳輸時間分別為0.294 ms、1.179 ms。
基于這種情況,網絡時間的同步將使用多次交互傳輸的方式進行時間對齊。目的在于減小網絡通訊所帶來的校時誤差。
校時客戶機使用主機的時間插值T01,T12和本地的時間t0,t1進行比較如圖5所示,得到網絡間時間差NetworkTimeOffset。 則在客戶機上,得到了同校時主機對準了的高精度時間。考慮到網絡通訊的時間消耗不穩定,程序采集了多次時間,并對多次時間的結果進行了平均,得到了平均網絡偏差NetworkTimeOffset_Avg。用平均偏差,反向驗證采集的時間的數值,得到偏差值的方差特性,一定程度上可以反映校時的精度。圖6~7是某一時刻,校時主機和校時客戶機的狀態曲線。

圖5 網絡校時交互流程

圖6 主機本地時間

圖7 客戶機網絡校時
圖7中下面的曲線,在主曲線上下的細線表示的是方差區間,從圖中可以看出,網絡校時的精度可以達到1 μs以內。
由于系統采用了C/S的結構,所以總線數據的報告時間需要得到毫秒級的計時精度。意味著需要通過網絡通訊技術,達到異地1 μs的同步時間精度。
客戶在使用綜合測試系統測試軟件之前,應該首先打開高精度時間同步軟件。主控計算機軟件具有自動打開高精度時間同步軟件的功能。
運行有兩種模式,作為授時服務器端或作為授時客戶端。在局域網上協同工作的計算機上,需要有一臺計算機的時間同步軟件作為服務器端運行,其它計算機的時間同步軟件則作為客戶端運行,連接這個服務器端以實現時間的同步。
可通過用戶選擇顯示圖形,界面下方會顯示本地時間以及服務器時間標簽等曲線表明了當前的同步情況,供軟件時觀察校對時間使用。在此軟件的設計中可以看出,時間同步的算法是本軟件的關鍵所在。
精密時間系統需要將各時間頻率信號分配傳輸到各個型號的測試設備間,作為地面測試系統的校準時間基準,每個測試設備間都需要高指標的時間頻率信號,因此系統產生的信號無損地分配輸出,同時還需要具有很高的路間及反向隔離度,以避免測試操作時系統間的相互影響。完成系統網絡搭建后,進行了系統級聯合測試,測試結果表明時間精準數據經過長距離傳輸穩定。
高精度時間同步軟件用于獲取精度達1 ms的準確時間,同時在局域網上可以實現多臺主機之間的時間同步。軟件主界面如圖8所示。
高精度時間同步系統為測試試驗數據并行異步處理提供了精準時間戳。航天器測試間內的測試系統與高精度時間同步系統通過測試局域網連接,各測試軟件通過TCP/IP或者UDP協議進行數據交換,遵循航天器測試間通信協議進行數據時間統一。
精密時間基準方法設計可以解決多艘載人航天器交會對接地面驗證過程中時間和頻率標準問題,確保了網絡系統輸出信號的準確性。在實際應用過程中,支持多航天器高精度時間基準、頻率,避免了進口氫鐘輸出信號有限的限制。該系統可以根據任務需求,跨網段或另行組網和擴展,同時支持遠程測試,可滿足后續更多型號需求。以正在運行的北斗信號為基準,輸出時間和頻率信號。支持載人航天器地面驗證、GNC分系統、測控分系統以及有效載荷獲取高精度的參考標準,提高了各分系統時頻測試精度。此項研究解決了各時間頻率信號的無損輸出,多地聯合測試時時間同步精準對各航天器測試相互影響的問題。時間同步系統構架應用在載人航天領域,實現了高精度時間精準的計算、獲取和分布式網絡授時。

圖8 高精度對時軟件主界面