一種并行l(wèi)ll高維模糊度降相關(guān)算法
【專(zhuān)利說(shuō)明】一種并行LLL高維模糊度降相關(guān)算法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明屬于衛(wèi)星導(dǎo)航定位技術(shù)領(lǐng)域,涉及一種并行LLL (A.K.Lenstra, H.ff.Lenstra, L.Lovasz, LLL)高維模糊度降相關(guān)算法。
[0003]
【背景技術(shù)】
[0004]模糊度降相關(guān)算法是GNSS衛(wèi)星導(dǎo)航定位數(shù)據(jù)處理階段的關(guān)鍵問(wèn)題??焖偾覝?zhǔn)確的對(duì)相位觀測(cè)中的整周模糊度值進(jìn)行解算可以提高定位的實(shí)時(shí)性和定位精度,而模糊度降相關(guān)是高維整周模糊度快速且高效解算的前提。在基于模糊度域進(jìn)行的整周模糊度解算中,由于經(jīng)過(guò)最小二乘得到的實(shí)數(shù)模糊度參數(shù)精度較低,并且相互之間存在著很強(qiáng)的相關(guān)性,這將會(huì)導(dǎo)致搜索效率的嚴(yán)重下降。因此,在對(duì)模糊度進(jìn)行搜索之前,有必要對(duì)實(shí)數(shù)解進(jìn)行降相關(guān)處理,然后再進(jìn)行搜索。
[0005]目前,常用的降相關(guān)處理方法主要有以下三類(lèi):
第一:Teunissen提出的LAMBDA算法中利用整數(shù)高斯降相關(guān)算法;
第二:Han和Li分別提出了 Cholesky混合上三角(UDUt)和下三角(LDLt)整數(shù)分解法,以及之后XU提出的逆整數(shù)Cholesky分解法;
第三:A.K.Lenstra、H.W.Lenstra 和 L.Lovasz 提出的 LLL 降相關(guān)法。
[0006]其中,LLL降相關(guān)算法是一種較新的算法,計(jì)算速度快且程序易于實(shí)現(xiàn),因此近年來(lái)得到廣泛的重視和研究。然而LLL算法因?yàn)樵谶M(jìn)行整數(shù)正交變換取整的過(guò)程中存在舍入誤差,將會(huì)導(dǎo)致算法收斂性惡化,使降相關(guān)處理失敗。另外,LLL算法中沒(méi)有考慮矩陣向量?jī)?nèi)積的大小順序,這也對(duì)降相關(guān)處理有較大影響。另外,隨著北斗衛(wèi)星系統(tǒng)的日臻完善,可觀測(cè)衛(wèi)星數(shù)量增多,迫切需要一種高效的高維模糊度降相關(guān)處理算法,從而大幅提高搜索效率和計(jì)算速度,為后續(xù)高精度定位打下堅(jiān)實(shí)的基礎(chǔ)。
[0007]
【發(fā)明內(nèi)容】
[0008]本發(fā)明主要提供一種并行LLL高維模糊度降相關(guān)方法,該方法能夠有效克服LLL算法正交迭代過(guò)程中舍入誤差的積累、向量未排序引起的收斂性惡化以及不能高效處理高維模糊度降相關(guān)解算的問(wèn)題。
[0009]本發(fā)明所采用的技術(shù)方案是:一種并行LLL高維模糊度降相關(guān)算法,其特征在于,包括以下步驟:
步驟1:輸入原始模糊度協(xié)方差矩陣Qa和變換矩陣Z,其中,Z為單位矩陣;設(shè)置循環(huán)次數(shù)I=N,N取正整數(shù);
步驟2:初始化循環(huán)次數(shù)I=O ; 步驟3:判斷;
若I=N或Q2為單位矩陣,則跳轉(zhuǎn)執(zhí)行下述步驟5 ;否則,循環(huán)執(zhí)行下述步驟3.1至步驟
3.7 ;
步驟3.1:對(duì)矩陣Qa先按行向量的內(nèi)積大小進(jìn)行升序排列,求出排序矩陣FL,再由公式FL.QZb.FLt得到排序后的新矩陣QA ;
步驟3.2:對(duì)矩陣QA進(jìn)行Cholesky下三角LtL分解,其中Lt為分解后的下三角矩陣,L是Lt矩陣的轉(zhuǎn)置矩陣,并且該分解是唯一的;
步驟3.3:對(duì)L矩陣進(jìn)行QR分解,得到上三角變換矩陣Rl,以及正交矩陣Ql ;
步驟3.4:對(duì)變換矩陣Rl的每個(gè)元素先取整再對(duì)取整后矩陣求逆,得到新的矩陣[R1] \循環(huán)次數(shù)I加I ;
步驟3.5:求變換矩陣Zl= [R1] 1.FL.Z ;
步驟3.6:對(duì)原始模糊度Qa矩陣分別左乘Zl矩陣和右乘ZIt矩陣,得到變換后的協(xié)方差矩陣 QZa= Zl.Qa.ZIt;
步驟3.7:判斷[R1] 1矩陣是否為單位矩陣以及循環(huán)次數(shù)I是否達(dá)到上限;若兩者其中一個(gè)滿足條件,則跳轉(zhuǎn)執(zhí)行下述步驟5 ;否則順序執(zhí)行下述步驟4 ;
步驟4:其具體實(shí)現(xiàn)包括以下子步驟;
步驟4.1:對(duì)步驟3.6中得到的變換后的協(xié)方差矩陣QZa先按列向量的內(nèi)積大小進(jìn)行降序排列,求出排序矩陣FU,由公式FU.QZa.FUt得到排序后的新矩陣Qb=FU.QZa.FU τ;
步驟4.2:對(duì)矩陣Qb進(jìn)行Cholesky上三角UtU分解,其中Ut為分解后的上三角矩陣,Ut為矩陣U的轉(zhuǎn)置矩陣,且該分解也是唯一的;
步驟4.3:對(duì)U矩陣進(jìn)行QR分解,得到上三角變換矩陣R2和正交矩陣Q2 ;
步驟4.4:對(duì)變換矩陣R2的每個(gè)元素先取整再對(duì)取整后矩陣求逆,得到新的矩陣[R2] \循環(huán)次數(shù)I加I ;
步驟4.5:求新變換矩陣Ζ2 =[R2] 1.FU.Zl ;
步驟4.6:對(duì)原始模糊度Qa矩陣分別左乘Z2矩陣和右乘Z2T矩陣,得到變換的協(xié)方差矩陣 QZb= Ζ2.Qa.Ζ2Τ;
步驟4.7:判斷[R2] 1矩陣是否為單位矩陣以及循環(huán)次數(shù)I是否達(dá)到上限;若兩者其中一個(gè)滿足條件,則跳轉(zhuǎn)執(zhí)行下述步驟5 ;否則,將QZb賦值給QZ,即QZ=QZb,將ZS賦值給Ζ,即Z= Ζ?,并回轉(zhuǎn)執(zhí)行所述的步驟3 ;
步驟5:停止迭代,跳出循環(huán),輸出變換矩陣ZI或Ζ2和變換后的協(xié)方差矩陣QZa或QZb。
[0010]作為優(yōu)選,步驟I中所述的Ν=30。
[0011]采用本發(fā)明所述方法,與現(xiàn)有技術(shù)相比,本發(fā)明考慮了現(xiàn)有LLL方法難以對(duì)高維模糊度降相關(guān)進(jìn)行有效處理的缺陷,因此采用并行LLL高維模糊度降相關(guān)算法進(jìn)行處理,且在每次分解前對(duì)矩陣向量做相應(yīng)的排序,取整運(yùn)算也移至求變換矩陣Z時(shí)進(jìn)行,有效地保證了算法的收斂性,減小了算法迭代過(guò)程中的誤差積累,提高了算法的計(jì)算效率和搜索速度,能夠有效的進(jìn)行高維模糊度降相關(guān)處理??朔爽F(xiàn)有方法在收斂穩(wěn)定性、誤差積累以及不能有效處理高維模糊度的缺點(diǎn),提高了模糊度降相關(guān)的效率和整周模糊度解算的搜索速度,為后續(xù)定位打下堅(jiān)實(shí)的基礎(chǔ)。
[0012]
【附圖說(shuō)明】
[0013]圖1:本發(fā)明實(shí)施例的算法流程圖。
[0014]
【具體實(shí)施方式】
[0015]為了便于本領(lǐng)域普通技術(shù)人員理解和實(shí)施本發(fā)明,下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述,應(yīng)當(dāng)理解,此處所描述的實(shí)施示例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0016]本發(fā)明的目的在于提供一種并行LLL高維模糊度降相關(guān)方法,該方法采用混合Cholesky下三角(LtL)分解和上三角(UtU)分解,可以對(duì)高維模糊度進(jìn)行有效的降相關(guān)處理,提高模糊度的搜索效率和計(jì)算速度。同時(shí),在每一次分解前對(duì)相關(guān)矩陣的向量按內(nèi)積大小進(jìn)行相應(yīng)的排序,從而提高了算法的收斂性,增強(qiáng)了算法的降相關(guān)能力。通過(guò)將LLL算法的取整運(yùn)算從正交過(guò)程中移至在求Z變換矩陣處,減少了算法迭代過(guò)程中的誤差累積,進(jìn)一步提高了算法的計(jì)算效率和穩(wěn)定性。本發(fā)明可以滿足對(duì)高維情況下的模糊度協(xié)方差矩陣降相關(guān)處理,從而有效地提高整周模糊度的搜索速度、搜索效率以及模糊度求解的成功率。
[0017]請(qǐng)見(jiàn)圖1,本發(fā)明所采用的技術(shù)方案是:一種并行LLL高維模糊度降相關(guān)算法,包括以下步驟:
步驟1:輸入原始模糊度協(xié)方差矩陣Qa和變換矩陣Z,其中,Z為單位矩陣;設(shè)置循環(huán)次數(shù) 1=30 ;
步驟2:初始化循環(huán)次數(shù)I=O ;
步驟3:判斷;
若1=30或Q2為單位矩陣,則跳轉(zhuǎn)執(zhí)行下述步驟5 ;否則,循環(huán)執(zhí)行下述步驟3.1至步驟 3.7 ;
步驟3.1:對(duì)矩陣Qa先按行向量的內(nèi)