魯 剛,何在民,王璐璐,王 康,邢 燕,武建鋒
(1.中國科學院國家授時中心,陜西西安 710600;2.時間頻率基準重點實驗室,陜西西安 710600;3.中國科學院大學,北京 100049)
GNSS 系統的時頻系統采用多臺氫鐘、銫鐘作為聯合守時鐘組,產生的GNSS 系統時間具有優良的頻率準確度、頻率穩定度以及頻率漂移率特性[1]。利用GNSS 信號對高穩晶振進行馴服[2],可實現GNSS 系統時間準確度、長期穩定度與高穩晶振短期穩定度的完美結合[3]。文獻[4]設計了一種基于GPS 的1 PPS 信號的二級頻標馴服系統。文獻[5]針對整個馴服系統進行了相應的測試,介紹了測試方法并且對系統的誤差進行了分析討論。文中利用計數器對接收機的1 PPS 信號與晶振分頻產生的1 PPS 信號進行比對,對得到的相位差數據進行野值剔除和濾波,并通過晶振的電壓-頻率特性得到電壓控制字,送入到DAC芯片以實時調整晶振的輸出頻率,整個系統構成反饋回路[6-11],最終獲得高準確度和穩定度的時頻信號。
GNSS 馴服高穩晶振是利用GNSS 信號對高穩晶振的頻率準確度進行校準,使得高穩晶振的頻率準確度和長期穩定度性能得到一定的提升。以北斗/GNSS 定時板卡提供的1 PPS 信號作為參考,采用計數器板卡測量參考1 PPS 信號與高穩晶振分頻1 PPS信號之間的時差,微處理器通過串口采集計數器板卡測量的時差值,通過粗差剔除、濾波平滑處理后,獲得降噪后的有效時差測量值,由時差測量值計算高穩晶振的頻率調整量,然后通過電壓控制端進行控制[12-13]。高穩晶振分頻1 PPS 信號和參考1 PPS 信號的時差滿足以下關系:

式中,a是初始時刻高穩晶振分頻1 PPS 信號相對參考1 PPS 信號的時差;b為初始時刻高穩晶振的頻率相對于參考頻率的頻差;c是頻率漂移率,也稱老化率,是由于高穩晶振自身老化、溫度等因素引起的;為隨機誤差,主要由測量和環境等引起。通常情況下,ξ(t) 服從正態分布,可以通過長時間平滑來降低[14-15]。頻率的定義式如下:

對式(2)兩邊同時進行微分:



式中右邊第二項是誤差的次要成分[11],可以忽略不計。從式(5)中可以看出,頻率測量的精度隨著比相時間的延長以及對相位差測試精度的提高而提高。
根據安全可靠、開發成本低的設計原則,提出了系統的整體設計方案。整個系統由GNSS 定時模塊、FPGA、計數器模塊、STM32微處理器、高精度DAC1220及高穩晶振組成,其組成框圖如圖1 所示。

圖1 系統總體架構
FPGA 外接晶振輸出的10 MHz 頻率信號,通過鎖相環分頻產生1 PPS 信號,和接收機輸出的1 PPS信號接入計數器,通過STM32 每秒輸入一次查詢指令,計數器返回一幀包含相位差的二進制序列,然后STM32 將二進制序列轉換成鐘差數字量,并進行頻差濾波,濾波后的頻差值轉換成壓控晶振的電壓控制字,通過SPI 協議送給DAC 模塊,對高穩晶振的輸出頻率進行實時校準,最終把高穩晶振的準確度和穩定度都鎖定到GNSS 系統時間。
2.1.1 BDS/GNSS定時板卡
GNSS 定時模塊是一款基于ASIC 基帶芯片的GNSS 多系統高精度定位板卡。該板卡擁有北斗三頻超遠距離超快速的高動態解算能力以及超大容量存儲功能,并且能穩定輸出1PPS 信號。
2.1.2 計數器板卡
計數器板卡的測量功能為測量參考1 PPS 信號上升沿與FPGA 分頻1 PPS 信號之間的相位差,通過STM32 向計數器板卡發送開啟測量指令幀,每隔一秒發送查詢幀,計數器板卡回發一幀數據,經過結算就可以得到相位差數據。
2.1.3 高穩晶振
設計采用的是高穩晶振,屬于頻率為10 MHz 的高品質產品系列。該系列產品主要有低相噪、高頻率穩定度等優點。產品采用密閉的小封裝,便于安裝集成,其溫度穩定度為±5×10-8ppm,線性度為10%。
2.1.4 DAC芯片
DAC1220 分辨率可在滿量程范圍內達到20 位時,在15 ms 內達到0.003%。輸出電壓范圍2 倍于外部參考電壓,同時片上校準電路可動態地減少失調和增益誤差[16]。

表1 輸出電壓選擇模式表
對OCXO 的10 MHz±4 Hz 頻段的頻率控制而言,控制電壓變化范圍為0~5 V。為了達到設計要求即優于10-11的輸出頻率精度并留有余量,控制電壓的分辨率要達到2×10-5,而DAC1220 轉換器在位數為20位的情況下,分辨率如式(6)所示,滿足分辨率要求。

1)頻率和電壓關系
在一定范圍內,OCXO 的壓控電壓與晶振的輸出頻率成正比關系。DAC1220 電壓控制字范圍為0x0~0xFFFFF,對應輸出電壓為0~5 V。在STM32處理器中,先將電壓控制字的初始值設為0,每經過一秒的延時,將控制字增加1 000,用SR620 測量晶振輸出的頻率,利用串口調試助手得到控制字和輸出的頻率值。高穩晶振電壓和頻率輸出關系如圖2 所示。

圖2 電壓控制字與頻率關系
實測DAC1220 最大輸出電壓為4.96 V,從圖3 中可以看出,除最初的一段呈現非線性,其余基本近似為一條直線,對頻率-電壓控制字曲線作線性擬合得到兩者關系如下,其線性率為95%,RMSE為0.098 63。

其中,a=0.000 009 24,b=9 999 995.379 47 Hz。
2)控制電壓產生
上電根據OCXO 電壓和頻率輸出特性給晶振一個壓控電壓初始值(511000),使其輸出頻率為中心頻率10 MHz,根據式(7)計算出頻率偏差,將頻偏值補償給恒溫晶振,通過式(8)改變壓控電壓控制字:

式中,f為上一時刻晶振輸出頻率值。
系統軟件設計流程圖如圖3 所示。上電系統初始化后,等待晶振預熱和K708 板卡穩定輸出1 PPS信號,先給一個頻率控制字,讓晶振輸出中心頻率,串口中斷接收鐘差數據,并對相位差數據進行實時處理,利用前100 個數據產生狀態估計初始值和初始誤差協方差,為剔除異常情況下產生的野值和減小測量噪聲,利用Kalman 濾波器對數據進行濾波。在計算出相對頻偏值后,實時對晶振的輸出頻率進行調整。

圖3 系統主控流程圖
定時板卡輸出的鐘差信號中包含多種誤差信號,這些誤差大部分都屬于隨機誤差,如果不考慮這些誤差,就會對晶振輸出頻率的穩定性產生很大的影響。為了減小誤差給系統帶來的影響,必須對相位差的測量結果進行處理,而Kalman 濾波適合解決最佳現象過濾和估計的問題,通過狀態方程和遞推方法進行處理。它以最小均方誤差為準則,用前一個估計值和最近一個觀測數據來估算,適用于進行實時處理。因此,該系統采用Kalman 濾波算法對測量結果進行濾波處理,消除干擾。
狀態方程如下:

觀測方程如下:

協方差計算如下:

最優化估算如下:

卡爾曼增益計算如下:

協方差更新計算如下:

式中,x(k)、x(k-1)分別為k時刻和k-1 時刻的系統狀態;A是系統參數,z(k)是k時刻的測量值,H是測量系統的參數。隨機信號ω(k)和v(k)分別表示過程噪聲和觀測噪聲。P為估計誤差協方差,Q為過程噪聲的協方差矩陣,R為觀測噪聲協方差矩陣,Kg為卡爾曼增益。
使用前100 個觀測值數據的平均值作為初始狀態估計向量,其估計誤差協方差初值為:

狀態模型的時間常數A取值為1,觀測模型的觀測參數取值為1。經過多組實驗對比,Q、R分別取0.001 和1 時濾波效果較好。
圖4 為采集的未經過野值剔除和濾波的相差(時間間隔差)曲線。
接收到的數據會受到各種隨機噪聲的干擾,導致數據出現較大的跳變,稱之為“野值”。從圖4 中可以看出,有些點不在正常值范圍內。如果不消除這些數據,會對濾波系統產生非常不好的影響,使濾波系統的估計值產生很大的偏差,甚至濾波系統無法收斂,影響系統鎖定的精度。程序中可采用3σ準則判斷是否存在奇異值,設置此時相應的Kalman 增益為0。經過濾波和奇異值剔除后的相位差數據如圖5 所示。

圖4 未經濾波的相位差數據

圖5 濾波后的相位差數據
從圖5 中可以看出,經過約600 s 的振蕩,相對頻率偏差數據開始收斂,說明頻率調整效果明顯。
圖6 是采集的86 400 s 的數據。經計算,相對頻率偏差均值為4.6×10-13,標準差為1.8×10-11。由圖6(b)可知,相對頻偏數據呈正態分布。

圖6 相對頻偏數據及其分布
文中采用GNSS 信號對準確度為5×10-8的高穩晶振進行馴服,經過約600 s快速調整,晶振頻率準確度由10-8提升到10-13量級,實現了GNSS 系統時間準確度、長期穩定度與高穩晶振短期穩定度的結合。