程向紅,張晶晶
(1. 微慣性儀表與先進導(dǎo)航技術(shù)教育部重點實驗室,南京 210096;2. 東南大學(xué) 儀器科學(xué)與工程學(xué)院,南京 210096)
隨著全球衛(wèi)星導(dǎo)航技術(shù)(GNSS)的不斷發(fā)展,GNSS已被應(yīng)用到諸多領(lǐng)域。而接收機是應(yīng)用層面的核心環(huán)節(jié),主要完成衛(wèi)星信號捕獲、跟蹤和導(dǎo)航解算(PVT)三個重要任務(wù)。其中,跟蹤環(huán)路通過對本地數(shù)控振蕩器(NCO)持續(xù)不斷地動態(tài)調(diào)整,使跟蹤通道保持對已捕獲信號的持續(xù)鎖定。穩(wěn)定跟蹤后,從接收機解調(diào)的數(shù)據(jù)比特中提取的偽距和多普勒頻率等觀測量,是PVT解算模塊的直接信息來源。因此,跟蹤環(huán)路是接收機的核心環(huán)節(jié),與接收機的性能指標(biāo)如靈敏度、動態(tài)性以及定位精度等密切相關(guān)。目前,常用的跟蹤算法多應(yīng)用在中低動態(tài)場景。對高動態(tài)載體而言,和衛(wèi)星之間的相對高速運動使得接收到的衛(wèi)星信號具有較大的多普勒頻移及其變化率,傳統(tǒng)跟蹤環(huán)路極易失鎖。研究如何在高動態(tài)環(huán)境下實現(xiàn)接收機魯棒而精確地跟蹤是GNSS接收機技術(shù)領(lǐng)域的一大難點。
傳統(tǒng)跟蹤環(huán)路一般采用鎖頻環(huán)(FLL)輔助鎖相環(huán)(PLL)的結(jié)構(gòu),該結(jié)構(gòu)結(jié)合了FLL動態(tài)應(yīng)力容忍性能好和PLL跟蹤精度高的優(yōu)點[1]。隨著信號參數(shù)估計理論在信號處理領(lǐng)域的應(yīng)用,基于卡爾曼濾波的跟蹤環(huán)路引起了學(xué)者的廣泛關(guān)注,它能夠根據(jù)環(huán)路噪聲統(tǒng)計特性自適應(yīng)地調(diào)節(jié)環(huán)路增益和帶寬[2],兼具動態(tài)性和跟蹤精度,估計出碼相位誤差、載波相位誤差和多普勒頻率等。而鑒別器線性工作區(qū)間有限,考慮到高動態(tài)場景下引入的非線性噪聲,可采用非線性濾波方法替代標(biāo)量跟蹤環(huán)路中的鑒別器,如擴展卡爾曼濾波(EKF)[3]、無跡卡爾曼濾波(UKF)等。
Spilker提出的矢量跟蹤環(huán)路不同于常見的標(biāo)量跟蹤環(huán)路,它耦合了各個跟蹤通道的內(nèi)在信息,并且把信號跟蹤和PVT過程結(jié)合,被認(rèn)為是高動態(tài)場景跟蹤環(huán)路的解決方案之一[4]。但在實際應(yīng)用中,矢量跟蹤環(huán)路的初始化仍需要用到標(biāo)量跟蹤環(huán)路的結(jié)果,并且矢量跟蹤環(huán)路在工作時需要標(biāo)量跟蹤環(huán)路能夠輸出導(dǎo)航電文比特,即標(biāo)量跟蹤環(huán)路穩(wěn)定[5-7]。因此本文旨在設(shè)計一種高動態(tài)條件下的標(biāo)量跟蹤環(huán)路,采用精度較高、濾波過程穩(wěn)定且計算量較少的平方根容積卡爾曼濾波(Square Root Cubature Kalman Filter, SRCKF)[8],并針對高動態(tài)場景可能出現(xiàn)的模型失配問題,引入強跟蹤濾波的漸消因子,以提高跟蹤環(huán)路的魯棒性[9]。通過試驗驗證該跟蹤環(huán)路可為后續(xù)PVT解算模塊或矢量跟蹤環(huán)路提供可靠信息來源。
本文設(shè)計的GNSS信號跟蹤環(huán)路如圖1所示。GNSS中頻信號經(jīng)捕獲后進入跟蹤階段,由捕獲結(jié)果初始化載波NCO和碼NCO,中頻信號與本地NCO產(chǎn)生的信號作相關(guān)運算,由六路相關(guān)器輸出作為強跟蹤平方根容積卡爾曼濾波器(Strong Tracking Square Root Cubature Kalman Filter, STSRCKF)的量測輸入。這里的量測輸入是與傳統(tǒng)跟蹤環(huán)路和以卡爾曼濾波為基礎(chǔ)的跟蹤環(huán)路所不同的地方,它替代了常用的鑒相器和鑒頻器,由濾波器對碼相位誤差(Δτ)、載波相位誤差(Δθ)、載波頻率誤差(Δf)及其一階導(dǎo)數(shù)(Δα)作統(tǒng)一估計,用這些最優(yōu)估計值在每個濾波周期反饋調(diào)整本地NCO。
圖1 GNSS信號跟蹤環(huán)路設(shè)計框圖Fig.1 Design of tracking loop for GNSS signal
選取信號振幅A、輸入信號與本地信號的碼相位誤差Δτ、載波相位誤差Δθ、載波頻率誤差Δf及其一階導(dǎo)數(shù)Δα作為系統(tǒng)的狀態(tài)量x,系統(tǒng)模型見式(1)[4]:
其中,β表示碼頻率和載波頻率的比值(對于GPS L1碼來說,β=1/1540),T表示積分時間(即跟蹤環(huán)路周期),wk-1表示系統(tǒng)過程噪聲。
這里的量測量為六路相關(guān)器的輸出,GNSS中頻信號與同相(I)、正交(Q)兩路本地載波信號經(jīng)相關(guān)器與本地超前(E)、即時(P)和滯后碼(L)相關(guān),經(jīng)六路積分-清除器后的信號可以表示為[3]:
其中,R代表自相關(guān)函數(shù),d表示中間碼相位與超前碼/滯后碼相位的差值,單位是碼片,nIP、nIE、nIL、nQP、nQE、nQL表示各支路相關(guān)噪聲,δφ為相干積分時間內(nèi)本地載波平均相位誤差,計算公式為:
其中,δφ0、δf0、 Δα0表示相干積分時間內(nèi)載波初始相位誤差、初始頻率誤差和初始頻率變化率誤差。
SRCKF在CKF的基礎(chǔ)上引入了正交三角分解,在每個濾波周期對協(xié)方差矩陣的平方根迭代,避免了CKF直接對協(xié)方差矩陣的開方運算,提高了濾波過程中的數(shù)值穩(wěn)定性。SRCKF算法過程如下[10]:
Step2 時間更新:
Step3 構(gòu)造并經(jīng)量測方程傳播容積點:
Step4 計算量測預(yù)測值、新息協(xié)方差和互協(xié)方差:
Step5 量測更新:
載體在高動態(tài)運動時,可能出現(xiàn)狀態(tài)突變的情況,此時系統(tǒng)模型并不準(zhǔn)確。可以在濾波過程中借鑒強跟蹤濾波的思想,強迫濾波過程中的殘差序列γ始終保持正交,從而達到對系統(tǒng)狀態(tài)實時跟蹤的目的。
強跟蹤濾波和KF/EKF結(jié)合時,一般在狀態(tài)誤差協(xié)方差預(yù)測矩陣中引入漸消因子,不影響殘差量,最終改變增益矩陣。而對于UKF/CKF等非線性濾波過程來說,若采用同樣的漸消因子引入方法,涉及到在對狀態(tài)作最優(yōu)估計時,殘差量是否需要隨漸消因子更新。文獻[9]中證明,在UKF中引入強跟蹤時,若在狀態(tài)估計中使用未引入漸消因子的殘差量,則無法保證對狀態(tài)量作最優(yōu)估計;若使用隨漸消因子更新后的殘差量,則無法保證殘差序列始終正交。同理,該結(jié)論的證明過程也適用于CKF中。因此,本文借鑒文獻[9]在UKF引入漸消因子的方法,給出在SRCKF引入漸消因子的過程,如圖2所示。
圖2 強跟蹤引入SRCKF過程Fig.2 Process of introducing STF into SRCKF
在量測協(xié)方差中引入漸消因子后的計算公式和在狀態(tài)誤差協(xié)方差預(yù)測公式的形式類似:
而因為量測協(xié)方差和互協(xié)方差存在以下關(guān)系:
其中,Hk是量測方程在處的雅可比矩陣。將上述關(guān)系式代入式(17)中可得:
所以在互協(xié)方差中引入漸消因子的計算公式為:
接下來進行漸消因子的計算,根據(jù)強跟蹤算法的正交性原理可以推出下面的充分條件[9]:
將式(17)代入式(19)可得:
式(23)中的ρ為遺忘因子,一般取0.95。
本文進行了靜止和動態(tài)情況下的仿真試驗,來測試所提出的跟蹤環(huán)路的性能。靜止時用中頻數(shù)據(jù)采集系統(tǒng)采集實際衛(wèi)星中頻數(shù)據(jù),動態(tài)情況則使用GNS8330多星座導(dǎo)航信號模擬器輸出衛(wèi)星信號,用中頻數(shù)據(jù)采集系統(tǒng)采集衛(wèi)星模擬信號。動態(tài)情況的基本設(shè)置為:載體以10000 m為半徑,繞一固定點做勻速圓周運動,速度大小為500 m/s。載體在圓周運動過程中加速度不斷變化,接收到的衛(wèi)星信號中的多普勒頻率及其變化率也隨之不斷改變。
為了明確SRCKF和STF的作用,本文進行了五個跟蹤環(huán)路的對比實驗,仿真試驗中設(shè)置跟蹤環(huán)路的更新周期均為1 ms。因為信號跟蹤的好壞關(guān)系到最終的導(dǎo)航精度,所以比較了五個跟蹤環(huán)路的位置誤差和速度誤差。各環(huán)路采用的跟蹤方法如下:
環(huán)路1:二階FLL輔助三階PLL環(huán)路
環(huán)路2:基于EKF的跟蹤環(huán)路
環(huán)路3:基于EKF和強跟蹤的跟蹤環(huán)路(STEKF)
環(huán)路4:基于SRCKF的跟蹤環(huán)路
環(huán)路5: 基于SRCKF和強跟蹤的跟蹤環(huán)路(STSRCKF)
用軟件接收機處理靜止情況下采集的中頻數(shù)據(jù),共收集到了6顆GPS衛(wèi)星的信號,在完成星歷解調(diào)后,解算了約38 s的位置和速度信息。五種跟蹤環(huán)路對應(yīng)的位置誤差絕對值和速度誤差絕對值如圖3所示,統(tǒng)計結(jié)果見表1。
圖3 靜止情況位置、速度誤差變化Fig.3 Position and velocity errors in static case
表1 靜止情況誤差統(tǒng)計Tab.1 Position and velocity errors statistics in static case
由統(tǒng)計結(jié)果可以看出,基于卡爾曼濾波的跟蹤環(huán)路(即環(huán)路2-5)在定位和定速上有更優(yōu)異的表現(xiàn)。其中環(huán)路5精度最高,環(huán)路4比環(huán)路5效果稍差,但相差不大。這是因為SRCKF的濾波精度較高,并且在靜止情況下狀態(tài)突變的情況較少,所以在環(huán)路4基礎(chǔ)上引入了強跟蹤算法的環(huán)路5在精度上并未有太大提升。而對于環(huán)路2和3來說,因為EKF的濾波精度理論上只有一階,所以環(huán)路3相較于環(huán)路2的提升效果略明顯。環(huán)路5的定位、定速精度較環(huán)路1提高了11.4%和14%。
用軟件接收機處理載體做勻速圓周運動時采集的衛(wèi)星模擬信號,共收集到11顆GPS衛(wèi)星的信號,在完成星歷解調(diào)后,解算了約130 s的位置和速度信息。五種跟蹤環(huán)路對應(yīng)的位置誤差絕對值和速度誤差絕對值如圖4所示,統(tǒng)計結(jié)果見表2。
圖4 動態(tài)位置及速度誤差變化Fig.4 Position and velocity errors in dynamic case
表2 動態(tài)情況誤差統(tǒng)計Tab.2 Position and velocity errors statistics in dynamic case
從動態(tài)情況的誤差統(tǒng)計結(jié)果可以看出,環(huán)路5的精度最高,同環(huán)路4相比,因為動態(tài)實驗中狀態(tài)突變的情況增多,所以引入了強跟蹤算法的環(huán)路5提升效果明顯。同樣對于環(huán)路3來說,其精度提高的效果比靜止情況提升的效果明顯。雖然環(huán)路3和環(huán)路4的精度大致相同,但他們相比環(huán)路2精度提高的原因是不同的:環(huán)路3是因為在EKF中引入了強跟蹤算法,以保持對突變狀態(tài)的實時跟蹤,而環(huán)路4所用的SRCKF則是因為其濾波精度高于EKF,所以環(huán)路3和環(huán)路4的精度均高于基于EKF的跟蹤環(huán)路2。環(huán)路5的定位、定速精度較環(huán)路1提高了28.2%、26.1%。
靜止仿真所用的數(shù)據(jù)是真實情況下采集的,動態(tài)仿真所用的數(shù)據(jù)是由模擬器產(chǎn)生的。雖然模擬器在模擬信號的過程中已經(jīng)添加了一些大氣環(huán)境參數(shù),如對流層模型和電離層模型,但相較于實際情況來說,誤差仍是偏小的,所以出現(xiàn)了靜止情況的位置誤差高于動態(tài)情況的位置誤差的現(xiàn)象。
因為濾波過程相較傳統(tǒng)跟蹤環(huán)路更為復(fù)雜,所以基于卡爾曼濾波的跟蹤環(huán)路在運算量上有所增加。表3統(tǒng)計了四種基于卡爾曼濾波的跟蹤環(huán)路在濾波過程中的浮點數(shù)乘法運算量,表中的n代表狀態(tài)維數(shù),m代表觀測維數(shù)。在統(tǒng)計的過程中已經(jīng)略去了一部分可以事先計算或存儲的先驗信息,例如EKF算法中雅可比矩陣的表達式不需通過程序調(diào)用雅可比函數(shù)確定,在每個濾波過程中僅需代入數(shù)值計算即可。同時考慮到CKF算法中涉及兩次QR分解,這也會增加環(huán)路的運算量,所以在表3中的相應(yīng)位置標(biāo)注了QR分解。
表3 濾波過程浮點數(shù)運算量統(tǒng)計Tab.3 Statistics of floating-point computation statistics in filtering process
代入實際跟蹤過程中的模型參數(shù),令n= 5,m= 6,四種基于卡爾曼濾波的跟蹤環(huán)路的實際運算量見表4。同時對這四種跟蹤環(huán)路在相同條件下運行近1000次,表4列出了他們的平均運行時間統(tǒng)計??梢钥闯?,各跟蹤環(huán)路所需的時間和他們的運算量是呈正相關(guān)的,STSRCKF的運算時間最長,約是EKF的3倍。但是在SRCKF中引入強跟蹤,相較于在EKF中引入強跟蹤,并未在運算時間上增加過多,因為其漸消因子的計算公式更為簡潔。
表4 實際浮點數(shù)運算量和運行時間統(tǒng)計Tab.4 Statistics of actual floating-point computation and running time
本文提出了一種基于SRCKF和強跟蹤算法的衛(wèi)星信號跟蹤環(huán)路。SRCKF的引入可以在環(huán)路中替代鑒別器,使環(huán)路不受鑒別器線性工作區(qū)間的限制,同時它的濾波精度較高。而針對高動態(tài)情況下容易出現(xiàn)的模型失配問題,引入了強跟蹤算法的漸消因子,提高了跟蹤環(huán)路的魯棒性。
通過對靜止和動態(tài)兩種情況下的試驗驗證表明,基于STSRCKF算法的跟蹤環(huán)路位置和速度誤差估計最小,對比二階FLL輔助三階PLL,位置誤差減小了11.4%和28.2%,速度誤差減小了14.0%和26.1%,并且在動態(tài)情況下的提升效果更為顯著。因此本文提出的跟蹤環(huán)路可以為后續(xù)的PVT解算等模塊提供更為可靠的觀測量,也可為矢量跟蹤環(huán)路提供更精準(zhǔn)的信息。