張繼榮, 湯利娜
(西安郵電大學(xué) 通信與信息工程學(xué)院, 陜西 西安 710121)
鐘差預(yù)測(cè)[1]是原子鐘運(yùn)行狀態(tài)預(yù)測(cè)以及原子鐘系統(tǒng)駕馭精度提高的關(guān)鍵。根據(jù)原子鐘的歷史鐘差數(shù)據(jù),可通過鐘差預(yù)測(cè)對(duì)原子鐘下一刻的鐘差進(jìn)行估計(jì)。但是,原子鐘受自身特性和環(huán)境噪聲的影響,會(huì)產(chǎn)生瞬時(shí)變化,進(jìn)而影響其同步性能。目前,銣原子鐘因其相對(duì)便宜的價(jià)格優(yōu)勢(shì),已廣泛應(yīng)用在實(shí)際工程中。
常用的鐘差預(yù)測(cè)算法包括一次線性回歸算法[2]、人工神經(jīng)網(wǎng)絡(luò)算法[3]、二次項(xiàng)模型[4]和支持向量機(jī)(support vector machine,SVM)[5]。一次線性回歸法雖然簡(jiǎn)潔易實(shí)現(xiàn),但估計(jì)精度低。人工神經(jīng)網(wǎng)絡(luò)算法具有記憶不穩(wěn)定、學(xué)習(xí)速度慢等缺點(diǎn),使用不當(dāng)會(huì)導(dǎo)致預(yù)測(cè)結(jié)果與真實(shí)結(jié)果背離[6]。二次項(xiàng)模型簡(jiǎn)單易實(shí)現(xiàn),能得到變化趨勢(shì),但精度不高[7]。SVM的精度高,但是主要依賴于SVM核函數(shù)和參量的選擇,鐘差序列為非平穩(wěn)的序列,固定的核函數(shù)和參數(shù)無法滿足不同的頻率分量[8-9]。
卡爾曼(Kalman)濾波[10]算法具有較高的魯棒性,基于Hadamard方差的卡爾曼濾波模型對(duì)銣原子鐘進(jìn)行鐘差預(yù)報(bào)時(shí),測(cè)精度較高[11]。但是環(huán)境的干擾導(dǎo)致卡爾曼濾波算法會(huì)出現(xiàn)濾波發(fā)散的問題[12]。因此,針對(duì)Kalman濾波的發(fā)散問題,本文提出一種改進(jìn)的卡爾曼濾波算法。通過加入SVM的懲罰措施和幅值限制,調(diào)整銣原子鐘的調(diào)整參數(shù),對(duì)銣原子鐘狀態(tài)進(jìn)行估計(jì),從而減小因鐘差跳變對(duì)銣原子鐘同步信號(hào)的影響。
采用全球定位系統(tǒng)(global positioning system,GPS)接收機(jī)輸出的秒脈沖信號(hào)為標(biāo)準(zhǔn)參考源,得到銣原子鐘及其鐘差,根據(jù)鐘差值估計(jì)銣原子鐘的調(diào)整參數(shù),最終實(shí)現(xiàn)對(duì)銣原子鐘的控制。
銣原子鐘的噪聲包括白色調(diào)相噪聲、閃變相位噪聲、白色頻率噪聲、閃變調(diào)頻噪聲和隨機(jī)游走頻率噪聲[13-14]。銣原子鐘與標(biāo)準(zhǔn)參考源之間的差規(guī)律[11]為
(1)
其中a,b,c分別為銣原子鐘的調(diào)整參數(shù)。a為起始銣原子鐘與標(biāo)準(zhǔn)參考時(shí)源的鐘差;b為起始銣原子鐘的頻率與標(biāo)準(zhǔn)參考頻率的差;c為老化率,由銣原子鐘本身性質(zhì)變化決定[11],ξ(t)為噪聲部分,t為時(shí)間。
卡爾曼濾波算法采用遞歸方法,在每步進(jìn)行遞歸運(yùn)算時(shí),只需考慮前一時(shí)刻輸入信號(hào)即可。因此,提高前一刻狀態(tài)估計(jì)精度,便能提高卡爾曼濾波算法的鐘差預(yù)測(cè)精度。
在進(jìn)行銣原子鐘鐘差預(yù)測(cè)時(shí),第i次采樣的狀態(tài)向量由調(diào)整參數(shù)a,b,c構(gòu)成,表達(dá)式為
xi=[a(i),b(i),c(i)]T。
第i-1次采樣到第i次采樣的狀態(tài)向量迭代表達(dá)式[11]為
xi=Axi-1+qi-1。
(2)
其中:A為系統(tǒng)傳輸矩陣,是常數(shù)陣,與采樣間隔有關(guān);qi-1為三維噪聲,服從均值為零的正態(tài)分布,時(shí)間上互不相關(guān)。
第i次采樣的鐘差測(cè)量值[11]為
yi=Hxi+ri。
(3)
其中:H=[1,0,0]為量測(cè)矩陣;ri為一維白噪聲。
第i次采樣后,狀態(tài)向量xi的先驗(yàn)誤差方差陣為
(4)
其中:Pi-1為前一刻后驗(yàn)誤差方差陣;Q為狀態(tài)噪聲的方差陣。
狀態(tài)向量xi的先驗(yàn)估計(jì)值為
(5)
(6)
更新誤差方差陣為
(7)
用于下一時(shí)刻先驗(yàn)誤差方陣的計(jì)算,其中I為單位矩陣。
2) 加入幅值限制,改善鐘差預(yù)測(cè)可能出現(xiàn)較大跳變影響下級(jí)時(shí)鐘的同步跟蹤問題,提高估計(jì)精度。
選取中國(guó)科學(xué)院國(guó)家授時(shí)中心提供的兩組鐘差數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),分別利用Kalman濾波算法和改進(jìn)的Kalman濾波算法進(jìn)行鐘差預(yù)測(cè)。第1組數(shù)據(jù)為2018年7月29日0時(shí)到2018年7月30日0時(shí)的數(shù)據(jù),共有288個(gè)數(shù)據(jù)點(diǎn);第2組數(shù)據(jù)為2018年8月31日0時(shí)到2018年9月1日0時(shí)的數(shù)據(jù),共288個(gè)數(shù)據(jù)點(diǎn)。以每組數(shù)據(jù)的前50個(gè)鐘差數(shù)據(jù)作為訓(xùn)練集,后238個(gè)鐘差數(shù)據(jù)為比對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)。
第1組鐘差數(shù)據(jù)的Kalman濾波算法和改進(jìn)的Kalman濾波算法的鐘差預(yù)測(cè)結(jié)果如圖1所示。相對(duì)預(yù)測(cè)誤差為鐘差的測(cè)量值和預(yù)測(cè)值的差與測(cè)量值的比值的絕對(duì)值,兩種算法的預(yù)測(cè)相對(duì)誤差如圖2 所示。
(a) Kalman濾波算法的鐘差預(yù)測(cè)結(jié)果
(b) 改進(jìn)的Kalman濾波算法的鐘差預(yù)測(cè)結(jié)果
圖2 兩種算法第1組鐘差數(shù)據(jù)的預(yù)測(cè)相對(duì)誤差
第2組鐘差數(shù)據(jù)的Kalman濾波算法和改進(jìn)的Kalman 濾波算法的預(yù)測(cè)結(jié)果如圖3所示。相對(duì)預(yù)測(cè)誤差如圖4所示。
(a) Kalman濾波算法的鐘差預(yù)測(cè)結(jié)果
(b) 改進(jìn)的Kalman濾波算法的鐘差預(yù)測(cè)結(jié)果
圖4 兩種算法第2組鐘差數(shù)據(jù)的預(yù)測(cè)相對(duì)誤差
由圖1、圖2、圖3和圖4分別可以看出,Kalman濾波算法和改進(jìn)的Kalman濾波算法都可以實(shí)現(xiàn)對(duì)銣原子鐘鐘差數(shù)據(jù)的變化趨勢(shì)跟蹤。但是,在鐘差出現(xiàn)較大波動(dòng)時(shí),Kalman濾波算法的預(yù)測(cè)誤差較大,而改進(jìn)的Kalman濾波算法的預(yù)測(cè)誤差相對(duì)減小。Kalman濾波算法的預(yù)測(cè)誤差方差為0.718,改進(jìn)的Kalman濾波算法為0.565。與Kalman濾波算法相比,改進(jìn)的Kalman濾波算法的預(yù)測(cè)精度有明顯提高。
1) 懲罰系數(shù)影響
通過改變懲罰系數(shù)的值,同時(shí)保持其他參數(shù)值不變,獲得與每個(gè)懲罰系數(shù)相對(duì)應(yīng)的平均相對(duì)預(yù)測(cè)誤差,進(jìn)而對(duì)懲罰系數(shù)對(duì)估計(jì)精度產(chǎn)生的影響進(jìn)行分析,結(jié)果如圖5所示。
圖5 懲罰系數(shù)對(duì)預(yù)測(cè)誤差的影響結(jié)果
對(duì)懲罰系數(shù)處于0~0.9范圍內(nèi)的預(yù)測(cè)誤差進(jìn)行分析,可以看出,當(dāng)懲罰系數(shù)接近0時(shí),平均相對(duì)預(yù)測(cè)誤差較大;當(dāng)其處于0.4~0.65范圍內(nèi)時(shí),平均相對(duì)預(yù)測(cè)誤差相對(duì)較?。划?dāng)懲罰系數(shù)接近1時(shí),平均相對(duì)預(yù)測(cè)誤差會(huì)隨著懲罰系數(shù)的增大而驟然增大。因此,適當(dāng)?shù)膽土P系數(shù)對(duì)算法平均相對(duì)預(yù)測(cè)誤差的減小起促進(jìn)作用,進(jìn)而提升估計(jì)精度。
2) 幅值限制影響
對(duì)限制幅度值進(jìn)行改變,同時(shí)保持其他參數(shù)值不變,得到與每個(gè)限制幅度值對(duì)應(yīng)的平均相對(duì)預(yù)測(cè)誤差,進(jìn)而分析限制幅度值對(duì)預(yù)測(cè)精度的影響,結(jié)果如圖6所示。
圖6 幅值限制對(duì)預(yù)測(cè)誤差的影響結(jié)果
從圖6可知,當(dāng)限制幅度小于5時(shí),平均相對(duì)預(yù)測(cè)誤差較大。當(dāng)幅度值處于2~30范圍內(nèi),隨著限制幅度的擴(kuò)大,平均相對(duì)預(yù)測(cè)誤差降低。當(dāng)限制幅度值處于10~15范圍內(nèi),平均相對(duì)預(yù)測(cè)誤差達(dá)到最??;當(dāng)限制幅度小于2時(shí),會(huì)限制算法的正常預(yù)測(cè),從而使平均相對(duì)預(yù)測(cè)誤差較大;限制幅度過大時(shí),導(dǎo)致算法異常值的預(yù)測(cè)失去限制作用。因此,選擇適當(dāng)?shù)南拗品?,限制?duì)系統(tǒng)異常跳變值的估計(jì),從而降低了系統(tǒng)平均相對(duì)預(yù)測(cè)誤差,提升了銣原子鐘的估計(jì)精度。
從上述實(shí)驗(yàn)結(jié)果可以看出,改進(jìn)的Kalman濾波算法與Kalman濾波算法相比,能明顯提高預(yù)測(cè)精度,且合適的參數(shù)選取對(duì)算法預(yù)測(cè)精度的提高有促進(jìn)作用。
改進(jìn)的Kalman濾波算法,通過加入預(yù)測(cè)懲罰和幅值限制等措施對(duì)銣原子鐘鐘差進(jìn)行預(yù)測(cè),提高了鐘差預(yù)測(cè)精度,且改善了Kalman濾波算法在鐘差數(shù)據(jù)存在較大跳變時(shí)產(chǎn)生較大預(yù)測(cè)誤差的問題。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的Kalman濾波算法與Kalman濾波算法相比,能明顯提高預(yù)測(cè)精度,且合適的參數(shù)選取對(duì)算法預(yù)測(cè)精度的提高有促進(jìn)作用。