郭 秋, 李 培
(1.晉中職業(yè)技術(shù)學(xué)院,山西 晉中 030600;2.西安郵電大學(xué),西安 710061)
衛(wèi)星鐘差(Satellite Clock Bias,SCB)預(yù)報(bào)技術(shù)是衛(wèi)星導(dǎo)航定位系統(tǒng)的關(guān)鍵技術(shù)之一,對于衛(wèi)星導(dǎo)航定位具有非常重大的作用。對導(dǎo)航電文發(fā)布鐘差參數(shù)進(jìn)行處理外推可以得到任何時(shí)刻導(dǎo)航衛(wèi)星的鐘差信息,對于參數(shù)預(yù)報(bào)的可靠性和穩(wěn)定性的提高以及對鐘差數(shù)據(jù)修改上載間隙的優(yōu)化來說,鐘差預(yù)報(bào)的深入研究具有十分積極的作用。精密單點(diǎn)定位的高精度定位也需要使用鐘差預(yù)報(bào)的結(jié)果參與處理,通常的精密單點(diǎn)定位使用的是國際服務(wù)組織(Internet GPS Service,IGS)提供的鐘差數(shù)據(jù),其最終星歷衛(wèi)星鐘差精度可達(dá)0.1 ns,但是,由于其鐘差數(shù)據(jù)需要經(jīng)過IGS數(shù)據(jù)中心處理后得到,存在一定的滯后性,對于單點(diǎn)定位的實(shí)時(shí)性無法滿足。因此需要對SCB高精度預(yù)報(bào)方法進(jìn)行深入研究[1]。
文獻(xiàn)[2-4]中使用GM(1,1)灰色模型建立鐘差預(yù)報(bào)模型,其優(yōu)點(diǎn)是使用較少的數(shù)據(jù)即可建模,并且在短期預(yù)測任務(wù)中具有較高的精度,但是,用于建立GM(1,1)灰色模型所需的原始數(shù)據(jù)要求必須為按照指數(shù)規(guī)律改變,這會(huì)對鐘差預(yù)報(bào)產(chǎn)生誤差。文獻(xiàn)[5-6]中使用最小支持向量機(jī)(Least Square Support Vector Machines, LSSVM)建立鐘差預(yù)報(bào)模型,LSSVM算法實(shí)際上是算法的誤差以及損失函數(shù)看作經(jīng)驗(yàn)損失通過使用等式約束替換不等式約束從而對模型復(fù)雜度進(jìn)行簡化,達(dá)到提高求解速度的目的。但是,由于LSSVM算法對于懲罰因子以及核函數(shù)的選擇十分依賴,故使用其建立的鐘差預(yù)報(bào)的模型精度取決于參數(shù)的選取,而參數(shù)的選取又存在隨機(jī)性以及不確定性,因此,預(yù)測精度和穩(wěn)定性無法得到保障。
人工神經(jīng)網(wǎng)絡(luò)通過數(shù)據(jù)樣本對模型進(jìn)行訓(xùn)練提高模型泛化能力,已經(jīng)在時(shí)間序列預(yù)測領(lǐng)域得到了廣泛的應(yīng)用,但是沒有通過優(yōu)化算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練開始時(shí)會(huì)使用0~1的隨機(jī)數(shù)初始化為將隱含層和輸出層的閾值和連接權(quán)值,會(huì)造成BP神經(jīng)網(wǎng)絡(luò)出現(xiàn)陷入局部最小值,降低收斂速率等缺陷。本文使用粒子群優(yōu)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始閾值和權(quán)值,從而建立高精度的鐘差預(yù)測模型。
本文研究的SCB預(yù)報(bào)模型屬于時(shí)間序列預(yù)測問題,實(shí)際上可以看做是一種求動(dòng)力系統(tǒng)的逆問題。使用動(dòng)力系統(tǒng)的狀態(tài)構(gòu)造動(dòng)力系統(tǒng)模型:
F(Xi)=xi+T,T>0
(1)
式中:T為預(yù)報(bào)的步長。
使用BP神經(jīng)網(wǎng)絡(luò)算法是一種典型的、較好的建立時(shí)間序列非線性模型,進(jìn)行逼近所求動(dòng)力系統(tǒng)模型的方法。
假設(shè)非線性動(dòng)力系統(tǒng)的輸入和輸出分別為Xi=(xi,xi+τ,…,xi+(m-1)τ)T,和yi=xi+1。本文采用BP神經(jīng)網(wǎng)絡(luò)為典型的三層機(jī)構(gòu),使用其進(jìn)行SCB預(yù)報(bào)時(shí),設(shè)定BP神經(jīng)網(wǎng)絡(luò)輸入層維數(shù)等于時(shí)間序列重構(gòu)相空間的嵌入維數(shù)。設(shè)定BP神經(jīng)網(wǎng)絡(luò)輸入層維數(shù)為1,設(shè)定BP神經(jīng)網(wǎng)絡(luò)隱含層維數(shù)為p,則隱含層各個(gè)節(jié)點(diǎn)的輸入表示為:
(2)
式中:θj和wij分別為隱含層各節(jié)點(diǎn)閾值和隱含層連接權(quán)值,均由BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到。
隱含層節(jié)點(diǎn)輸出為:
(3)
j=1,2,…,p
輸出層節(jié)點(diǎn)輸入為:
(4)
輸出層節(jié)點(diǎn)輸出為:
(5)
式中:γ和vj分別是輸出層各節(jié)點(diǎn)閾值和連接權(quán)值,均由BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到[7]。
假設(shè)S維空間中,有一個(gè)由n個(gè)粒子組成的種群W=(W1,W2,…,Wn)。 在S維空間中,Wi=(wi1,wi2,…,wiS)T表示第i個(gè)粒子的位置。通過目標(biāo)函數(shù)求得第i個(gè)粒子的位置Wi的適應(yīng)值。第i個(gè)粒子的速度和個(gè)體極值表示為:Vi=(Vi1,Vi2,…,ViS)T,Pi=(Pi1,Pi2,…,PiS)T;全局極值表示為:Pg=(Pg1,Pg2,…,PgS)T。
通過個(gè)體和全局極值對每一次迭代的粒子速度和位置進(jìn)行更新方法如下:
(5)
(6)
式中:ω是慣性權(quán)重;r1、r2均為隨機(jī)數(shù),范圍在0~1;c1和c2均為加速因子。
本文引入GA算法中的自適應(yīng)變異因子對部分變量以一定概率進(jìn)行初始化,避免常規(guī)PSO算法出現(xiàn)陷入局部最小值或進(jìn)入早熟收斂的問題。改進(jìn)方法如下:
Step1初始化粒子群優(yōu)化算法的基本參數(shù):種群規(guī)模、迭代次數(shù)、學(xué)習(xí)算子和速度位置區(qū)間等。
Step2根據(jù)衛(wèi)星鐘差預(yù)報(bào)的要求對BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行確定,由隨機(jī)構(gòu)成的種群決定BP神經(jīng)網(wǎng)絡(luò)初始參數(shù):
Wi=(wi1,wi2,…,wiS)T
(7)
式中:S=RS1+S1S2+S1+S2;R為BP神經(jīng)網(wǎng)絡(luò)的輸入層維數(shù);S1為隱含層維數(shù);S2為輸出層維數(shù)。
Step3對由Step 2確定BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,得到滿足精度的輸出值。假設(shè)粒子個(gè)體的適應(yīng)值為:
(8)
Step4個(gè)體和群體的極值的確定由各個(gè)粒子的適應(yīng)值決定,粒子最好的位置確定歷史最優(yōu)位置。
Step5根據(jù)每一次迭代的粒子速度和位置進(jìn)行更新方法、個(gè)體和群體極值以及用于確定BP神經(jīng)網(wǎng)絡(luò)初始參數(shù)的隨機(jī)構(gòu)成的種群更新粒子的位置、速度;通過引入GA算法中的自適應(yīng)變異因子,對部分變量以一定概率進(jìn)行初始化,避免常規(guī)PSO算法出現(xiàn)陷入局部最小值或進(jìn)入早熟收斂的問題;
Step6迭代次數(shù)超過設(shè)定最大值后,BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)、閾值等使用適應(yīng)粒子群優(yōu)化算法確定的最優(yōu)參數(shù)重新確定,從而達(dá)到對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化的目的[8]。
下面通過實(shí)驗(yàn)研究本文建立的預(yù)報(bào)模型的性能以及與其他預(yù)報(bào)模型的差別。選用的實(shí)驗(yàn)數(shù)據(jù)取自IGS網(wǎng)站提供的4顆GPS衛(wèi)星鐘差數(shù)據(jù),分別是使用Cs鐘的RPN09衛(wèi)星、PRN10衛(wèi)星以及使用Rb鐘的RPN02衛(wèi)星、PRN29衛(wèi)星。其時(shí)間間隔為5 min,進(jìn)行288次連續(xù)5 min(即總時(shí)長1 d),24次連續(xù)1 h(即總時(shí)長1 d)以及連續(xù)7次1 d(即總時(shí)長1周)的預(yù)報(bào)研究。使用本文研究的方法以及常規(guī)PSO-BP神經(jīng)網(wǎng)絡(luò)以及常規(guī)BP神經(jīng)網(wǎng)絡(luò)建立的預(yù)報(bào)模型進(jìn)行預(yù)報(bào)實(shí)驗(yàn),最后將IGS的精密鐘差數(shù)據(jù)作為依據(jù),統(tǒng)計(jì)各種算法的均方根誤差分析評判各種模型的預(yù)報(bào)結(jié)果[9-10]。
均方根誤差計(jì)算公式為[11]:
(9)
為了提高模型的收斂速度以及降低模式運(yùn)算量,對實(shí)驗(yàn)原始數(shù)據(jù)進(jìn)行歸一化處理[12]:
(10)
(1) 實(shí)驗(yàn)1(288次連續(xù)5 min預(yù)報(bào))。在進(jìn)行288次連續(xù)5 min(即總時(shí)長1 d)時(shí)的鐘差預(yù)報(bào)實(shí)驗(yàn)主要是對預(yù)報(bào)模型的超短期預(yù)報(bào)能力進(jìn)行測試,得到的預(yù)報(bào)結(jié)果如圖1和表1所示。
可以看出,使用本文研究改進(jìn)BP神經(jīng)網(wǎng)絡(luò)方法對288次連續(xù)5 min的超短期預(yù)報(bào)的精度和穩(wěn)定性均比較好,使用Rb鐘的RPN02衛(wèi)星、PRN29衛(wèi)星預(yù)報(bào)精度均能夠達(dá)到0.6 ns以內(nèi)。
(2) 實(shí)驗(yàn)2(24次連續(xù)1 h預(yù)報(bào))。在進(jìn)行24次連續(xù)1 min的鐘差預(yù)報(bào)實(shí)驗(yàn)得到的預(yù)報(bào)結(jié)果如圖2和表2所示。
圖1 實(shí)驗(yàn)1預(yù)報(bào)誤差
圖2 實(shí)驗(yàn)2預(yù)報(bào)誤差
可以看出,使用本文改進(jìn)BP神經(jīng)網(wǎng)絡(luò)方法對24次連續(xù)1 h的預(yù)報(bào)中,精度和穩(wěn)定性均比較好,并且明顯優(yōu)于常規(guī)算法建立的模型,使用Rb鐘的RPN02衛(wèi)星、PRN29衛(wèi)星均方跟誤差控制在1 ns之內(nèi)。
(3) 實(shí)驗(yàn)3(7次連續(xù)1 d預(yù)報(bào))。在進(jìn)行7次連續(xù)1 d的鐘差預(yù)報(bào)實(shí)驗(yàn)得到的預(yù)報(bào)結(jié)果如圖3和表3所示。
圖3 實(shí)驗(yàn)3預(yù)報(bào)誤差
通過對3次實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分析可知,在相同實(shí)驗(yàn)條件下,使用改進(jìn)型人工神經(jīng)網(wǎng)絡(luò)建立的預(yù)報(bào)模型的預(yù)報(bào)精度要優(yōu)于常規(guī)BP神經(jīng)網(wǎng)絡(luò)所建立的模型,說明通過對使用粒子群優(yōu)化算法對BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型進(jìn)行優(yōu)化,引入遺傳算法中的自適應(yīng)變異因子來以一定概率初始化部分變量解決常規(guī)的粒子群優(yōu)化算法會(huì)出現(xiàn)陷入局部最優(yōu)解,對于解決BP神經(jīng)網(wǎng)絡(luò)容易陷入局部最小值以及訓(xùn)練收斂速率低等問題以及常規(guī)PSO算法早熟收斂等問題具有較好的效果。
通過實(shí)驗(yàn)數(shù)據(jù)分析發(fā)現(xiàn),使用Cs鐘的RPN09衛(wèi)星、PRN10衛(wèi)星的預(yù)報(bào)精度和預(yù)報(bào)穩(wěn)定性要低于使用Rb鐘的RPN02衛(wèi)星、PRN29衛(wèi)星的預(yù)報(bào)結(jié)果。分析其原因,可能是由于使用Cs鐘的GPS衛(wèi)星的使用年限較長,由于設(shè)備老化或者Cs鐘的部分物理特性引起的較大的誤差。
衛(wèi)星鐘差預(yù)報(bào)技術(shù)是衛(wèi)星導(dǎo)航定位系統(tǒng)的關(guān)鍵技術(shù)之一,對于衛(wèi)星導(dǎo)航定位具有非常重大的作用。
(1) 本文建立基于BP神經(jīng)網(wǎng)絡(luò)的衛(wèi)星鐘差預(yù)報(bào)模型,使用PSO算法對BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)和連接權(quán)值閾值進(jìn)行優(yōu)化;引入自適應(yīng)變異因子來以一定概率初始化部分變量改進(jìn)PSO算法。
(2) 通過實(shí)驗(yàn)研究本文建立的衛(wèi)星鐘差預(yù)報(bào)模型性能,結(jié)果表明,本文建立的衛(wèi)星鐘差預(yù)報(bào)模型預(yù)報(bào)精度和穩(wěn)定性要優(yōu)于常規(guī)算法建立的模型,說明PSO算法能夠解決BP神經(jīng)網(wǎng)絡(luò)容易陷入局部最小值以及訓(xùn)練收斂速率低等問題,而改進(jìn)PSO算法對于避免常規(guī)PSO算法早熟收斂等問題具有較好的效果。
(3) 通過實(shí)驗(yàn)數(shù)據(jù)分析發(fā)現(xiàn),使用Cs鐘的RPN09衛(wèi)星、PRN10衛(wèi)星的預(yù)報(bào)精度和預(yù)報(bào)穩(wěn)定性要低于使用Rb鐘的RPN02衛(wèi)星、PRN29衛(wèi)星的預(yù)報(bào)結(jié)果。分析其原因,可能是由于使用Cs鐘的GPS衛(wèi)星的使用年限較長,由于設(shè)備老化或者Cs鐘的部分物理特性引起的較大的誤差。
[1] 郭承軍,滕云龍.神經(jīng)網(wǎng)絡(luò)在衛(wèi)星鐘差短期預(yù)報(bào)中的應(yīng)用研究[J].測繪科學(xué),2011,36(4):198-200.
[2] 崔先強(qiáng),焦文海.灰色系統(tǒng)模型在衛(wèi)星鐘差預(yù)報(bào)中的應(yīng)用[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2005,30(5):447-450.
[3] 鄭作亞,盧秀山.幾種GPS衛(wèi)星鐘差預(yù)報(bào)方法比較及精度分析[J].山東科技大學(xué)(自然科學(xué)版),2008,27(4):6-11.
[4] Heo Y J,Cho J,Heo M B. Improving prediction accuracy of GPS satellite clocks with periodic variation behaviour[J].Measurement Science and Technology,2010,21(7):1-8.
[5] 雷 雨,趙丹寧.基于最小二乘支持向量機(jī)的鐘差預(yù)報(bào)[J].大地測量與地球動(dòng)力學(xué),2013,33(2):91-95.
[6] 張清華,隋立芬,王 冰,等.一種利用加窗LSSVM 擬合GPS在軌衛(wèi)星鐘差的算法[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2012,37(9):1032-1035.
[7] 戴文戰(zhàn),婁海川,楊愛萍.非線性系統(tǒng)神經(jīng)網(wǎng)絡(luò)預(yù)測控制研究進(jìn)展[J].控制理論與應(yīng)用,2009,26(5):521-530.
[8] 董超俊,劉智勇.多層混沌神經(jīng)網(wǎng)絡(luò)及其在交通量預(yù)測中的應(yīng)用[J].系統(tǒng)仿真學(xué)報(bào),2007,19(19):4450-4453.
[9] 郭海榮,楊 生,楊元喜,等.基于衛(wèi)星雙向時(shí)間頻率傳遞進(jìn)行鐘差預(yù)報(bào)的方法研究[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2007,32(1):43-46.
[10] 鄭作亞,陳永奇,盧秀山.灰色模型修正及其在實(shí)時(shí)GPS衛(wèi)星鐘差預(yù)報(bào)中的應(yīng)用研究[J].天文學(xué)報(bào),2008,49(3):306-320.
[11] 黃觀文,楊元喜,張 勤.開窗分類因子抗差自適應(yīng)序貫平差用于衛(wèi)星鐘差參數(shù)估計(jì)與預(yù)報(bào)[J].測繪學(xué)報(bào),2011,40(1):15-21.
[12] 鄭作亞,黨亞民,盧秀山,等.附有周期項(xiàng)的預(yù)報(bào)模型及其在GPS衛(wèi)星鐘差預(yù)報(bào)中的應(yīng)用研究[J].天文學(xué)報(bào),2010,51(1):95-102.