盧立果,馬立燁,劉萬科,吳湯婷,胡偉建
1. 東華理工大學測繪工程學院, 江西 南昌 330013; 2. 廣西空間信息與測繪重點實驗室(桂林理工大學),廣西 桂林 541006; 3. 武漢大學衛(wèi)星導航定位技術(shù)研究中心,湖北 武漢 430079; 4. 武漢大學測繪學院,湖北 武漢 430079
在一些GNSS定位場景下(比如姿態(tài)測量),GNSS天線之間的基線長度可以事先精確量取,常被用作先驗信息參與基線處理和模糊度解算,以提高模糊度解算的成功率,稱為附有基線長度約束的模糊度解算[1-2]。根據(jù)基線長信息的使用方式不同,主要分為3種方法:第一種是將基線長信息作為虛擬觀測值,同偽距和相位觀測值一起進行模糊度浮點解估計[3-5];第二種是將基線長信息用于模糊度整數(shù)值確認環(huán)節(jié)[6-8];第三種是基線二次型約束的整數(shù)最小二乘法(quadratically constrained integer least-squares,QC-ILS),它將基線長信息加入模糊度搜索及基線固定過程,通過擴大模糊度二次型的搜索范圍,尋找滿足混合二次型最小的模糊度向量[9-13]。由于QC-ILS解算是建立在標準LAMBDA(least-square ambiguity decorrelation adjustment)算法基礎(chǔ)上,因此這種處理方法又稱作約束LAMBDA算法(constrained LAMBDA,CLAMBDA)[10]。相較于其他兩類方法,CLAMBDA可以嚴格地把基線長信息融合到整數(shù)最小二乘(integer least-squares,ILS)準則下[11]。針對弱GNSS模型,僅選取基線長信息參與模糊度解算,CLAMBDA可以顯著提高模糊度解算成功率[12-16]。
盡管CLAMBDA具有優(yōu)異的模糊度解算性能,但能否快速解算出模糊度是決定其具有實時應用的關(guān)鍵。文獻[13]采用基于邊界函數(shù)收縮的方法獲得靜態(tài)約7 ms、動態(tài)約20 ms的計算結(jié)果。文獻[17]采用靜態(tài)模擬數(shù)據(jù)獲得約22 ms的計算結(jié)果。為更好地滿足實時應用需求,文獻[2]指出CLAMBDA在搜索方面仍有待進一步提高。而提高CLAMBDA解算效率的關(guān)鍵,首先在于如何設置合理的初始空間,其次在于如何更好地更新搜索空間。在CLAMBDA解算時,為保障初始搜索空間包含CLAMBDA解,通常設置一個非空的初始搜索空間(即至少包含一組模糊度候選向量)[13]。針對弱GNSS模型模糊度解算成功率較低,采用ILS等整數(shù)估計方法獲得的初始模糊度向量將嚴重偏離真值[10],從而導致計算的初始搜索空間過大,難以快速獲取CLAMBDA解。
因此,為進一步提高CLAMDBA的解算效率,本文將重點針對初始搜索空間的設置和更新開展相關(guān)研究。
加入基線長約束后的GNSS數(shù)學模型為[10]
(1)
式中,y為GNSS觀測值;l為量取的基線長;a和b分別為模糊度和基線分量參數(shù);A和B為相應的系數(shù)矩陣;E(·)和D(·)分別表示期望和方差算子。
對式(1)采用最小二乘估計,并進行正交分解
(2)
F(a)=min
(3)
式(3)通過約束條件,把模糊度ILS解算問題轉(zhuǎn)化成QC-ILS問題。由于滿足E(a)最小的模糊度不一定滿足F(a)最小,即模糊度搜索空間不再為橢球體。當解算出各個整數(shù)模糊度a及其對應的b(a)后求取F(a),選擇滿足F(a)最小的a和b(a)作為最終固定的整數(shù)模糊度向量和基線分量。
(4)
(5)
為實現(xiàn)CLAMBDA的快速解算,目前性能最優(yōu)的方法是基于邊界函數(shù)進行搜索空間收縮的算法(bounding functions search and shrink strategy,BFS)[2,12]。
(6)
則F(a)存在下述不等關(guān)系
F1(a)≤F(a)≤F2(a)
(7)
式中
當搜索空間大小為χ2時,各自對應的模糊度候選整數(shù)向量空間為
(8)
式(8)表示在相同搜索空間內(nèi)F1(a)包含的模糊度向量個數(shù)依次大于F(a)和F2(a),整數(shù)向量空間關(guān)系為
ΩF2(χ2)?ΩF(χ2)?ΩF1(χ2)
(9)
2.2.1 縮放因子定義
假令ASS的搜索空間大小為χ2,則滿足如下關(guān)系式
(10)
式中,μ1為縮小因子,μ2為放大因子,為避免空間的放大和縮小過程陷入死循環(huán),必須保證μ1×μ2≠1;i為模糊度向量個數(shù)統(tǒng)計指標,表示在搜索空間χ2內(nèi)基于深度優(yōu)先搜索算法枚舉的候選模糊度向量個數(shù)[18-19];threshold為χ2內(nèi)模糊度候選向量個數(shù)的閾值;k為收縮空間次數(shù)統(tǒng)計指標,表示F2(a)更新搜索空間的次數(shù)。μ1、μ2和threshold的具體設置下文將會進行詳細討論。
式(10)表示在搜索空間χ2中,枚舉的候選向量個數(shù)超過閾值,說明當前搜索空間相對較大,則采用縮小因子降低χ2的數(shù)值;反之,如果在χ2內(nèi)枚舉出全部的候選整數(shù)向量個數(shù)沒有超過閾值,但是所有整數(shù)向量的F2(a)值都大于χ2,未能更新搜索空間(k=0),說明搜索空間χ2相對過小,無法確認空間內(nèi)包含滿足二次型F(a)最小的模糊度最優(yōu)解,則采用放大因子增大χ2的數(shù)值。
2.2.2 初始搜索空間設置
E0 (11) 2.2.3 實現(xiàn)流程 在BFS算法實現(xiàn)的基礎(chǔ)上,基于縮放因子的ASS算法的具體步驟如下(圖1): (2) 枚舉出模糊度向量a,并計算對應的F2(a),更新i=i+1。 (7) 求取各個模糊度向量對應的F(a),選取滿足F(a)最小的模糊度向量amin,此時amin即為CLAMBDA解。 圖1 ASS搜索流程Fig.1 Flowchart of ASS search 為驗證本文提出的基于縮放因子的ASS算法的搜索性能,采用LAMBDA算法和BFS算法(初始空間設置同ASS-1算法)來驗證ASS算法的性能,并選取一組靜態(tài)算例和一組動態(tài)車載算例進行試驗對比分析,基本信息見表1。其中動態(tài)算例為GNSS測向試驗,GNSS天線固連在剛性載體上,基線長度保持不變。為了純粹地比較不同模糊度解算方法的效果,盡量不引入前后歷元的觀測信息,本文采用單歷元模式進行模糊度解算,并使用NovAtel公司發(fā)布的高精度事后動態(tài)處理軟件GrafMov計算結(jié)果作為參考真值,當基線3個方向分量(N、E、U)與參考真值的偏差小于3、3、6 cm,即認為模糊度固定正確;為提高CLAMBDA模糊度初值的準確率,加快模糊度的搜索效率,文中BFS算法和ASS算法均采用LAMBDA解作為初值來設置初始搜索空間。 本文的模糊度搜索耗時是在PC機上基于MATLAB 2016a軟件進行統(tǒng)計的,其軟硬件配置為:Intel Core i7-7700HQ CPU,2.80 GHz主頻,8 GB內(nèi)存,Win10操作系統(tǒng)(64位)。 表1 算例基本信息 該組數(shù)據(jù)采集于武漢某科技園樓頂,為靜態(tài)超短基線觀測數(shù)據(jù)。圖2為共視衛(wèi)星數(shù)和PDOP(position dilution of precision)值序列圖,由圖2可知GPS和BDS的可視衛(wèi)星數(shù)均在10顆左右,PDOP值在3附近,觀測條件良好。 圖2 共視衛(wèi)星數(shù)及PDOP值Fig.2 Number of common view satellites and PDOP value 3.1.1 模糊度固定成功率分析 表2統(tǒng)計了LAMBDA方法和CLAMBDA方法在基線長取不同先驗精度σ下的模糊度固定成功率。其中,針對CLAMBDA解算的不同搜索算法僅影響搜索效率,而不影響最終的搜索結(jié)果,因此僅以ASS-2為例給出了CLAMBDA解算的模糊度固定成功率。由表2可知,采用LAMBDA方法進行模糊度固定時其固定成功率明顯較低,采用CLAMBDA方法時, 由于加入了基線長信息,增強了模型強度,極大地提高了模糊度固定成功率,GPS和BDS的模糊度固定成功率普遍可提升至99%以上。另一方面,不同的σ也會對模糊度解算的成功率帶來一定影響,在σ大于5 cm時,會影響CLAMBDA的解算性能,因此在實際使用時σ設置不宜過大,本文后續(xù)CLAMBDA的試驗對比分析均采用σ=0的強約束模型[11,13]。 表2 不同先驗信息下的模糊度固定成功率 表3統(tǒng)計了不同衛(wèi)星個數(shù)下的模糊度成功率。由表3可以看出,LAMBDA算法固定成功率與衛(wèi)星數(shù)呈正相關(guān)關(guān)系,受GNSS模型強度影響較大,而CLAMBDA方法在針對弱GNSS的觀測場景,可以顯著提高模糊度的固定成功率。 表3 不同衛(wèi)星個數(shù)下的模糊度固定成功率 3.1.2 縮放因子和候選向量個數(shù)閾值設置分析 根據(jù)上節(jié)分析可知CLAMBDA針對弱GNSS模型具有較好的模糊度解算性能,下面將探討如何實現(xiàn)CLAMBDA的快速解算。由于ASS-1和ASS-2兩種算法初始空間設置不同,對縮放因子選取也不同,本節(jié)將對兩種算法下的縮放因子和模糊度候選向量個數(shù)閾值如何設置進行討論,為后續(xù)算法的具體實現(xiàn)提供依據(jù)。 圖3 Fc與E0和F0的關(guān)系Fig.3 Relationship among Fc, E0 and F0 表4 不同縮小因子下ASS-1平均解算耗時 圖4 不同縮小因子下ASS-1的解算耗時累積分布函數(shù)Fig.4 Cumulative distribution function of resolution time of ASS-1 under different reduction factors 表5 不同放大因子下ASS-2平均解算耗時 圖5 不同放大因子下ASS-2的解算耗時累積分布函數(shù)Fig.5 Cumulative distribution function of resolution time of ASS-2 under different amplification factors 針對每個搜索空間χ2中閾值threshold的設置問題,首先作一簡要分析,如果threshold設置過小,則會過于頻繁地縮小搜索空間,模糊度搜索時需要不斷地初始化,影響搜索效率;設置過大則不利于搜索空間的收縮,同樣影響搜索效率?;诖耍P者設置threshold分別為500、1000、1500和2000,比較不同threshold下ASS-1算法的解算性能(當搜索空間收縮時,表明枚舉的候選向量數(shù)大于threshold,由于ASS-1算法以收縮空間為主,threshold數(shù)值的設置對ASS-1算法影響較大,因此采用ASS-1算法進行分析)。表6為不同threshold下統(tǒng)計的ASS-1平均解算耗時,圖6為對應的累積分布函數(shù)圖。由圖6和表6可知,在threshold為1000時,可獲得較好的解算效果。因此,本文ASS算法的threshold設置為1000。 圖6 不同閾值下的ASS-1解算耗時累積分布函數(shù)Fig.6 Cumulative distribution function of resolution time of ASS-1 under different thresholds 需要說明的是,上述縮放因子和閾值的參數(shù)設置是通過文中算例具體比較分析得出的,不能保證為最優(yōu)參數(shù)值,但采用上述設置可以達到較好的解算效果,仍不失一般性。 表6 不同閾值下ASS-1平均解算耗時 3.1.3 解算耗時驗證分析 通過上節(jié)詳細的試驗對比分析給出了ASS算法的具體參數(shù)設置,下面將具體驗證ASS算法的解算性能。 表7統(tǒng)計了不同衛(wèi)星數(shù)下的模糊度平均解算耗時。由表7可知,ASS-2算法平均解算耗時在2.5 ms以內(nèi),解算性能接近于LAMBDA算法,ASS-1次之,BFS最差;對于GPS數(shù)據(jù),ASS-2整體解算效率相對于BFS能夠提高3倍以上,對于BDS數(shù)據(jù),ASS-2整體解算效率相對于BFS也能夠提高58%以上;ASS-2解算耗時與衛(wèi)星個數(shù)呈正相關(guān),隨著衛(wèi)星數(shù)的增加解算耗時也隨之增加;BFS解算耗時與衛(wèi)星個數(shù)基本呈負相關(guān),衛(wèi)星數(shù)越少解算耗時越大;ASS-1解算耗時處于二者之間;在弱GNSS模型(如衛(wèi)星數(shù)不超過8顆時)情形下,ASS-2解算效率顯著優(yōu)于BFS,但隨著衛(wèi)星觀測個數(shù)的增加,GNSS模型強度的增強,3種算法均能實現(xiàn)快速搜索,解算性能差異也隨之減小。 表7 不同衛(wèi)星數(shù)下的模糊度平均解算耗時對比 圖7為BFS、ASS-1和ASS-2這3種算法的解算耗時對比。由圖可以直觀看到三者的解算性能優(yōu)劣,此處不再贅述;同時,圖7中BFS趨勢和圖3中F0/Fc趨勢基本一致,說明BFS解算效率與初始空間大小直接相關(guān),即取決于GNSS模型強度。 圖7 3種算法解算耗時對比Fig.7 Comparison of resolution time of three algorithms 根據(jù)BFS、ASS-1和ASS-2解算耗時比較,其解算效率存在如下關(guān)系:ASS-2>ASS-1>BFS。由于ASS-1相較于BFS增加了縮放因子,ASS-2相較于ASS-1采用的初始空間不同,為便于分析不同因素對ASS算法的影響,下面分別從ASS-1相對BFS的提高原因、ASS-2相對ASS-1的提高原因兩個方面分別進行分析。 圖8 ASS-1算法縮小和放大次數(shù)及初始空間變化Fig.8 Reduction and amplification times and initial space change of ASS-1 algorithm 其次,分析ASS-2解算效率高于ASS-1的原因。圖9為ASS-1和ASS-2算法在縮放次數(shù)(放大次數(shù)+縮小次數(shù))和解算耗時方面的比較關(guān)系圖。由圖9可知,ASS-2的縮放次數(shù)小于ASS-1,主要因為2E0相較于F0,與Fc差異較小,進行空間縮放時更易調(diào)整搜索空間;在解算耗時方面,ASS-2耗時小于ASS-1,且與縮放次數(shù)的變化趨勢基本一致,主要因為每次完成縮放均需重新進行初始化搜索,縮放次數(shù)越多,搜索耗時越大,反之亦然。因此,ASS-2相對于ASS-1算法的主要優(yōu)勢:從下邊界方向設置初始空間相較于上邊界,可以減小縮放次數(shù),更快調(diào)整到合適的搜索空間,從而提高解算效率。 圖9 不同歷元下ASS-1和ASS-2算法的縮放次數(shù)和解算耗時Fig.9 Scaling times and resolution time of ASS-1 and ASS-2 under different epochs 下面采用動態(tài)算例進一步驗證ASS算法的性能,該組數(shù)據(jù)采集于武漢梁子湖大道。圖10為共視衛(wèi)星數(shù)和PDOP值序列圖,由圖10可知,GPS和BDS的可視衛(wèi)星數(shù)均在9顆左右,PDOP值在3以內(nèi),而在GPST 204 000 s附近跑車由于受建筑物遮擋,導致可視衛(wèi)星數(shù)較少。 圖10 共視衛(wèi)星數(shù)及PDOP值Fig.10 Number of common view satellites and PDOP value 表8統(tǒng)計了在不同衛(wèi)星個數(shù)下的模糊度成功率。由表8可知,CLAMBDA能夠顯著提升弱GNSS模型下的模糊度固定成功率。圖11為GPS單頻基線向量解算結(jié)果,可以看出,由于CLAMBDA的模糊度固定成功率較高,可以獲得較好的基線向量解算結(jié)果。 表8 不同衛(wèi)星個數(shù)下的模糊度固定成功率 圖11 GPS單頻基線向量解算結(jié)果Fig.11 GPS single frequency baseline vector solution results 表9統(tǒng)計了不同衛(wèi)星個數(shù)下的模糊度平均解算耗時。由表9可知,ASS-2平均解算耗時在3 ms以內(nèi),且整體解算效率最接近于LAMBDA算法,ASS-1次之,BFS解算效果較差,ASS-2整體解算效率相較于BFS可以提高1倍以上;BFS解算效率受GNSS模型強度直接影響,隨著衛(wèi)星數(shù)的增多而增大;ASS-1和ASS-2的解算效率呈現(xiàn)增大后減小的趨勢,主要是當GNSS模型強度較強時,解算效率受模糊度維數(shù)的影響。 表9 不同衛(wèi)星數(shù)下的模糊度平均解算耗時對比 (3) 在弱GNSS觀測模型下,CLAMBDA相較LAMBDA方法可顯著提升模糊度的固定成功率,對信號遮擋比較嚴重的地方,如城市峽谷、山區(qū)等具有較好的實際應用價值。3 試驗分析
3.1 靜態(tài)算例
3.2 動態(tài)算例
4 結(jié) 論