周文濤,劉 峰,劉 璞,高亞豪,何 偉
(北京自動化控制設(shè)備研究所,北京 100074)
測向交叉定位是通過多個來向矢量相互交叉實(shí)現(xiàn)對目標(biāo)的定位,只需要測量出信號來向即可,因此,該方法具有較強(qiáng)的抗欺騙性和抗干擾性,被廣泛應(yīng)用于無源被動定位領(lǐng)域[1-2]。2014年以來,以星鏈(Starlink)為代表的第二次低軌星座建設(shè)潮流迅速蔓延至全球,據(jù)不完全統(tǒng)計(jì),全球已經(jīng)提出了數(shù)十種低軌星座計(jì)劃,且這一數(shù)字不斷攀升。僅Starlink計(jì)劃建設(shè)的4.2萬顆衛(wèi)星,便已經(jīng)超過有史以來人類發(fā)射的所有低軌衛(wèi)星數(shù)量之和[3]。數(shù)量龐大的非合作低軌衛(wèi)星給衛(wèi)星定位帶來了新的發(fā)展機(jī)遇。
在得到非合作衛(wèi)星的位置信息后,可以通過獲取信號來向?qū)崿F(xiàn)定位[1]。非合作衛(wèi)星的位置信息可以通過簡化常規(guī)/深空擾動的近似解析解(SGP4/SDP4)模型和美國航空司令部發(fā)布的兩行根數(shù)(two-line element,TLE)文件獲取。SGP4模型適用于近地軌道計(jì)算,而SDP4是深空擾動的近似解析解模型,具有相對較高的中長期軌道預(yù)報(bào)精度。已有文獻(xiàn)表明,該模型對近地軌道的定軌精度為百米量級[4]。測向交叉定位的定位誤差會隨著信號接收機(jī)與發(fā)射機(jī)之間的距離增大而增大[2],因此盡量選擇軌道較低的低軌(low Earth orbit,LEO)衛(wèi)星[5-6]。
測向交叉定位主要分為兩種類型,一種是通過測量用戶發(fā)出的信號到已知位置基站的角度信息,在基站中計(jì)算用戶位置,至少需要2個基站才能通過交叉的方式進(jìn)行定位[7];另一種類型是自身定位,信號發(fā)射機(jī)位于已知位置點(diǎn)上,而用戶接收機(jī)位于待求位置點(diǎn)上,用戶接收到信號后,通過測量得到角度信息,在接收機(jī)中計(jì)算用戶位置,信號發(fā)射機(jī)同樣需要至少2個才能定位[8]。衛(wèi)星定位屬于自身定位,即一顆衛(wèi)星就是一個信號發(fā)射機(jī),用戶通過接收衛(wèi)星信號獲取導(dǎo)航觀測量進(jìn)行定位。但是兩種定位方式的原理類似,都是通過多個已知位置點(diǎn)到待求位置點(diǎn)的矢量交叉得到定位結(jié)果[9]。隨著目標(biāo)環(huán)境的日益復(fù)雜,國內(nèi)外針對測向交叉定位的研究一直在穩(wěn)步進(jìn)行,取得了豐厚的研究成果。R.G.Stansfield在1947年提出了基于測角的無源目標(biāo)跟蹤[10],后續(xù)諸多學(xué)者針對Stansfield算法進(jìn)行了改進(jìn),例如最大似然估計(jì)法[11]、最小二乘法[12]、離散概率密度法[13]及聚類法[14-15]等,但是Stansfield算法均是基于二維平面定位。將二維拓展到三維后,除了方位角外增加了俯仰角,但是二維的定位算法同樣也可以應(yīng)用于三維,可以通過方位角計(jì)算出目標(biāo)在水平面的投影位置,再通過俯仰角計(jì)算出目標(biāo)的三維位置。信號的間歇性輻射也會對定位產(chǎn)生較大的影響[16]。測向交叉定位算法必須基于同一笛卡爾坐標(biāo)系。在衛(wèi)星定位中,用戶接收到的衛(wèi)星信號的方位角與俯仰角是基于用戶當(dāng)?shù)卣拘淖鴺?biāo)系,而衛(wèi)星通過星歷或者歷書等參數(shù)解出來的位置是基于地心地固(Earth-centered Earth-fixed,ECEF)坐標(biāo)系。文獻(xiàn)[17]直接通過坐標(biāo)轉(zhuǎn)換將衛(wèi)星站心坐標(biāo)系轉(zhuǎn)換為ECEF坐標(biāo)系,但是需要知道衛(wèi)星的姿態(tài)角,實(shí)際定位過程中不知道接收機(jī)的姿態(tài)角。文獻(xiàn)[18]采用牛頓迭代處理,需要將坐標(biāo)方程進(jìn)行轉(zhuǎn)換,將測向方程的迭代處理中間結(jié)果轉(zhuǎn)換到ECEF坐標(biāo)系中,但是未考慮俯仰角的定位方程,從而將目標(biāo)高度設(shè)為定值。本文提出了一種迭代測向交叉定位的方法用于解決坐標(biāo)系不一致的問題,并通過仿真驗(yàn)證了算法的可行性。
本文的結(jié)構(gòu)如下:首先介紹了利用方位角與俯仰角進(jìn)行三維最小二乘測向交叉定位的基本原理;針對角度信息與衛(wèi)星位置基于不同坐標(biāo)系的問題,提出了一種基于迭代方法的最小二乘測向交叉定位算法;通過仿真分析,評估了測角精度、衛(wèi)星軌道高度和定位衛(wèi)星數(shù)對定位誤差的影響;最后評估了不同收斂條件下迭代次數(shù)和定位誤差的變化。
傳統(tǒng)測向交叉定位也被稱為到達(dá)角(angle of arrival,AOA)方法,其原理是通過測量用戶接收到2個或2個以上已知位置的發(fā)射機(jī)發(fā)射信號的方向矢量,方向矢量之間相互交叉即可得到用戶的位置。
圖1 衛(wèi)星定位中的方位角與俯仰角Fig.1 Azimuth and pitch angle in satellite positioning
每個方位角和俯仰角均可以表示為發(fā)射機(jī)位置和用戶位置的函數(shù)
(1)
當(dāng)發(fā)射機(jī)只有2個時(shí),可以通過角度關(guān)系和正余弦定理解算出用戶位置;當(dāng)發(fā)射機(jī)大于2個時(shí),可以通過最小二乘的方式解出位置信息。下面描述使用最小二乘的方法解用戶位置的具體過程。
(2)
其中,方位角量測矩陣Hφ和俯仰角量測矩陣Hθ分別為
(3)
(4)
其中
(5)
每迭代一次,式(2)就將(xC-,yC-,zC-)的值重置為上一次的迭代結(jié)果(xC+,yC+,zC+),直至結(jié)果收斂。
對于傳統(tǒng)測向交叉定位,發(fā)射機(jī)與用戶必須處于同一坐標(biāo)系下。對于非合作低軌衛(wèi)星定位而言,根據(jù)TLE文件解析出的衛(wèi)星位置是以ECEF坐標(biāo)系為基準(zhǔn),而用戶接收到的衛(wèi)星信號的方位角與俯仰角是基于用戶當(dāng)?shù)卣拘淖鴺?biāo)系(本文后續(xù)的站心坐標(biāo)系均為東北天坐標(biāo)系)。站心坐標(biāo)系與ECEF坐標(biāo)系的轉(zhuǎn)換需要已知用戶當(dāng)?shù)氐慕?jīng)緯度,因此,不能直接將傳統(tǒng)測向交叉定位應(yīng)用于衛(wèi)星定位,可以通過迭代的方式得到用戶位置,如圖2所示。
圖2 迭代測向交叉定位Fig.2 Iterative direction finding and cross positioning
(6)
首先假設(shè)用戶初始緯經(jīng)高坐標(biāo)為(B-,L-,H-),則可以得到該初始位置下ECEF坐標(biāo)系與東北天坐標(biāo)系之間的轉(zhuǎn)換矩陣
(7)
(8)
(9)
為了驗(yàn)證所提算法的可行性做出了如下仿真。仿真采用的星座為下一代銥星(Iridium-NEXT)星座。在計(jì)算衛(wèi)星位置時(shí)加入了隨機(jī)500 m的誤差。對于低軌衛(wèi)星,信號傳播延遲經(jīng)過計(jì)算,其量級為幾十米,相較于衛(wèi)星軌道誤差對定位誤差的影響較小。考慮信號傳播延遲,需要重復(fù)迭代計(jì)算衛(wèi)星位置,計(jì)算量較大,因此仿真時(shí)未考慮信號傳播延遲。仿真時(shí)也未考慮本地鐘差和大氣延遲等誤差。假定用戶位置處于北緯39°,東經(jīng)116°,高度90 m,迭代初值設(shè)置為緯度0°,經(jīng)度0°,高度0 m,最終收斂至1 m以內(nèi)停止迭代。首先仿真某時(shí)刻銥星星座下的真實(shí)方位角和俯仰角,衛(wèi)星天頂圖如圖3(a)所示。針對仿真得到的實(shí)際方位角和俯仰角加入隨機(jī)測角誤差,得到測角精度和定位誤差之間的關(guān)系如圖3(b)所示。圖中橙線表示某次測角精度下的定位誤差,藍(lán)線表示某測角精度下定位誤差的克拉美羅下界(Cramer-Rao lower bound,CRLB)??梢钥闯?隨著測角誤差越來越大,定位誤差也隨之增大,而且定位誤差振蕩越來越劇烈。測向交叉定位對于測角誤差較為敏感。
(a)
(b)圖3 測角精度對定位誤差影響Fig.3 Influence of angle measuring accuracy on positioning error
為了得出衛(wèi)星軌道高度與定位誤差的關(guān)系,進(jìn)行如下仿真。仿真5顆衛(wèi)星的位置信息,其中軌道高度從120 km一直上升到360 km。測角誤差設(shè)定為0.5°。最終得到衛(wèi)星軌道高度與定位誤差之間的關(guān)系,如圖4所示。由圖4可以看出,隨著衛(wèi)星軌道高度的增加,定位誤差不斷增大。低軌衛(wèi)星不論軌道高度如何低,距離地面也有上百千米,定位誤差會由于距離的原因被放大,軌道高度越高,定位誤差越大。
圖4 衛(wèi)星軌道高度對定位誤差影響Fig.4 Influence of satellite orbit height on positioning error
為了得出衛(wèi)星數(shù)目與定位誤差的關(guān)系,進(jìn)行如下仿真。先仿真3顆衛(wèi)星的位置信息,測角誤差設(shè)定為0.5°。通過迭代測向交叉得到最終定位誤差。然后在3顆衛(wèi)星的基礎(chǔ)上依次增加1顆衛(wèi)星,每次增加的衛(wèi)星不改變之前已有的衛(wèi)星位置。表1統(tǒng)計(jì)了不同衛(wèi)星數(shù)目下定位誤差的均值。由結(jié)果可以看出,隨著衛(wèi)星數(shù)目的增加,定位誤差會逐漸降低。
表1 不同衛(wèi)星數(shù)下定位誤差均值統(tǒng)計(jì)Tab.1 Statistics of average positioning error under different number of satellites
由于該算法使用迭代的方式進(jìn)行運(yùn)算,加上迭代的過程中涉及大量的三角函數(shù)運(yùn)算和矩陣求逆運(yùn)算,每迭代一次都要進(jìn)行一次最小二乘解算,算法的運(yùn)行時(shí)間受迭代次數(shù)的影響較大,因此需要合理地選取最終迭代收斂條件,以平衡算法運(yùn)行時(shí)間與定位誤差之間的關(guān)系。因此進(jìn)行如下仿真。仿真繼續(xù)采用Iridium-NEXT星座某一時(shí)刻的衛(wèi)星位置作為基準(zhǔn)。假定用戶位置處于北緯39°,東經(jīng)116°,高度90 m,迭代初值設(shè)置為緯度0°,經(jīng)度0°,高度0 m。測角誤差設(shè)定為0.1°和0.5°。連續(xù)進(jìn)行1 000次迭代測向交叉仿真,每次迭代測向交叉增加迭代收斂范圍。最終得到圖5所示的仿真結(jié)果,展示了不同收斂范圍下的迭代次數(shù)和定位誤差的變化曲線。測角精度為0.1°時(shí),當(dāng)收斂條件增加到8 km后,迭代次數(shù)維持在5次以下;但是當(dāng)收斂條件增加到大約30 km后,定位誤差開始明顯增大;收斂條件在30 km以內(nèi)時(shí),定位誤差的變化不明顯。當(dāng)測角精度為0.5°,迭代次數(shù)相較于測角精度為0.1°,變化不明顯,但是定位誤差沒有后者變化明顯。因此,在選取迭代的收斂條件時(shí),可以綜合考慮迭代次數(shù)和定位誤差、測角精度之間的關(guān)系,將收斂范圍設(shè)置為8~30 km之間。
圖5 不同收斂條件下迭代次數(shù)與定位誤差關(guān)系Fig.5 Relationship between number of iterations and positioning error under different convergence conditions
本文針對用戶接收到的衛(wèi)星信號的角度信息與衛(wèi)星位置二者之間采用不同坐標(biāo)系的情況,提出了一種新的迭代測向交叉定位算法。首先假設(shè)一個用戶位置作為迭代初值,將用戶得到的東北天坐標(biāo)系下方位角與俯仰角轉(zhuǎn)化為ECEF坐標(biāo)系下的單位矢量,再通過最小二乘的方式得到本次迭代的定位結(jié)果,然后將定位結(jié)果重新帶回迭代初值,通過迭代的方式得到最終定位結(jié)果。通過仿真分析,考慮了測角精度、衛(wèi)星軌道高度和定位衛(wèi)星數(shù)對迭代測向交叉定位的影響,并分析了不同收斂條件下迭代次數(shù)和定位誤差的變化關(guān)系。
1)測向交叉定位對測角精度敏感,提高測角精度依然是后續(xù)發(fā)展的主要方向;
2)衛(wèi)星軌道高度越高,定位誤差越大,因此盡量選擇軌道較低的衛(wèi)星,可以提高定位精度;
3)迭代過程計(jì)算量大,需要根據(jù)測角精度和定位誤差合理選擇迭代收斂條件,降低運(yùn)算量。
本文的研究內(nèi)容可以為后續(xù)非合作低軌衛(wèi)星測向交叉定位提供初步的理論指導(dǎo),也可以進(jìn)一步推廣到不同坐標(biāo)系下測向交叉定位算法的應(yīng)用。