王式太 張博宇 殷 敏
1 桂林理工大學(xué)測繪地理信息學(xué)院,桂林市雁山街319號,541006 2 廣西空間信息與測繪重點實驗室,桂林市雁山街319號,541006
陰影匹配算法的原理是以依據(jù)信噪比判定標(biāo)準(zhǔn)獲得的衛(wèi)星可見性為參考基準(zhǔn),對接收機在城市峽谷中的可能位置(搜索范圍)上依據(jù)已有的3D建筑模型和衛(wèi)星方位角、仰角等信息獲得的衛(wèi)星空間可見性進行評分,所有可能位置中評分(可見性匹配度)最高者作為接收機定位位置。傳統(tǒng)算法定位步驟為:
1)移動終端初始化定位。通過GNSS接收機獲取單點定位結(jié)果,得到精度較低的P0點位置信息,將P0點設(shè)為可能位置的搜索原點。
2)設(shè)定搜索區(qū)域。以P0點為中心設(shè)定搜索區(qū)域,通常情況下可設(shè)置為圓形或者矩形,搜索半徑可根據(jù)不同終端的定位精度設(shè)為10~50 m。
3)預(yù)測搜索區(qū)域內(nèi)每個候選位置的衛(wèi)星可見性。在每個候選位置上,通過衛(wèi)星坐標(biāo)和候選位置坐標(biāo)計算該時刻衛(wèi)星方位角和高度角,同時結(jié)合周圍建筑物三維模型判定該候選位置上的衛(wèi)星可見性。
4)依據(jù)信噪比判斷衛(wèi)星可見性。一般認為,接收機直接接收到衛(wèi)星信號時其SNR值較高,當(dāng)接收到經(jīng)過建筑物衍射和反射的衛(wèi)星信號時,SNR值會變低。設(shè)定固定的信噪比閾值作為判斷標(biāo)準(zhǔn),當(dāng)信噪比低于閾值時則判定衛(wèi)星不可見,否則為可見。
5)候選位置評分。對比步驟3)和4)評估衛(wèi)星可見度預(yù)測值與觀測值之間的匹配度,匹配較好的候選位置將被賦予更高的權(quán)重。利用評分方案,根據(jù)預(yù)測和觀測到的可見度,采用打分模板(圖1)對每顆衛(wèi)星進行打分。
圖1 打分模板示意圖
每個候選位置的總得分為:
(1)
式中,fpos(j)為侯選位置j的最終得分,fsat(i,j)為衛(wèi)星i在侯選位置j的得分,n為大于截止高度角的衛(wèi)星顆數(shù)。
對于我國來說,制定促進農(nóng)戶適應(yīng)新型農(nóng)業(yè)食品體系的政策是非常必要的。政策旨在解決農(nóng)戶參與超市供應(yīng)鏈時可能遇到的營銷壁壘,以及促進集體行動,從而盡可能地降低農(nóng)戶參與過程中的交易成本。
6)定位解算。由打分方案可知,在衛(wèi)星預(yù)測和觀測準(zhǔn)確的情況下,高分值所在的侯選位置更接近真實位置。高分侯選位置通常不止一個,則取坐標(biāo)均值作為陰影匹配的定位結(jié)果。
在實際運算過程中,傳統(tǒng)方法通過衛(wèi)星信噪比經(jīng)驗閾值來判定衛(wèi)星的可見性不夠準(zhǔn)確,因為同為可見或同為遮擋的不同衛(wèi)星,其SNR值由于信號穿過不同大氣/云層會存在差異,采用相同閾值可能會存在誤判。在高分值區(qū)域內(nèi),如果閾值設(shè)置正確,理論上當(dāng)搜索位置與實際觀測位置一致時,預(yù)測可見性與觀測可見性將完全一致,但實際上每個歷元的候選位置中通常不存在滿分位置。據(jù)此,本文提出在每個歷元中找到可使最優(yōu)區(qū)域產(chǎn)生滿分的一組動態(tài)閾值,閾值組隨時間繼承,直至因非滿分再進行局部閾值改變。動態(tài)閾值算法計算流程如圖2所示,具體步驟為:
圖2 動態(tài)閾值計算流程
1)設(shè)定初始閾值組為k(k1=k2=…=kn)(n為觀測到的衛(wèi)星個數(shù)),采用此閾值組進行該歷元衛(wèi)星觀測可見性判斷,與預(yù)測可見性對比獲得最高分區(qū)域。
2)在該歷元的最高分區(qū)域內(nèi)統(tǒng)計每個候選位置上預(yù)測可見性與觀測可見性不符的衛(wèi)星,設(shè)分差為d,全部不符衛(wèi)星數(shù)為m(m≥d),統(tǒng)計m顆衛(wèi)星在最高分區(qū)域內(nèi)的不符次數(shù)。
3)選擇不符衛(wèi)星中出現(xiàn)次數(shù)由高到低的前d顆衛(wèi)星。
4)依據(jù)衛(wèi)星預(yù)測可見性對d顆衛(wèi)星依次改進SNR閾值Si:
①依據(jù)幾何關(guān)系判斷為遮擋,SNR閾值判斷為不遮擋:
Si=SNRi+1
(2)
②依據(jù)幾何關(guān)系判斷為不遮擋,SNR閾值判斷為遮擋:
Si=SNRi-1
(3)
5)重新對搜索區(qū)域內(nèi)的候選位置進行打分,根據(jù)最高分區(qū)域計算改正后的點位,將閾值組傳入下一歷元。
本實驗采用某品牌智能手機作為接收機,同時使用RTK對實驗區(qū)周圍建筑物進行測量,包括建筑物各角點測量以及樓層高度測量,以此建立三維模型。實驗區(qū)為桂林理工大學(xué)雁山校區(qū)7A、7B、6B、6C四棟樓之間的過道,峽谷總長為130 m,寬度為16 m,進行靜態(tài)模式測量。
實驗中同時采用RTK測定坐標(biāo)。由于RTK獲得的坐標(biāo)精度遠高于手機定位的坐標(biāo)精度,因此將其作為分析實驗精度的參考值。數(shù)據(jù)采集時間為2020-05-10 14:13~14:36,采樣間隔為1 s。以3 s時刻采集的坐標(biāo)數(shù)據(jù)為例,以采集的坐標(biāo)為中心建立20 m×20 m矩陣搜索區(qū)域,候選區(qū)域邊長為0.5 m,共1 600個候選區(qū)域。
圖3為整個觀測過程中部分衛(wèi)星信噪比值變化,從圖中可以看出,衛(wèi)星信噪比值在每個歷元均會發(fā)生波動,不同衛(wèi)星信噪比所處區(qū)間具有較大差異。為避免采用單一閾值可能造成的衛(wèi)星可見性誤判,引入動態(tài)閾值來減弱該影響(圖4),對每顆衛(wèi)星在不同歷元均采用動態(tài)閾值后,閾值與相應(yīng)衛(wèi)星的信噪比區(qū)間能較好對應(yīng)。對于單顆衛(wèi)星,在SNR值波動較小的情況下閾值變化也非常穩(wěn)定。
圖3 衛(wèi)星信噪比值變化
圖4 衛(wèi)星動態(tài)閾值
根據(jù)文獻[7],基于高分值加權(quán)的改進陰影匹配定位算法研究中推薦使用38作為單閾值,本文所采集數(shù)據(jù)的信噪比值偏低,經(jīng)驗證后采用32作為單閾值。以3 s時刻為例,手機原始觀測接收到16顆衛(wèi)星的信號,每顆衛(wèi)星的信噪比值如圖5(a)所示,灰色標(biāo)記的衛(wèi)星為5°截止高度角過濾的衛(wèi)星,不參與匹配過程,紅色橫線為單閾值(32閾值),紅色部分為該時刻從上一時刻繼承及本時刻改進后的動態(tài)閾值。從圖中可以看出,采用動態(tài)閾值后在衛(wèi)星可見性判斷方面與單一閾值相比具有明顯差異,紅色字體衛(wèi)星為采用動態(tài)閾值后可見性發(fā)生變化的衛(wèi)星。圖5(b)為每個歷元采用單閾值和動態(tài)閾值判斷的衛(wèi)星可見性與SNR判斷一致的衛(wèi)星個數(shù)(得分)。
圖5 依據(jù)32閾值、動態(tài)閾值判斷第3 s衛(wèi)星可見性及與SNR判斷一致衛(wèi)星個數(shù)隨時間的變化
圖6為分別依據(jù)單一閾值法和動態(tài)閾值法進行陰影匹配計算后的得分,單一閾值法搜索區(qū)域中最高得分的位置較多,采用鄰近點KNN-SM算法確定的位置精度存在偏差。通過動態(tài)閾值處理后原高分區(qū)域內(nèi)出現(xiàn)分化,存在相對單一閾值的更高分區(qū)域,面積相對變小,計算的點位位置相對更加精確。圖中紅色“*”代表真實位置,紫色“○”代表動態(tài)閾值陰影匹配計算的位置,黑色“+”代表32閾值陰影匹配計算的位置。從圖中可以看出,動態(tài)閾值較32單閾值在匹配結(jié)果精度上具有明顯提升。通過對比可知,第3 s時刻動態(tài)閾值算法的改正值相較于32閾值在點位誤差上降低1.08 m,相比于原始觀測值降低8.37 m。如圖7所示,在第96 s時刻動態(tài)閾值改進后的點位誤差比32閾值SM算法降低3.46 m,定位精度具有較大提升。
圖6 32閾值和動態(tài)閾值下第3 s打分圖
圖7 第96 s動態(tài)閾值打分圖
對實驗中采用不同算法獲得的點位誤差進行分析發(fā)現(xiàn),動態(tài)閾值法相對于單閾值法(32閾值)和原始觀測值在過街方向上均有一定程度的改進(圖8),點位誤差也有一定程度改善(圖9)。然而,也存在部分位置的改進效果不理想甚至變差的情況,為該時段衛(wèi)星數(shù)較少所致。衛(wèi)星數(shù)越少,動態(tài)閾值所能改正的衛(wèi)星閾值越少,同樣單閾值時能使用的衛(wèi)星也就越少,導(dǎo)致誤差增大,改正效果不理想。
圖8 過街方向平均絕對誤差
圖9 點位誤差
從整體上看,動態(tài)閾值法(DTSM)相對于32閾值陰影匹配(SM)算法在計算精度上有所改進,動態(tài)閾值相比于固定閾值,點位平均絕對誤差(mean absolute error,MAE)降低約15.1%,均方根誤差(root mean square error,RMSE)降低約14.9%。在過街方向上,相對于固定閾值,動態(tài)閾值MAE降低約26.7%,RMSE降低約19.7%;相對于原始值,MAE降低約28.9%,RMSE降低約16.4%。
對原始觀測值進行卡爾曼濾波(KF)后再進行陰影匹配,采用動態(tài)閾值和32閾值計算的坐標(biāo)點如圖10所示,卡爾曼濾波后采用動態(tài)閾值陰影匹配(KF+DTSM)的RMSE為3.09 m,相比于卡爾曼濾波的4.09 m降低24.4%。圖11為不同方法的點位誤差,動態(tài)閾值相比于其他兩種方法更加穩(wěn)定,卡爾曼濾波的MAE為4.77 m,KF+32閾值SM的MAE為4.58 m,KF+DTSM的MAE為3.55 m。KF+DTSM相比于KF在誤差上降低1.22 m,精度提升25.6%;相比于KF+32閾值SM降低1.03 m,精度提升22.4%。實驗中不同算法的點位誤差統(tǒng)計見表1。
圖10 點位分布
圖11 加入卡爾曼濾波后的點位誤差對比
表1 不同算法點位誤差統(tǒng)計
陰影匹配算法對于城市峽谷中智能移動設(shè)備GNSS導(dǎo)航定位的精度具有一定提升,但采用單一閾值進行衛(wèi)星可見性判斷會增加部分衛(wèi)星誤判的可能。針對該問題,本文提出采用動態(tài)閾值法進行衛(wèi)星可見性判斷,在每個歷元中對基于衛(wèi)星幾何判斷可見性與信噪比判斷可見性進行一致性分析,采用動態(tài)閾值使一致性最大,從而改進陰影匹配算法的定位精度。實驗分析表明,相對于單一閾值法,動態(tài)閾值陰影匹配算法對于手機GNSS定位結(jié)果的改正效果更加明顯,點位精度更加穩(wěn)定。在實驗中也發(fā)現(xiàn),初始定位精度對算法的有效性具有較大影響,利用卡爾曼濾波處理后再進行動態(tài)閾值陰影匹配,初始定位精度會有明顯改進,原因可能為初始定位偏離真實值較大,搜索區(qū)域無法覆蓋到真實值,進而導(dǎo)致算法改進不理想。沿街方向由于直視信號較好,其定位更準(zhǔn)確,陰影匹配的改進效果不夠理想。