安云飛
(1. 中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2. 衛(wèi)星導航系統(tǒng)與裝備技術國家重點實驗室,河北 石家莊 050081)
隨著北斗三號衛(wèi)星導航系統(tǒng)(BDS-3)的建設,對接收機技術提出了更高的要求,包括跟蹤衛(wèi)星數(shù)、定位頻度、定位精度和測速精度等. 盡管處理器技術也在同步發(fā)展,但是在多系統(tǒng)多頻點同時定位或者定位頻度10 Hz及以上情況下,仍有必要在保證精度的情況下降低定位解算的運算復雜度. 每次定位解算均需獲取每顆衛(wèi)星的位置、速度信息,常規(guī)方法采用廣播星歷直接計算,涉及眾多的復雜運算,耗時巨大. 國內(nèi)外常采用多項式插值的方法降低衛(wèi)星位置、速度運算時間,包括拉格朗日插值、牛頓插值、樣條插值和Hermite插值等.
文獻[1]最早比較了不同階數(shù)的分段Hermite插值與三次樣條插值在不同結點間距情況下,對衛(wèi)星位置和速度插值精度與效率的影響. 文獻[2]提出了一種加“窗”的牛頓插值多項式,與三階Hermite插值相比提高了插值精度與結點間距,代價是多項式的階數(shù)和運算復雜度均有增加. 文獻[3]比較了幾種常見插值算法的特性,并指出拉格朗日插值運算量大,增減節(jié)點時基函數(shù)需要重新計算,而且高階時容易產(chǎn)生龍格現(xiàn)象;牛頓插值在增加結點時,只需計算一次更高階的差商,但其精度不高.
以上研究均是基于全球定位系統(tǒng)(GPS)或者北斗二號衛(wèi)星導航系統(tǒng)(BDS-2),而BDS-3在衛(wèi)星星歷參數(shù)、衛(wèi)星軌道精度、定位精度方面均有改進,衛(wèi)星位置、速度和加速度計算公式也有改變. 因此,研究多項式插值在BDS-3衛(wèi)星軌道中的計算精度和效率是必要的.
本文推導了BDS-3衛(wèi)星速度、加速度解算公式,同時提出一種分段Hermite插值方法. 該方法分別構造位置、速度的三次Hermite插值多項式,在運算復雜度不增加的情況下,提升了衛(wèi)星速度插值精度. 所提方法公式簡單、便于編程,并采用作者單位自研接收機對所提方法插值精度、效率進行了驗證,同時對比了Hermite插值、分段三次Hermite插值和分段五次Hermite插值.
文獻[1]給出了GPS NAV電文的衛(wèi)星位置、速度和加速度計算公式;文獻[4]給出了GPS NAV電文的衛(wèi)星速度公式推導過程;文獻[5]給出了GPS NAV電文和CNAV/CANV-2電文在計算衛(wèi)星位置時的差別;文獻[6]給出了BDS-3 CNAV1電文的編排格式和衛(wèi)星位置計算公式. 本文直接給出基于BDS-3的衛(wèi)星速度和加速度計算公式,其推導過程暫不贅述.
下面給出BDS-3 CNAV1電文中衛(wèi)星速度的計算公式:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
式中:角標′表示一階導數(shù);式(1)~(7)中出現(xiàn)的電文播發(fā)參數(shù)含義如表1所示.
表1 電文播發(fā)參數(shù)含義表
式(1)~(7)中出現(xiàn)的非播發(fā)參數(shù)如表2所示.
表2 電文播發(fā)參數(shù)含義表
下面給出BDS-3 CNAV1電文中衛(wèi)星加速度的計算公式:
(8)
(9)
(10)
(11)
(12)
(13)
式(13)中αk和βk分別表示為:
(14)
式中,角標′和″分別表示一階導數(shù)和二階導數(shù).
Hermite插值不但要求在結點上的函數(shù)值相等,還要求對應的導數(shù)值也相等,它是一種光滑的插值方法.
下面構造Hermite插值多項式. 設已知節(jié)點a≤x0≤x1≤x2…≤xn≤b上,yj=f(xj),mj=f'(xj),(j=0,1,…,n),這里給出了2n+2個條件,可以唯一確定一個次數(shù)不超過2n+1的多項式:
H2n+1(x)=a0+a1x+…+a2n+1x2n+1.
(15)
寫成用插值基函數(shù)表示的形式
(16)
式中:
(17)
(18)
(19)
Hermite插值和拉格朗日插值有類似的局限性,在增減結點時基函數(shù)需要重新計算,高階情況下容易出現(xiàn)龍格現(xiàn)象. 分段Hermite插值多項式可以比較好地解決此問題.
人們常采用分段插值來克服龍格現(xiàn)象.下面介紹分段三次Hermite插值多項式. 設已知節(jié)點a=x0 1)In(x)∈C1[a,b]; 3) 在每個小區(qū)間[xk,xk+1](k=0,1,2,…,n-1). 是三次多項式. 則稱In(x)為分段三次Hermite插值函數(shù). 若用插值基函數(shù)表示,則在整個區(qū)間[a,b]上,In(x)的表示式為 (20) 插值基函數(shù)αi(x)和βi(x)的形式分別為 αi(x)= (21) βi(x)= (22) 分段五次Hermite插值相比分段三次Hermite插值具有更高的精度. 參考文獻[7]給出分段5次Hermite插值多項式公式. 設已知節(jié)點a=x0 1)φ(x)∈C1[a,b]; 2)φ(xj)=yj,φ′(xj)=mj,φ″(xj)=nj,j=0,1,2,…,n; 3)在每個小區(qū)間[xk,xk+1][k=0,1,2,…,n-1].均為次數(shù)≤5的代數(shù)多項式,則稱φ(x)為分段五次Hermite插值函數(shù). 若用插值基函數(shù)表示,則在整個區(qū)間[a,b]上,φ(x)的表示式為 (23) 為了公式表示方便,新增如下表達式: (24) hi=xi-xi-1. (25) 用l表示li(x),則插值基函數(shù)αi(x)、βi(x)和γi(x)的形式分別為 (26) βi(x)= (27) γi(x)= (28) 以上章節(jié)給出了BDS-3 CNAV1導航電文衛(wèi)星速度和加速度的計算公式,并介紹了Hermite插值、分段三次Hermite插值和分段五次Hermite插值. 這幾種插值方案均可用于衛(wèi)星位置、速度的計算. 通常我們將衛(wèi)星位置信息構造為多項式表達,然后對多項式進行微分可以得到衛(wèi)星速度的計算公式. Hermite插值的公式計算和導數(shù)計算比較復雜,增減節(jié)點需要重新計算基函數(shù),高階情況容易產(chǎn)生龍格現(xiàn)象;分段三次Hermite插值在文獻[1]中被認為是最具性價比的方案,在結點間距100~200 s時,位置精度可以達到10 cm,速度精度可以達到1 mm/s;分段五次Hermite插值在保證精度的情況下插值間距可以達到20 min,但是運算量相對有顯著提升. 本文提出一種位置和速度分別進行分段三次Hermite插值的方案,可以免去多項式求導數(shù)的計算過程,而且位置多項式與速度多項式的基函數(shù)可以復用. 由于本方案利用了衛(wèi)星加速度信息,插值得到的衛(wèi)星速度精度比分段三次Hermite插值采用位置多項式函數(shù)微分得到的速度精度高. 下面給出本方案的具體計算過程. 參考式(20),衛(wèi)星位置和衛(wèi)星速度的X、Y、Z方向可以表示為如下多項式: (29) (30) (31) (32) (33) (34) 評價衛(wèi)星軌道插值方法優(yōu)劣主要依據(jù)插值結點間距、插值計算精度和插值方法運算效率. 插值算法的目的就是保證衛(wèi)星位置和速度計算精度的前提下,盡量減小運算的耗時. 插值結點間距越大可以減少直接用星歷計算衛(wèi)星位置、速度或者加速度的頻度,但是更大的結點間距需要更高次數(shù)的插值多項式才可以保證其精度. 下面用試驗數(shù)據(jù)對比分析本文所提插值方法與其他幾種插值方法. 用采集回放儀器對天采集B1C頻點信號,然后用作者單位自研接收機接收采集回放儀播放的B1C頻點CNAV1廣播星歷,在接收機內(nèi)部分別應用幾種插值方法計算衛(wèi)星位置和速度,并統(tǒng)計其精度和耗時情況. 應用接收機可以真實反映插值方法性能. 計算衛(wèi)星位置的星歷取自UTC時間2020年5月9日06∶00-07∶00的CNAV1電文廣播星歷,結點起始位置為星歷參考時間,結點間距分別取15 s、30 s、60 s、120 s、240 s、480 s和960 s,定位頻度按照1 Hz計算,衛(wèi)星位置插值誤差效果如圖1所示. 由圖1所示,橫軸表示插值運算耗時(包括結點采用直接運算的時間和中間插值點采用多項式運算的時間)與直接采用廣播星歷計算耗時的比值,縱軸表示在插值點內(nèi)衛(wèi)星位置插值結果與直接計算結果的三維最大差值. 圖中分別畫出了五階Hermite插值、分段三次Hermite插值、分段五次Hermite插值以及本文所提方法在結點間距分別為15 s、30 s、60 s、120 s、240 s、480 s和960 s時的精度和耗時情況. 其中,分段五次Hermite插值精度最高,本文所提方法與分段三次Hermite插值精度相等,但是耗時略低. 衛(wèi)星速度插值誤差效果如圖2所示. 圖2 衛(wèi)星三維速度誤差效果圖 由圖2所示,縱軸表示在插值點內(nèi)衛(wèi)星速度插值結果與直接計算結果的三維最大差值. 其中,本文所提方法速度精度和耗時情況均優(yōu)于分段三次Hermite插值. 本文方法速度精度有所提升是因為引入了衛(wèi)星加速度信息,雖然在結點處增加了衛(wèi)星加速度運算,但是省去了多項式微分運算. 由式(16)和式(19)可以看出三階Hermite插值與分段三次Hermite插值等效,因此本文采用3結點五階Hermite插值參與比較,由圖1和圖2可以看出,分段五次Hermite插值在耗時情況和精度方面均優(yōu)于3結點五階Hermite插值. Hermite插值無需進行衛(wèi)星加速度的運算,但是高階的運算復雜,增減結點基函數(shù)需要重新計算;分段五次Hermite插值需要進行衛(wèi)星加速度計算,更高次數(shù)的公式推導將會非常復雜. 本文對Hermite插值在BDS-3中的應用進行了研究,推導了BDS-3衛(wèi)星速度和加速度計算公式,提出了一種衛(wèi)星位置、速度分別插值的分段三次Hermite插值方法,并與3點階Hermite、分段三次Hermite插值和分段五次Hermite插值進行了比較. 試驗證明,本文所提方法在衛(wèi)星速度插值精度方面優(yōu)于分段三次Hermite插值的多項式微分方法,并且耗時相比有所減少.3.2 分段五次Hermite插值多項式
4 Hermite插值分析與優(yōu)化
5 實驗分析
6 結束語