沙海,周兵,仝海波,張國(guó)柱,歐鋼
(1. 國(guó)防科技大學(xué) 電子科學(xué)與工程學(xué)院, 湖南 長(zhǎng)沙,410073;2. 北京衛(wèi)星導(dǎo)航中心,北京,100094)
GNSS 信號(hào)模擬器可以同時(shí)模擬美國(guó)GPS、俄羅斯CLONASS、歐洲GALILEO 和中國(guó)BDS 4 種全球衛(wèi)星導(dǎo)航系統(tǒng)用戶接收的信號(hào),是衛(wèi)星導(dǎo)航系統(tǒng)地面站和多模接收機(jī)等設(shè)備研制的不可或缺的關(guān)鍵設(shè)備。目前,國(guó)內(nèi)外針對(duì)GNSS 信號(hào)模擬器的硬件平臺(tái)和軟件設(shè)計(jì)都進(jìn)行了論述,并取得了一定研究成果[1-6]。其中高精度偽距計(jì)算及實(shí)時(shí)性是GNSS 信號(hào)模擬器的研究熱點(diǎn)也是難點(diǎn)。由于GNSS 信號(hào)模擬器需要模擬全星座信號(hào),其計(jì)算量將會(huì)成倍增加。同時(shí),考慮仿真環(huán)境的逼真度,衛(wèi)星軌道、電離層特性等也將使用精確模型計(jì)算,計(jì)算量將大幅度提升。如何在保證偽距精度的條件下,降低偽距計(jì)算過程的運(yùn)算量是本文需要研究的內(nèi)容。此外,偽距動(dòng)態(tài)模擬常采用高階累加器DDS 方法,該方法需要求解偽距動(dòng)態(tài)模型參數(shù)[6],傳統(tǒng)方法多采用分別計(jì)算衛(wèi)星、用戶等各階導(dǎo)數(shù)的方法,精度有限。為此,文獻(xiàn)[7]針對(duì)高階導(dǎo)數(shù)不易求解的問題,提出了一種基于三階樣條函數(shù)的偽距動(dòng)態(tài)模型參數(shù)計(jì)算方法。但是使用該插值方法時(shí),針對(duì)不同的動(dòng)態(tài)環(huán)境所需計(jì)算的原始偽距點(diǎn)個(gè)數(shù)及時(shí)間間隔是有所差異的,這為進(jìn)一步減少偽距運(yùn)算量提供了優(yōu)化空間。本文作者在分析偽距計(jì)算過程的基礎(chǔ)上,提出了一種精度較高、運(yùn)算量相對(duì)較小的實(shí)時(shí)偽距計(jì)算優(yōu)化方法。
GNSS 信號(hào)模擬器偽距計(jì)算過程如圖1 所示。首先由用戶建立仿真場(chǎng)景,包括衛(wèi)星軌道模型、電離層模型、用戶運(yùn)動(dòng)軌跡模型等;然后根據(jù)仿真模型參數(shù)計(jì)算固定時(shí)間間隔的可見鏈路偽距、功率衰減值、多普勒等信息;最后,通過插值算法計(jì)算偽距動(dòng)態(tài)模型參數(shù),包括偽距、速度、加速度、加加速度等。
圖1 偽距計(jì)算過程Fig.1 Pseudorange calculation process
接收機(jī)在仿真時(shí)刻t 收到衛(wèi)星在ts時(shí)刻發(fā)射的衛(wèi)星信號(hào)時(shí),其測(cè)得偽距ρ為
其中:R(t,ts)為衛(wèi)星到接收機(jī)的幾何距離;Δts為衛(wèi)星鐘差;Δtr為相對(duì)論效應(yīng)延遲;Δτion和Δτtrop分別為電離層和對(duì)流層延遲;Δτother為信號(hào)模擬器通道零值等其他誤差;c 為光速。
由式(1)可以看出:偽距計(jì)算本質(zhì)上為求解衛(wèi)星發(fā)射時(shí)刻ts的一元方程求根問題。目前多數(shù)文獻(xiàn)采用定點(diǎn)迭代法進(jìn)行求解[1-4],其計(jì)算過程不再累述。使用定點(diǎn)迭代法時(shí),存在算法易發(fā)散的問題[8],但鮮有文獻(xiàn)對(duì)偽距計(jì)算方法的收斂性進(jìn)行證明,下面將根據(jù)衛(wèi)星導(dǎo)航系統(tǒng)的特征,證明偽距計(jì)算方法的收斂性。
將式(1)改寫為如下一元方程形式:
對(duì)g(ts)求導(dǎo)得:
為了滿足高動(dòng)態(tài)條件下的偽距模擬要求,通常使用偽距的3 階泰勒展開多項(xiàng)式作為偽距動(dòng)態(tài)模型[9-11],如式(4)所示。該模型在信號(hào)處理中采用多階DDS 累加器結(jié)構(gòu)實(shí)現(xiàn),由于忽略高階項(xiàng),需要周期計(jì)算偽距動(dòng)態(tài)模型的各階項(xiàng)系數(shù)。
式中:a(tN)為加速度;j(tN)為加加速度。
計(jì)算偽距動(dòng)態(tài)模型參數(shù)時(shí),根據(jù)已知固定時(shí)間間隔的偽距及其變化率,常采用Hermite 插值、樣條插值等方法。其中分段三階樣條插值方法無需求解偽距變化率,且精度較高,是一種較理想的偽距動(dòng)態(tài)模型參數(shù)計(jì)算方法[7]。同時(shí),在工程實(shí)現(xiàn)中,GNU 科學(xué)庫已提供樣條插值算法的快速計(jì)算函數(shù)[12],使用方便。
高精度GNSS 信號(hào)模擬器的偽距計(jì)算方法包含從仿真數(shù)學(xué)模型計(jì)算偽距至插值算法得出動(dòng)態(tài)模型參數(shù)的整個(gè)過程。為了減小運(yùn)算量,并保證偽距計(jì)算的高精度,可以對(duì)偽距計(jì)算過程進(jìn)行優(yōu)化,提出的偽距優(yōu)化方法主要包含以下3 個(gè)方面的改進(jìn)。
1) 使用插值算法計(jì)算衛(wèi)星位置。高精度GNSS 信號(hào)模擬器要求使用軌道動(dòng)力學(xué)積分方法計(jì)算衛(wèi)星軌道,并且偽距計(jì)算時(shí)需要多次求解任意時(shí)刻的衛(wèi)星位置。若均采用動(dòng)力學(xué)積分方法計(jì)算,則運(yùn)算量較大。一種合理的優(yōu)化方法是采用動(dòng)力學(xué)積分方法計(jì)算一定時(shí)間間隔的軌道數(shù)據(jù),然后通過插值算法計(jì)算任意時(shí)刻的衛(wèi)星位置。
2) 信道延遲量不參與迭代計(jì)算。電離層延遲、對(duì)流層延遲等信道延遲量與接收機(jī)同衛(wèi)星之間的夾角有關(guān)。通常高精度偽距計(jì)算時(shí),會(huì)迭代重新計(jì)算這些延遲量。但是,偽距迭代計(jì)算前后,夾角通常變化很小。所以,可以考慮在損失一定偽距計(jì)算精度的條件下,在迭代計(jì)算過程中不計(jì)算信道延遲,以減少運(yùn)算量的優(yōu)化方法。
3) 不同動(dòng)態(tài)條件下的偽距時(shí)間間隔。根據(jù)接收機(jī)的運(yùn)動(dòng)速度,可以將信號(hào)模擬器的動(dòng)態(tài)特性分為靜態(tài)、中低動(dòng)態(tài)和高動(dòng)態(tài)3 種環(huán)境。通常偽距動(dòng)態(tài)模型參數(shù)的更新頻率固定不變,因此,為了滿足高動(dòng)態(tài)特性要求,需要計(jì)算時(shí)間間隔較小的偽距,以提高插值算法精度。然而,如果統(tǒng)一采用高動(dòng)態(tài)條件下的偽距計(jì)算時(shí)間間隔,對(duì)于其他動(dòng)態(tài)環(huán)境,將造成浪費(fèi)。為此,針對(duì)不同動(dòng)態(tài)特性選擇合適的時(shí)間間隔計(jì)算偽距,是一種合理的優(yōu)化方法。
根據(jù)偽距計(jì)算優(yōu)化方法提出的3 個(gè)改進(jìn)方式,下面通過仿真實(shí)驗(yàn),論證優(yōu)化算法的具體步驟及其性能。
采用衛(wèi)星動(dòng)力學(xué)模型計(jì)算衛(wèi)星軌道時(shí),可以準(zhǔn)確計(jì)算出衛(wèi)星的位置和速度,因此選擇精度較高的分段三階Hermite 插值算法作為衛(wèi)星軌道的插值算法[13]。文獻(xiàn)[13]指出當(dāng)衛(wèi)星軌道誤差小于1 cm 時(shí),對(duì)定位結(jié)果的影響可以忽略,因此,插值算法的精度要求滿足小于1 cm。
仿真時(shí),衛(wèi)星動(dòng)力學(xué)積分法使用的攝動(dòng)力模型如表1 所示。實(shí)驗(yàn)方法為使用衛(wèi)星動(dòng)力學(xué)模型計(jì)算1 h,時(shí)間間隔5 ms 的原始軌道數(shù)據(jù)。然后分別選擇不同時(shí)間間隔下的軌道數(shù)據(jù)作為樣本數(shù)據(jù),并使用Hermite插值算法得到5 ms 的插值數(shù)據(jù)。通過與原始軌道數(shù)據(jù)比較,得出最優(yōu)時(shí)間間隔。仿真結(jié)果如圖2 所示。
由圖2 可以看出:采用分段3 階Hermite 插值算法計(jì)算衛(wèi)星軌道,當(dāng)時(shí)間間隔取120 s 時(shí),最大位置誤差為4.46 mm,最大速度誤差為0.44 mm/s,偽距計(jì)算誤差小于6×10-7m。同時(shí)與動(dòng)力學(xué)積分法計(jì)算相同時(shí)間長(zhǎng)度的衛(wèi)星軌道耗時(shí)比較,計(jì)算效率提高16 倍。
表1 攝動(dòng)力模型Table 1 Model of forces
圖2 衛(wèi)星軌道插值算法仿真結(jié)果Fig.2 Simulation results of satellite orbits interpolation algorithm
信道延遲量主要包括電離層延遲和對(duì)流層延遲。為了分析迭代計(jì)算偽距時(shí),忽略信道延遲量對(duì)計(jì)算精度的影響,采用如下仿真方法。分別計(jì)算5 h 時(shí)間內(nèi)的傳統(tǒng)高精度偽距計(jì)算方法和優(yōu)化方法的偽距值,并作差得到優(yōu)化算法的誤差。其中電離層延遲使用Klobuchar 模型,對(duì)流層延遲使用Hopfield 模型,仿真結(jié)果如圖3 所示。
圖3 誤差項(xiàng)影響仿真結(jié)果Fig.3 Simulation results of error affecting
由圖3 可以看出:偽距誤差隨著仰角的減少逐漸增大,最大誤差在3×10-5m 以內(nèi)。同時(shí),通過統(tǒng)計(jì)1 000 次重復(fù)計(jì)算相同時(shí)刻偽距的計(jì)算時(shí)間,得出優(yōu)化算法計(jì)算效率提高了約1 倍。
根據(jù)已知時(shí)間間隔的偽距,采用分段三階樣條插值算法計(jì)算偽距動(dòng)態(tài)模型參數(shù)時(shí),針對(duì)不同的動(dòng)態(tài)條件,可以選擇不同的偽距時(shí)間間隔。實(shí)驗(yàn)仿真時(shí),分別選擇靜態(tài)、中低動(dòng)態(tài)和高動(dòng)態(tài)3 種場(chǎng)景。其中,在中低動(dòng)態(tài)條件下,接收機(jī)的運(yùn)動(dòng)速度為1 000 m/s。在高動(dòng)態(tài)條件下,選擇JPL 實(shí)驗(yàn)室推薦的一種具有典型意義的高動(dòng)態(tài)運(yùn)動(dòng)模型[14],該高動(dòng)態(tài)環(huán)境的接收機(jī)速度的變化曲線如圖4 所示。
圖4 高動(dòng)態(tài)環(huán)境速度變化曲線Fig.4 Curve of high dynamic environment velocity
表2 不同動(dòng)態(tài)條件下的插值算法精度Table 2 Pseudorange accuracy under different dynamic environments
仿真時(shí),接收機(jī)的初始位置設(shè)置為仿真開始時(shí)刻衛(wèi)星星下點(diǎn)位置,并且接收機(jī)始終沿該時(shí)刻垂直高度方向運(yùn)動(dòng)。分別選擇不同時(shí)間間隔條件的原始偽距數(shù)據(jù),然后使用樣條函數(shù)計(jì)算1 ms 間隔的偽距值。通過與原始數(shù)據(jù)比較,得出不同時(shí)間間隔條件下的偽距動(dòng)態(tài)模型參數(shù)計(jì)算精度,仿真結(jié)果如表2 所示。
由表2 可見:對(duì)于靜態(tài)條件,選擇時(shí)間間隔20 s時(shí),偽距計(jì)算精度就可以達(dá)到2.43×10-5m;對(duì)于中低動(dòng)態(tài)時(shí),選擇時(shí)間間隔2 s 時(shí),偽距計(jì)算精度可以達(dá)到2.96×10-4m;對(duì)于高動(dòng)態(tài)條件時(shí),時(shí)間間隔選擇0.1 s 時(shí),偽距計(jì)算精度可以達(dá)到3.71×10-4m。
1) 根據(jù)衛(wèi)星導(dǎo)航系統(tǒng)的特征及定點(diǎn)迭代法收斂定理,證明了偽距計(jì)算時(shí)的算法收斂性問題。
2) 為了減少偽距計(jì)算過程的運(yùn)算量,提出了一種優(yōu)化算法,其具體步驟為:①使用分段三階Herimite插值算法計(jì)算任意時(shí)刻的衛(wèi)星軌道,已知衛(wèi)星軌道數(shù)據(jù)的時(shí)間間隔為120 s;②迭代計(jì)算衛(wèi)星發(fā)射時(shí)刻過程時(shí),忽略信道延遲量的影響;③使用三階樣條函數(shù)計(jì)算偽距動(dòng)態(tài)模型參數(shù)時(shí),對(duì)于靜態(tài)條件,已知偽距時(shí)間間隔為20 s;對(duì)于中低動(dòng)態(tài)條件,時(shí)間間隔為2 s;對(duì)于高動(dòng)態(tài)條件,時(shí)間間隔為0.1 s。
3) 使用偽距計(jì)算優(yōu)化算法時(shí),計(jì)算誤差小于1 mm(即偽距損失精度1 mm),計(jì)算效率大幅度提高。
致謝:感謝中國(guó)科學(xué)院上海天文臺(tái)黃勇博士在衛(wèi)星軌道積分算法方面提供的幫助。
[1] 趙軍祥. 高動(dòng)態(tài)智能GPS 衛(wèi)星信號(hào)模擬器軟件數(shù)學(xué)模型研究[D]. 北京: 北京航空航天大學(xué)電子信息工程學(xué)院, 2003:55-67.ZHAO Junxiang. The study on mathematical model of high dynamic and intelligent GPS satellite signal simulator software[D]. Beijing: Beihang University. School of Electronic and Information Engineering,2003:55-67.
[2] 呂志成. 高動(dòng)態(tài)衛(wèi)星導(dǎo)航信號(hào)模擬器軟件研究[D]. 長(zhǎng)沙: 國(guó)防科學(xué)技術(shù)大學(xué)電子科學(xué)與工程學(xué)院,2006:23-30.Lü Zhicheng. The research of the high dynamic satellite signal simulator software[D]. Changsha: School of National University of Defense Technology. School of Electronic Science and Engineering,2006:23-30.
[3] 李成軍, 陸明泉, 馮振明.GPS 中頻信號(hào)模擬器的數(shù)學(xué)模型及實(shí)現(xiàn)[J]. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版), 2008, 48(10): 1582-1585.LI Chengjun, LU Mingquan, FENG Zhenming. Mathematical model and realization for GPS IF signal simulator[J]. Journal of Tsinghua University(Science and Technology), 2008, 48(10):1582-1585.
[4] 羅益鴻. 導(dǎo)航衛(wèi)星信號(hào)模擬器軟件設(shè)計(jì)與實(shí)現(xiàn)[D]. 長(zhǎng)沙: 國(guó)防科學(xué)技術(shù)大學(xué)機(jī)電工程與自動(dòng)化學(xué)院,2008:29-43.LUO Yihong. The software design and implementation of navigation satellite signal simulator[D]. Changsha: National University of Defense Technology. College of Mechatronics Engineering and Automation,2008:29-43.
[5] 沙海, 呂志成, 張國(guó)柱, 等. 多系統(tǒng)衛(wèi)星導(dǎo)航信號(hào)模擬源的系統(tǒng)結(jié)構(gòu)與軟件設(shè)計(jì)[C]// 第二屆衛(wèi)星導(dǎo)航學(xué)術(shù)年會(huì). 上海,2011:341-345.SHA Hai, Lü Zhicheng, ZHANG Guozhu, et al. System architecture and software design of multi-system satellite navigation signal simulator[C]// The Second China Satellite Navigation Conference.Shanghai,2011:341-345.
[6] Song Y,Zhou H,Zeng T,et al.Algorithm and realization of high dynamic satellite signal doppler simulation based on FPGA[C]//Proceedings of the 2010 International Technical Meeting of Institute of Navigation.San Diego,USA,2010:1044-1050.
[7] 劉旻, 吳嗣亮. 實(shí)時(shí)高動(dòng)態(tài)GNSS 信號(hào)模擬器高精度偽距生成方法[J]. 北京理工大學(xué)學(xué)報(bào),2011,31(9):1053-1057.LIU Min, WU Siliang. Method of high accuracy pseudorange generation for real-time high dynamic GNSS signal simulator[J].Transactions of Beijing Institute of Technology, 2011, 31(9):1053-1057.
[8] 丁麗娟. 數(shù)值計(jì)算方法[M]. 北京: 北京理工大學(xué)出版社,1997:184-187.DING Lijuan. Numerical computation method[M]. Beijing:Beijing Institute of Technology Press,1997:184-187.
[9] 齊巍, 常青, 洪晟. 導(dǎo)航信號(hào)模擬器可見衛(wèi)星同步調(diào)度算法[J]. 沈陽工業(yè)大學(xué)學(xué)報(bào),2011,33(4):428-433.QI Wei, CHANG Qing, HONG Sheng. Algorithm for synchronous scheduling of visible satellite based on navigation signal simulator[J]. Journal of Shenyang University of Technology,2011,33(4):428-433.
[10] ZHAO Yun, KOU Yanhong, HUANG Zhigang. Multi-Constellation GNSS signal simulator and its software implementation[C]// 22nd International Meeting of the Satellite Division of the Institute of Navigation. Savannah GA, 2009:2213-2219.
[11] 宋媛媛, 曾大治, 曾濤. 基于三階DDS 的衛(wèi)星信號(hào)多普勒模擬方法[J]. 北京理工大學(xué)學(xué)報(bào),2010,30(10):1213-1216.SONG Yuanyuan, ZENG Dazhi, ZENG Tao. Satellite signal doppler simulation method based on third-order DDS[J].Transactions of Beijing Institute of Technology, 2010, 30(10):1213-1216.
[12] Mark Galassi. GNU scientific library[EB/OL]. [2009-08-25].http://www.gnu.org.
[13] Korvenoja P,Piche R.Efficient satellite orbit approximation[C]//The 13th International Technical Meeting of the Satellite Division of The Institute of Navigation. Salt Lake City, USA,Sept,2000:1930-1937.
[14] 向洋. 高動(dòng)態(tài)GPS 載波跟蹤技術(shù)研究[D]. 武漢: 華中科技大學(xué)電信系,2010:22-52.XIANG Yang. Study on high dynamic GPS carrier tracking techniques[D]. Wuhan: Huazhong University of Science and Technology. Department of Electronic and Information Engineering,2010:22-52.