魯鐵定 汪 鑫,2 魯春陽(yáng)
1 東華理工大學(xué)測(cè)繪工程學(xué)院,南昌市廣蘭大道418號(hào),330013 2 福州市勘測(cè)院, 福州市高新大道1號(hào),350108 3 河南城建學(xué)院測(cè)繪與城市空間信息學(xué)院,河南省平頂山市龍翔大道,467036
快速準(zhǔn)確地固定整周模糊度是載波相位測(cè)量的關(guān)鍵技術(shù),目前應(yīng)用最廣的模糊度解算方法是基于整數(shù)最小二乘估計(jì)的模糊度降相關(guān)平差法(LAMBDA算法)[1]。由于在軌衛(wèi)星的數(shù)量逐漸增多,導(dǎo)致模糊度解算的維數(shù)不斷增加,而現(xiàn)有的模糊度解算方法在解算高維模糊度時(shí)效率較低[2],因此如何有效提升高維模糊度的解算效率成為國(guó)內(nèi)外學(xué)者的主要研究?jī)?nèi)容[3-11]。盧立果等[5]提出一種基于下三角Cholesky分解的整數(shù)高斯變換算法(low-triangular Cholesky decomposition integer Gauss transformation, LIGT),該算法與LAMBDA算法等價(jià),是LAMBDA算法在下三角Cholesky分解下的一種補(bǔ)充。本文在LIGT算法的基礎(chǔ)上進(jìn)行改進(jìn),以提高LIGT算法在高維情況下的降相關(guān)效率。
MLIGT算法(modified low-triangular Cholesky decomposition integer Gauss transformation, MLIGT)是本文在LIGT算法基礎(chǔ)上進(jìn)行改進(jìn)的一種快速降相關(guān)算法,基于下列2個(gè)改進(jìn)策略,可以有效提高LIGT算法的降相關(guān)效率以及總體效率。
改進(jìn)策略1是在進(jìn)行整數(shù)高斯變換之前,使用對(duì)稱旋轉(zhuǎn)排序策略對(duì)條件方差僅進(jìn)行一次預(yù)排序。利用該策略可以減少條件方差的交換次數(shù),從而提高算法的運(yùn)行效率。
(1)
(2)
(3)
(4)
LIGT算法有2次整數(shù)高斯變換(即元素降相關(guān))過(guò)程,第1次整數(shù)高斯變換是對(duì)L矩陣次對(duì)角線元素進(jìn)行高斯消去,第2次是在滿足交換條件后對(duì)L矩陣剩余的元素進(jìn)行高斯消去。由于條件方差交換的影響,可能會(huì)造成第1次整數(shù)高斯變換和第2次整數(shù)高斯變換過(guò)程中部分元素重復(fù)執(zhí)行,增加降相關(guān)耗時(shí)。為了解決這一問(wèn)題,將第1次整數(shù)高斯變換過(guò)程與條件方差交換步驟進(jìn)行合并,以此減少冗余的整數(shù)高斯變換過(guò)程,該策略本文稱之為延后降相關(guān)。改進(jìn)后算法的條件方差交換條件發(fā)生了改變:
di+(li,i-1-[li,i-1])2di-1 (5) 由于改進(jìn)策略1增加了對(duì)稱旋轉(zhuǎn)策略預(yù)排序,改進(jìn)策略2使用延后降相關(guān)策略將第1次降相關(guān)整合到條件方差交換過(guò)程之中,因此MLIGT算法相較于LIGT算法在程序流程上有了較大的改變。MLIGT算法流程如圖1所示,解算過(guò)程如下。 圖1 MLIGT算法流程Fig.1 MLIGT algorithm flowchart 2)判斷交換條件di+(li,i-1-[li,i-1])2di-1 3)判斷i的值是否超過(guò)模糊度維數(shù)n,如果i小于n,則返回步驟2);如果i大于n,則進(jìn)入第2次降相關(guān),對(duì)li,k(k=i-2,…,1)進(jìn)行整數(shù)高斯變換,最后結(jié)束程序。 分別設(shè)計(jì)模擬數(shù)據(jù)實(shí)驗(yàn)和實(shí)測(cè)數(shù)據(jù)實(shí)驗(yàn)對(duì)LIGT算法、SEQR算法以及MLIGT算法進(jìn)行對(duì)比分析。實(shí)驗(yàn)使用的計(jì)算機(jī)配置為:Intel CORE i5-4210M處理器,8 G內(nèi)存,Windows10系統(tǒng)。 模擬數(shù)據(jù)根據(jù)文獻(xiàn)[12]中的方法設(shè)計(jì),浮點(diǎn)解構(gòu)造方式為: (6) (7) 式中,U為單位正交矩陣,Λ為對(duì)角矩陣,服從[0,1]均勻分布,且對(duì)Λ按照升序排列。U的構(gòu)造形式為: U=Un,n-1Un,n-2,…,Un,1,…,U3,1U2,1 (8) 其中,Ui,j的構(gòu)造形式為: (9) 利用上述模擬方法,構(gòu)建5~45維模糊度協(xié)方差矩陣,每一維度模擬100組數(shù)據(jù)。為了對(duì)比改進(jìn)策略1對(duì)LIGT算法的提升,使用LIGT算法和PLIGT(permutational low-triangular Cholesky decomposition integer Gauss transformation)算法分別進(jìn)行處理,其中PLIGT算法是僅在LIGT算法基礎(chǔ)上增加了改進(jìn)策略1。圖2是不同維度下2種算法的平均條件方差交換次數(shù)的變換規(guī)律。由圖可見(jiàn),隨著維度的變化,LIGT算法的條件方差交換次數(shù)不斷增加;而PLIGT算法的條件方差交換次數(shù)始終穩(wěn)定在一個(gè)較低的水平,且明顯低于LIGT算法。因此改進(jìn)策略1通過(guò)減少條件方差交換次數(shù),可以顯著提高LIGT算法的解算效率。 圖2 不同維度下條件方差交換次數(shù)Fig.2 Numbers of conditional variance exchangesin different dimensions 為了對(duì)比改進(jìn)策略2單個(gè)因素對(duì)LIGT算法的提升,在LIGT算法基礎(chǔ)上僅使用改進(jìn)策略2設(shè)計(jì)出一個(gè)對(duì)比算法,命名為DLIGT(delayed low-triangular Cholesky decomposition integer Gauss transformation)算法。圖3為2種算法在不同維度下100組數(shù)據(jù)的平均整數(shù)高斯變換次數(shù)的結(jié)果對(duì)比,其中整數(shù)高斯變換次數(shù)指算法的第1次和第2次整數(shù)高斯變換的累積總次數(shù)。由圖4可見(jiàn),隨著維度的上升,2種算法的整數(shù)高斯變換次數(shù)整體呈現(xiàn)上升趨勢(shì),此外,DLIGT算法的平均整數(shù)高斯變換次數(shù)在不同維度下均低于LIGT算法。因此,改進(jìn)策略2可以通過(guò)減少LIGT算法的整數(shù)高斯變換過(guò)程次數(shù),在一定程度上提高算法的降相關(guān)效率。 圖3 不同維度下整數(shù)高斯變換次數(shù)Fig.3 Numbers of integer Gaussian transformationsin different dimensions 為了驗(yàn)證2個(gè)策略對(duì)LIGT算法的綜合改進(jìn)效果,使用上述模擬方法模擬1 000歷元的模糊度數(shù)據(jù),每個(gè)歷元的模糊度矩陣維數(shù)為40。實(shí)驗(yàn)對(duì)比了SEQR算法、LIGT算法和MLIGT算法的降相關(guān)時(shí)間和降相關(guān)時(shí)間標(biāo)準(zhǔn)差,如表1所示,不同歷元下的降相關(guān)時(shí)間對(duì)比結(jié)果見(jiàn)圖4。從表1和圖4的結(jié)果可以看出, MLIGT算法相較于LIGT算法效率有較大提升,比SEQR算法效率略高,此外MLIGT算法的時(shí)間穩(wěn)定性在3種算法中表現(xiàn)最好。 表1 模擬數(shù)據(jù)實(shí)驗(yàn)的平均降相關(guān)時(shí)間及其標(biāo)準(zhǔn)差 圖4 不同歷元下40維模擬數(shù)據(jù)的降相關(guān)時(shí)間Fig.4 Decorrelation time of 40-dimensional simulationdata in different epochs 為了進(jìn)一步驗(yàn)證改進(jìn)算法在實(shí)際測(cè)量中的效率以及解算時(shí)間的穩(wěn)定性,采用SEQR算法、LIGT算法、MLIGT算法分別對(duì)實(shí)測(cè)的2組GNSS數(shù)據(jù)進(jìn)行實(shí)驗(yàn),對(duì)比3種算法的降相關(guān)時(shí)間、搜索時(shí)間、總體時(shí)間以及總體時(shí)間的標(biāo)準(zhǔn)差。其中,搜索方法同前面章節(jié)一致,使用基于LDLT分解的SE-VB算法。 2.2.1 實(shí)驗(yàn)1 第1組數(shù)據(jù)為靜態(tài)觀測(cè)數(shù)據(jù),基線長(zhǎng)為29.5 km,采樣間隔為1 s,數(shù)據(jù)采集時(shí)觀測(cè)環(huán)境開(kāi)闊,數(shù)據(jù)質(zhì)量良好,采用GPS+BDS單歷元處理結(jié)果,取前1 000個(gè)歷元進(jìn)行實(shí)驗(yàn),模糊度維數(shù)在40維左右。第1組數(shù)據(jù)的平均解算結(jié)果見(jiàn)表2,不同歷元下的解算時(shí)間見(jiàn)圖5。從表2和圖5可以看出,MLIGT算法的降相關(guān)時(shí)間最小,SEQR算法次之,兩者均比LIGT算法降相關(guān)效率高。3種算法的搜索時(shí)間差異不大,因此減少總體解算耗時(shí)的關(guān)鍵取決于降相關(guān)效率。從圖5也可以看出,3種算法的總體解算時(shí)間與降相關(guān)時(shí)間的圖像線型趨勢(shì)基本保持一致。從表2可以看出,MLIGT算法總體時(shí)間標(biāo)準(zhǔn)差最小,因此在該組實(shí)驗(yàn)中MLIGT算法的解算時(shí)間穩(wěn)定性比其他2種算法表現(xiàn)更好。 表2 靜態(tài)觀測(cè)數(shù)據(jù)的平均解算時(shí)間和總體時(shí)間標(biāo)準(zhǔn)差 圖5 不同歷元下靜態(tài)觀測(cè)數(shù)據(jù)的模糊度解算時(shí)間Fig.5 Resolution time of ambiguity of static observation data under different epochs 2.2.2 實(shí)驗(yàn)2 第2組數(shù)據(jù)為動(dòng)態(tài)觀測(cè)數(shù)據(jù),該組數(shù)據(jù)為車載數(shù)據(jù),基準(zhǔn)站架設(shè)于開(kāi)闊空地,流動(dòng)站搭載在行駛車輛車頂上進(jìn)行動(dòng)態(tài)測(cè)量,采樣間隔為1 s,觀測(cè)數(shù)據(jù)采用GPS+BDS單歷元處理結(jié)果,取前1 000 個(gè)歷元進(jìn)行實(shí)驗(yàn),模糊度維數(shù)在30~40之間。第2組數(shù)據(jù)的平均解算結(jié)果見(jiàn)表3,不同歷元下的模糊度解算時(shí)間見(jiàn)圖6。從表3可以看出,MLIGT算法的平均降相關(guān)時(shí)間雖然在3者中最短,但與SEQR算法的平均降相關(guān)時(shí)間差距不是很明顯。3種算法的搜索時(shí)間差異較小,因此3種算法總體解算時(shí)間的長(zhǎng)短仍取決于降相關(guān)時(shí)間的長(zhǎng)短。從總體時(shí)間標(biāo)準(zhǔn)差來(lái)看,MLIGT算法的標(biāo)準(zhǔn)差最小,因此理論上MLIGT算法的解算時(shí)間穩(wěn)定性更好。從圖6(a)和6(c)也可以看出,MLIGT算法與SEQR算法雖然大部分線型基本重合,但MLIGT算法明顯更向中心靠攏,而SEQR算法的線型則較為發(fā)散。 通過(guò)模擬實(shí)驗(yàn)可以看出,MLIGT算法的改進(jìn)策略1通過(guò)減少條件方差交換次數(shù)來(lái)提高降相關(guān)效率,改進(jìn)策略2通過(guò)減少整數(shù)高斯變換次數(shù)來(lái)提高降相關(guān)效率。因此在2種改進(jìn)策略的共同作用下,MLIGT算法的降相關(guān)效率得到較為顯著的提升,并且隨著維度的升高,2種策略的改進(jìn)效果與LIGT算法相比會(huì)更顯著。 表3 動(dòng)態(tài)觀測(cè)數(shù)據(jù)的平均解算時(shí)間和總體時(shí)間標(biāo)準(zhǔn)差 圖6 不同歷元下動(dòng)態(tài)觀測(cè)數(shù)據(jù)的模糊度解算時(shí)間Fig.6 Resolution time of ambiguity of dynamic observation data under different epochs 通過(guò)綜合模擬數(shù)據(jù)實(shí)驗(yàn)和2組實(shí)測(cè)數(shù)據(jù)實(shí)驗(yàn)的結(jié)果可以看出,MLIGT算法的整體解算效率明顯高于LIGT算法,且維數(shù)在40及以上的實(shí)驗(yàn)組中,效率要高于SEQR算法。MLIGT算法與SEQR算法效率的高低取決于模糊度維數(shù)的大小和數(shù)據(jù)的構(gòu)造,因?yàn)镸LIGT算法相較于SEQR算法有一個(gè)條件方差交換過(guò)程,可以進(jìn)一步對(duì)不滿足升序排列的條件方差進(jìn)行變換,而且MLIGT算法中的對(duì)稱旋轉(zhuǎn)排序只作一次,是在進(jìn)入循環(huán)前進(jìn)行一次排序;而SEQR算法的對(duì)稱旋轉(zhuǎn)排序過(guò)程不低于一次,排序的次數(shù)取決于維數(shù)的大小和數(shù)據(jù)的構(gòu)造,通常在數(shù)據(jù)維數(shù)較大時(shí),一次整數(shù)高斯變換可能無(wú)法跳出循環(huán),需要繼續(xù)循環(huán)進(jìn)行對(duì)稱旋轉(zhuǎn)排序和整數(shù)高斯變換,直到滿足元素降相關(guān)的條件而跳出循環(huán),因此理論上MLIGT算法的降相關(guān)效率要高于SEQR算法,并且隨著模糊度維數(shù)的升高,這種差距還會(huì)進(jìn)一步增大。 此外,相較于LIGT算法和SEQR算法,MLIGT算法在求解模糊度的過(guò)程中解算時(shí)間表現(xiàn)得更為穩(wěn)定。 在高維模糊度解算過(guò)程中,提高降相關(guān)效率是提高整體解算效率中最為關(guān)鍵的問(wèn)題。本文在LIGT算法基礎(chǔ)上分別從減少條件方差交換次數(shù)和減少整數(shù)高斯變換次數(shù)2個(gè)方面進(jìn)行改進(jìn),從而提高了算法的降相關(guān)效率,并通過(guò)模擬實(shí)驗(yàn)和實(shí)測(cè)實(shí)驗(yàn)共同驗(yàn)證了MLIGT算法的有效性。實(shí)測(cè)數(shù)據(jù)實(shí)驗(yàn)結(jié)果表明,MLIGT算法具有更少的降相關(guān)時(shí)間和整體解算時(shí)間,即MLIGT算法的降相關(guān)效率更高;此外,通過(guò)2組各1 000歷元的實(shí)測(cè)數(shù)據(jù)實(shí)驗(yàn)計(jì)算出,MLIGT算法具有更小的總體時(shí)間標(biāo)準(zhǔn)差,因此在總體解算時(shí)間上MLIGT算法具有更好的穩(wěn)定性。1.3 算法流程
2 實(shí)驗(yàn)與分析
2.1 模擬數(shù)據(jù)實(shí)驗(yàn)
2.2 實(shí)測(cè)數(shù)據(jù)實(shí)驗(yàn)
2.3 結(jié)果分析
3 結(jié) 語(yǔ)