王暉,蘇曉慶,曲國(guó)慶,劉春科
(山東理工大學(xué) 建筑工程學(xué)院,山東 淄博 255049 )
一般來(lái)說(shuō),測(cè)站的觀測(cè)時(shí)間越長(zhǎng)、衛(wèi)星數(shù)目越多,定位精度就越高;然而衛(wèi)星信號(hào)功率低,容易受到干擾和欺騙、多路徑效應(yīng)、衛(wèi)星信號(hào)遮擋等因素的影響,導(dǎo)致衛(wèi)星失鎖,實(shí)際定位結(jié)果偏離真實(shí)值[1-4]。對(duì)于上述問(wèn)題,可采用選星方法,剔除受影響較大的衛(wèi)星。
常用的選星方法有最小幾何精度因子(geometric dilution of precision,GDOP)遍歷法和最大體積法。最小GDOP遍歷法計(jì)算過(guò)程中存在矩陣相乘和求逆,當(dāng)衛(wèi)星數(shù)目較多時(shí),該方法運(yùn)算耗時(shí)長(zhǎng),影響定位的時(shí)效性。最大體積法將衛(wèi)星圍成的幾何體積作為選星結(jié)果的評(píng)價(jià)標(biāo)準(zhǔn),能有效降低選星所消耗的時(shí)間,但其精度低于遍歷法。為了克服上述兩種方法的缺陷,出現(xiàn)了許多創(chuàng)新性方法,例如行列式、三維凸包和遺傳等選星算法[5-7],均在保證精度損失最小的前提下,提高選星效率,但在選星過(guò)程中未考慮其他影響定位精度的干擾因素。
蝙蝠算法(bat algorithm,BA)已被應(yīng)用于多閾值圖像分割[8]、無(wú)線網(wǎng)絡(luò)流量預(yù)測(cè)[9]和機(jī)器人路徑規(guī)劃[10]等領(lǐng)域,但是BA算法用于選星方面的研究還未得見(jiàn),因此,結(jié)合定位精度和選星時(shí)效性問(wèn)題,將信噪比(signal-to-noise ratio,SNR)和BA算法引用到選星中,剔除空間分布差和受干擾大的衛(wèi)星,探討選星算法在定位受干擾、結(jié)果偏差較大情況下的有效性,改善定位精度及提高選星效率。
在衛(wèi)星定位中,定位精度可以用GDOP和觀測(cè)精度的乘積來(lái)表示,當(dāng)觀測(cè)精度一定時(shí),幾何精度因子越小,定位精度越高[11]。
σA=σ×GDOP,
(1)
(2)
(3)
式中:σA為定位精度;σ為觀測(cè)精度;H為觀測(cè)矩陣;HC為北斗衛(wèi)星導(dǎo)航系統(tǒng)(Beidou navigation satellite system,BDS)觀測(cè)矩陣;HG為全球定位系統(tǒng)(global positioning system,GPS)觀測(cè)矩陣;HR為格洛納斯衛(wèi)星導(dǎo)航系統(tǒng)(global orbiting navigation satellite system,GLONASS)觀測(cè)矩陣;HE為伽利略衛(wèi)星導(dǎo)航系統(tǒng)(Galileo satellite navigation system,GALILEO)觀測(cè)矩陣。
SNR是指載波信號(hào)強(qiáng)度與噪聲強(qiáng)度的比值,可衡量衛(wèi)星測(cè)距信號(hào)的質(zhì)量,并間接反映了衛(wèi)星載波相位的測(cè)距精度[12]。通常,衛(wèi)星受干擾越大,信噪比越低,觀測(cè)數(shù)據(jù)質(zhì)量越差,因此將信噪比作為選星的一個(gè)重要參考指標(biāo)。
BA算法是一種群體智能搜索優(yōu)化算法,具有參數(shù)少、實(shí)現(xiàn)簡(jiǎn)單、空間搜索能力強(qiáng)、搜索速度快等優(yōu)點(diǎn),因而能夠提高選星效率和局部搜索能力,在準(zhǔn)確性和有效性方面優(yōu)于其他算法[13]。蝙蝠搜索目標(biāo)時(shí)會(huì)發(fā)出脈沖聲音,通過(guò)接收周圍物體反彈回來(lái)的聲音,來(lái)感知與周圍物體之間的距離,同時(shí)還會(huì)以一種特殊的方式辨別目標(biāo)與障礙物。
將SNR與BA算法融合引入到選星中,稱為顧及信噪比的蝙蝠選星算法。算法的基本思想:設(shè)置信噪比閾值,剔除低于閾值的衛(wèi)星,將GDOP作為適應(yīng)度函數(shù),利用上述BA算法的優(yōu)點(diǎn),得到最小適應(yīng)度值對(duì)應(yīng)的衛(wèi)星組合,即為所選衛(wèi)星。
在算法中,設(shè)某時(shí)刻的可視衛(wèi)星數(shù)為m顆,選擇其中的n顆衛(wèi)星,使其組合的GDOP值最小,作為選星目標(biāo)。將每種衛(wèi)星組合視為一個(gè)蝙蝠,其位置為衛(wèi)星組合的坐標(biāo)。蝙蝠可以根據(jù)與目標(biāo)之間的距離自動(dòng)調(diào)整飛行速度、脈沖響度和脈沖頻率。當(dāng)蝙蝠離目標(biāo)越遠(yuǎn)時(shí),飛行速度越快,脈沖響度越大,脈沖頻率越??;反之,飛行速度越慢,脈沖響度越小,脈沖頻率越大。通過(guò)不斷更新蝙蝠的位置,最后得出選星結(jié)果。顧及信噪比的蝙蝠選星算法具體步驟為:
步驟1 計(jì)算所有可視衛(wèi)星信噪比的平均值,并以其為閾值,將信噪比小于閾值的衛(wèi)星剔除,為初始種群提供先驗(yàn)條件。
(4)
步驟3 參數(shù)初始化,設(shè)置蝙蝠種群數(shù)量M、迭代次數(shù)N、初始速度vi、聲波頻率i、脈沖響度Ai和脈沖頻率ri;設(shè)置速度范圍[-1,1],頻率范圍[0,1];設(shè)置脈沖頻率增加系數(shù)γ為0.95,脈沖響度衰減系數(shù)α為0.95[13-16]。
步驟4 計(jì)算并評(píng)價(jià)每個(gè)蝙蝠位置對(duì)應(yīng)的適應(yīng)度值,找出最小適應(yīng)度值所對(duì)應(yīng)的衛(wèi)星組合。
步驟5 判斷當(dāng)前適應(yīng)度值、脈沖頻率、脈沖響度和迭代次數(shù)是否滿足終止條件,若滿足,算法結(jié)束,輸出衛(wèi)星組合;若不滿足,繼續(xù)進(jìn)行步驟6。
fi=fmin+(fmax-fmin)β,
(5)
(6)
(7)
步驟7 生成[0,1]上的隨機(jī)數(shù)rand1,如果rand1>ri,在最優(yōu)衛(wèi)星組合周圍根據(jù)公式(8)再生成一個(gè)新的衛(wèi)星組合,否則隨機(jī)飛行產(chǎn)生新的衛(wèi)星組合。
xnew=xold+εAt,
(8)
式中:ε∈[-1,1]是一個(gè)隨機(jī)數(shù);At為所有蝙蝠在同一時(shí)間段的平均響度。
步驟8 生成[0,1]上的隨機(jī)數(shù)rand2,如果rand2 (9) 3.1.1 數(shù)據(jù)來(lái)源 利用MGEX平臺(tái)提供的ABMF、BJNM、BJFS基準(zhǔn)站多系統(tǒng)觀測(cè)數(shù)據(jù)進(jìn)行分析,觀測(cè)時(shí)長(zhǎng)為24 h,采樣間隔為30 s。ABMF基準(zhǔn)站包含GPS、GLONASS和Galileo導(dǎo)航系統(tǒng)觀測(cè)數(shù)據(jù)和SBAS星基增強(qiáng)系統(tǒng)觀測(cè)數(shù)據(jù);BJNM基準(zhǔn)站包含GPS、GLONASS和Galileo導(dǎo)航系統(tǒng)觀測(cè)數(shù)據(jù);BJFS基準(zhǔn)站包含GPS和GLONASS導(dǎo)航系統(tǒng)觀測(cè)數(shù)據(jù)。 3.1.2 定位分析 RTKLIB是日本東京海洋大學(xué)開(kāi)發(fā)的一款用于全球?qū)Ш叫l(wèi)星系統(tǒng)(global navigation satellite system,GNSS)定位的開(kāi)源程序包,采用RTKLIB中的RTKPOST模塊對(duì)數(shù)據(jù)進(jìn)行單點(diǎn)定位解算,解算結(jié)果如圖1、圖2和圖3所示。將國(guó)際GNSS服務(wù)(international GNSS service,IGS)組織在數(shù)據(jù)服務(wù)中心提供的站點(diǎn)坐標(biāo)作為精度評(píng)定的參考值,統(tǒng)計(jì)出ABMF基準(zhǔn)站(00:15:00、11:20:00)、BJNM基準(zhǔn)站(00:05:00、04:25:00)和BJFS基準(zhǔn)站(06:37:30、06:56:00)六個(gè)定位偏差較大的時(shí)刻,其中ABMF基準(zhǔn)站11:20:00時(shí)刻,E和U方向的偏差均超過(guò)5 m,定位精度低。 圖1 ABMF基準(zhǔn)站各時(shí)刻單點(diǎn)定位結(jié)果 圖2 BJNM基準(zhǔn)站各時(shí)刻單點(diǎn)定位結(jié)果 圖3 BJFS基準(zhǔn)站各時(shí)刻單點(diǎn)定位結(jié)果 3.1.3 信噪比統(tǒng)計(jì) 利用數(shù)據(jù)檢核軟件TEQC,對(duì)基準(zhǔn)站各時(shí)刻進(jìn)行檢核,獲得各時(shí)刻的L1、L2載波信噪比(分別用SN1、SN2表示),見(jiàn)表1。 表1 基準(zhǔn)站各時(shí)刻信噪比檢核結(jié)果 根據(jù)信噪比評(píng)價(jià)標(biāo)準(zhǔn)可以得知,信噪比大于36 dB,信號(hào)受干擾少,強(qiáng)度等級(jí)高[17]。由表1可知,三個(gè)基準(zhǔn)站的L1載波信噪比大于36 dB,信號(hào)強(qiáng)度高;而B(niǎo)JNM基準(zhǔn)站和BJFS基準(zhǔn)站06:56:00時(shí)刻的L2載波信噪比低于36 dB,信號(hào)強(qiáng)度低,受干擾大。 為保證有足夠的衛(wèi)星參與定位解算,同時(shí)還要避免觀測(cè)數(shù)據(jù)的浪費(fèi),限定選星數(shù)目不小于多系統(tǒng)定位要求的5顆衛(wèi)星,且不大于已有衛(wèi)星總數(shù)的60%;因此,設(shè)定選星數(shù)目為10~11顆,可以兼顧精度和效率,且GDOP損失較小[18-19]。以BJNM基準(zhǔn)站00:05:00時(shí)刻為例,在20顆衛(wèi)星中,擬選取11顆;同時(shí),設(shè)計(jì)了四種實(shí)驗(yàn)方案,通過(guò)不同方案的對(duì)比分析,來(lái)驗(yàn)證顧及信噪比的蝙蝠選星算法的有效性。方案一,保留全部衛(wèi)星;方案二,采用最小GDOP遍歷法選取衛(wèi)星;方案三,采用BA選星算法選取衛(wèi)星;方案四,采用顧及信噪比的蝙蝠選星算法選取衛(wèi)星。 BJNM基準(zhǔn)站不同選星方案的耗時(shí)(文中耗時(shí)是指在Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40 GHz 2.39 GHz處理器下,matlab2014b程序運(yùn)行時(shí)間)見(jiàn)表2。 表2 BJNM基準(zhǔn)站00:05:00時(shí)刻不同方法選星耗時(shí) 由表2可知,方案四選星耗時(shí)最少、效率最高,方案三次之,方案二耗時(shí)最長(zhǎng)、效率低。 由表3、表4和表5可知,在BJNM基準(zhǔn)站的04:25:00時(shí)刻,方案三選星定位結(jié)果偏離參考值大于10 m,定位精度較差,與算法容易收斂過(guò)早,陷入局部極值的特點(diǎn)有關(guān)。與其他方案相比,方案四能較好地改善定位精度,剔除信號(hào)受干擾信噪比低的衛(wèi)星,不易受局部極值的影響,并且可選取幾何構(gòu)型較優(yōu)的衛(wèi)星組合進(jìn)行定位解算。 表3 ABMF基準(zhǔn)站各時(shí)刻選星定位精度 表4 BJNM基準(zhǔn)站各時(shí)刻選星定位精度 表5 BJFS基準(zhǔn)站各時(shí)刻選星定位精度 結(jié)合表1、表3、表4和表5,以BJNM基準(zhǔn)站為例,在L2載波信噪比小于36 dB,受干擾大的情況下,方案四的定位精度高,說(shuō)明該方法在衛(wèi)星信號(hào)受干擾時(shí),也能改善定位精度。 綜合四種方案的選星耗時(shí)和定位結(jié)果,方案四能提高選星效率,改善定位精度,減少計(jì)算負(fù)擔(dān),可用于實(shí)時(shí)導(dǎo)航定位。 根據(jù)衛(wèi)星信噪比和空間分布對(duì)定位精度的影響,用顧及信噪比的蝙蝠選星算法進(jìn)行選星分析。在選星耗時(shí)方面,該方法有效降低選星所用時(shí)間,保證選星定位的實(shí)時(shí)性。從定位結(jié)果上看,該方法可以對(duì)信號(hào)受干擾、定位偏差大的時(shí)刻進(jìn)行改正,改善了定位精度。與最小GDOP遍歷法相比,顧及信噪比的蝙蝠選星算法提高了選星效率,且整體的定位精度優(yōu)于最小GDOP遍歷法。要進(jìn)一步提高定位精度,在后續(xù)研究工作應(yīng)考慮除信噪比外的其他影響因素。 致謝 感謝東京海洋大學(xué)共享的RTKLIB開(kāi)源程序包,UNAV-CO Facility共享的TEQC公開(kāi)免費(fèi)軟件。3 實(shí)驗(yàn)分析
3.1 數(shù)據(jù)來(lái)源與分析
3.2 選星分析
4 結(jié)束語(yǔ)