關於衛星定位,你想知道的一切

amap_tech發表於2020-10-30

5G和北斗,是國之重器。北斗作為衛星定位系統,目前在國際上已處於領先地位,而且已經滲透到我們工作和生活的方方面面。本文將簡要介紹衛星定位的原理和應用情況,方便大家對北斗、衛星定位有更多的瞭解。

衛星定位的原理

衛星定位系統的英文是Global Navigation Satellite System(GNSS),雖然直接翻譯過來是導航衛星系統,但它真正提供的能力是定位,能定位後,導航就變得相對簡單了。衛星定位的原理,是利用衛星播發時間訊號,當裝置接收到後,可以根據訊號發射時間和本地時間,計算出訊號傳輸時間,再結合光速獲得衛星-裝置距離。

關於衛星定位,你想知道的一切

有了多顆衛星的訊號,可以列出一組方程,求解4個未知數:裝置的三維座標x/y/z,以及本地時間與GNSS系統的時間差。

式中的代表衛星j的三維座標,這個座標可以通過衛星星曆計算獲得。

關於衛星定位,你想知道的一切

星曆是描述衛星執行軌道的一組引數,衛星軌道是一個橢圓,通過幾個引數和時間,可以唯一確定衛星的準確位置。

星曆的獲取有兩種方式,一種是衛星直接播發,這種方式的好處是定位過程不依賴衛星訊號以外的任何輸入,即使沒有網路也可以定位成功,但問題是衛星鏈路頻寬很小,要下載完整星曆,需要30秒左右的時間,早期的手機和一些車載裝置定位過程很慢,就是由於這個原因。

另一種方式,是通過網際網路播發,這種方式叫A-GNSS,具體的傳輸協議叫SUPL(Secure User Plane Location),這種資料一般不對應用層透出,在手機上,作業系統會在底層定時請求SUPL資料,然後將獲得的星曆注入GNSS晶片。有了A-GNSS,裝置就可以在秒級獲得定位,不需要任何等待過程,目前所有的手機都支援這種方式。A-GNSS的服務提供商,主要是通訊運營商,以及一些定位服務商,比如谷歌、千尋等。

衛星不間斷的向地面廣播訊號,這個訊號主要包括以下資訊:

  • 衛星編號。用於從星曆中查詢衛星軌道,再結合時間戳獲得當前衛星位置

  • 當前時間戳。用於獲得衛星位置,另一方面計算偽距。偽距是(本地時間-訊號發射時間)*光速,之所以叫偽距,是因為本地時間與衛星時間不同步,所以這個距離並不是真正的裝置-衛星距離。

  • 星曆資料。用於計算衛星位置。

像其他所有的通訊技術一樣,這些資訊也是以報文的形式傳送的,以GPS為例,衛星會每隔6秒發出一個包,而這個包會分解為資料位-CA碼序列-載波波形,通過天線發射到地面。地面裝置持續鎖定衛星,在解算時,計算每顆衛星當前時刻的時間戳(用最近一次收到的時間戳加上報文偏移量),然後進行位置解算。

關於衛星定位,你想知道的一切

載波的頻率是1.5G左右,波長20釐米左右,比行動通訊的波長稍長一些,所以訊號的穿透性還是比較好的(波長越長,越容易繞開障礙物),可以穿透比較薄的牆壁或屋頂,所以在一些情況下即使無法直接看到天空,也是能定位的。但是衛星訊號是從上往下,在室內很難穿越多層建築。

衛星定位的另一個特點是可以解算出速度,其依據是多普勒頻移原理(與交警用的測速儀原理一樣)。當訊號源與接收裝置存在相對運動時,接收到的訊號頻率會發生變化。

關於衛星定位,你想知道的一切

頻率變化量與相對速度存在如下公式:

關於衛星定位,你想知道的一切

其中,公式左邊是頻差和波長,v是裝置運動速度(向量),vj是衛星運動速度(向量),1j是衛星的投影方向,dt'是本地裝置的頻漂速度。只要測量了4顆星的頻差,就可以解出本地裝置的運動速度(與裝置姿態無關)。

除了定位和測速,定位衛星還可以完成全球授時(解算過程中獲得本地鐘差),這也是目前成本最低的高精度授時方法,比絕大部分裝置自帶的時鐘都要準確。

一般而言,偽距測量值精度不如頻率測量精度高(偽距定位精度在10米左右,而多普勒定速精度可以達到0.2米/秒以內,授時精度在20ns),原因是偽距測量容易受到多種路徑誤差影響(後面會介紹),而頻率測量的干擾因素少很多。

衛星定位發展歷程

最早的衛星定位系統,是美國在1960年代開發的子午儀系統,後續在70年代開發出了GPS定位系統,目前的GPS系統由24顆衛星構成。除了GPS,世界多國也開發出了自己的衛星定位系統,主要的有中國的北斗系統、歐盟的伽利略系統、俄羅斯的格洛納茲系統,此外日本和印度在開發區域定位系統。

 

關於衛星定位,你想知道的一切

除了天上的衛星,各定位系統還需要地面站對衛星的執行進行監測,包括健康度、軌道引數(計算完成後要注入衛星實現全球播發)、訊號質量等,另外還需要對衛星進行控制。

 

各種衛星定位系統使用的技術類似,大多采用中軌道衛星(MEO,衛星高度2萬公里),少數採用了地球同步軌道(GEO,衛星高度4萬公里)和地球傾斜同步軌道(IGSO)。同時,訊號播發大多采用CDMA技術,實現在同一個頻率上傳輸多顆衛星的訊號。為了讓地面裝置能夠較好的接收來自幾萬公里外的訊號,訊號的資料速率都比較低,比如GPS L1頻段的資料傳輸速率只有50位元組/s,根據夏農定理,C=B*log2(1+S/N), 在頻率頻寬B固定的情況下,隨著傳輸速率C的降低,接收端在訊雜比(S/N)比較低的時候也可以解出正確的訊號,有利於持續的鎖定、跟蹤衛星訊號。

與其他定位系統相比,北斗的特點主要有:

  • 亞太地區覆蓋好。北斗系統由3顆地球同步衛星、3顆地球傾斜軌道同步衛星和24顆中軌道衛星構成,與GPS相比,北斗有6顆星持續覆蓋亞太地區,極大提升了亞太地區可見衛星的顆數,一方面提高定位成功率,另一方面也能提升精度(改善了GDOP,減少了誤差)。

  • 北斗的同步衛星可用來進行通訊,地面裝置可以將短報文傳送到衛星(只用GEO衛星支援短報文)上,然後轉發給目標終端,這種通訊是免費的,但是需要專門的天線和裝置(需要將訊號發射到4萬公里遠的地方,普通手機肯定是不行的)。 

關於衛星定位,你想知道的一切

 

多個衛星定位系統的訊號同時被收到時,所有的衛星可以一同參與解算(每增加一個系統,只需增加一個新的引數,即這個系統相對於GPS系統的時間差),使得定位精度可以獲得提升。目前手機上無法選擇參與定位的星座或者衛星,所以我們無法指定只用北斗或者不用GPS定位。

我們對比了手機端GNSS定位時,使用不同系統的佔比,可以看出GPS和格洛納茲由於發展的比較早,在手機晶片側的滲透率比較高,因此被使用的比例也最高,其次就是北斗。

關於衛星定位,你想知道的一切

按參與定位的衛星顆數統計,北斗排在第二位,僅次於GPS。 

關於衛星定位,你想知道的一切

因為各系統技術類似,其定位精度也是類似的,北斗也不例外,水平定位誤差一般在10米以內。垂直定位精度一般會差一些,主要是由於衛星都分佈在裝置的一側,垂直方向上的誤差難以修正。

衛星定位接收機構成

關於衛星定位,你想知道的一切

衛星定位接收機的原理圖如上圖所示,主要的模組包括:

1. 天線

用於接收衛星訊號。由於衛星訊號微弱,天線當然是越大越好,但是由於接收機需要移動,天線尺寸受到制約。天線的主要作用是放大訊號和抑制多徑,主要的型別有以下幾種

關於衛星定位,你想知道的一切

左邊的是比較常見的天線,內部是陶瓷天線,外部帶磁鐵,可以吸附在車頂;中間的是專業天線,旁邊帶扼流圈,可以抑制來自四周和地面反射的訊號,只接收從天頂方向來的訊號,這種天線的效果最好,一般用於專業研究和高精測繪;右側是手機天線,長度只有幾釐米,效果最差。

衛星訊號的電磁波是圓極化的(傳播時在垂直於傳播方向的一個平面上波動),因此,採用圓極化天線(如平面的陶瓷天線)接收效果最好。但手機上天線尺寸太小,只能採用線極化天線,訊號捕獲能力大幅下降,再加上缺乏訊號遮蔽(扼流圈),極易受到多徑效應以及其他訊號干擾。 

2. 射頻前端

這個模組主要是將原始訊號進行下變頻、功率放大以及濾波,提取真正有用的訊號,便於解碼處理。

3. 基帶處理

這個模組是對衛星訊號進行解碼,獲得衛星報文。每顆衛星的訊號需要一個單獨的通道進行處理,如果有100顆衛星,2個頻段,那可能需要200個通道才能有效處理這些資訊。通道數越多,可以獲得的衛星觀測值也就越豐富,定位精度也就越高。

 解碼的過程,分為搜尋-鎖定-跟蹤三步,首先生成每顆衛星的偽碼,然後與訊號進行自相關操作,相關度達到一定程度就可以鎖定衛星,然後進行碼鎖定、位同步、幀同步,最終提取出報文。這個過程要持續進行,因為多普勒效應,訊號的頻率會不斷變化,所以本地生成的偽碼也要不斷變換頻率去適配衛星的變化。一旦失去鎖定,就會丟失訊號,也就無法定位了。

4. PVT解算

PVT包括Position,Velocity和Time。這一步是真正進行定位的步驟,是利用基帶解碼獲得的報文,提取出時間戳、星曆等資訊,代入公式進行計算,然後將計算結果輸出給應用程式。

定位誤差來源與精度提升

衛星定位雖然已經很準確了,但是在某些場景下,還是無法滿足需求,比如,叫車的時候定位點離車輛有一定距離、步導的時候難以區分方向甚至會定位到馬路對面、靜止的時候定位點總數飄來飄去、室內的時候定位點亂飄。這需要從衛星訊號的發射、傳輸、接收過程來解釋。

關於衛星定位,你想知道的一切

衛星訊號從發射到被裝置接收,需要經過大氣層,其中,大氣電離層有數千公里厚,這部分大氣非常稀薄,但是存在大量被電離的電子,這部分電子會讓電磁波變慢一點,從而產生延遲。在對流層,也會產生一定的延遲。在地表附近,由於各種建築、山體、水面的影響,衛星訊號可能被反射或折射(多徑效應),產生延遲。

在衛星訊號發射側和接收側,也有很多系統相關的誤差,比如時鐘偏差、處理延遲等,這些延遲加上傳輸延遲,使得衛星訊號的傳輸時間,並不是準確的等於物理距離/光速,另一方面,衛星的星曆也有誤差,衛星位置和真實位置存在偏差,最終造成了定位結果產生偏差。

要提升定位精度,需要想辦法消除這些誤差,主要有以下幾種方案。

雙頻GNSS

不同頻率的電磁波通過電離層時會有不同的延遲,人們發現,對兩個或多個頻率的觀測值進行線性組合,可以消除電離層誤差,從而能提升精度。這就是雙頻GNSS定位的原理。小米8是業界第一款支援雙頻GNSS定位的手機,後續各大廠商均進行了跟進,一些高階手機均採用雙頻定位。消除電離層誤差後,定位精度可以提升到5米以內。

地基/星基增強

星曆誤差、衛星時鐘誤差、甚至是電離層和對流層誤差都是可以觀測或建模的,一旦計算出了實時的誤差值,就可以通過一個單獨的通道進行播發,接收裝置在定位過程中使用這些修正項,就可以提升定位精度。播發的通道一般有兩種,一種是直接通過衛星播發,稱為SBAS(Satellite-Based Augmentation System),好處是覆蓋廣,但裝置需要增加額外的訊號接收通道;另一種是地基增強,比如通過網際網路,這需要裝置具備聯網能力。

這些增強方式對於精度提升是有限的,還是有很多誤差項無法消除,比如電離層誤差。

高精定位-差分定位(RTK)

RTK是Real - time kinematic的縮寫,是一種差分定位。其原理是利用一個參考站提供基準觀測值,然後用裝置的觀測值與基準站的觀測值進行差分,差分後可以消掉星曆誤差、衛星鐘差、電離層誤差,再進行星間差分後可以進一步消除掉裝置的鐘差,最終可以算出裝置相對基準站的相對座標,如果基準站位置已知,就可以完成準確的絕對座標,精度可以達到釐米級甚至毫米級。

RTK能提升精度的另一個原因是引入了載波相位觀測,相比偽距觀測值,載波相位觀測值的誤差更小。

使用RTK,需要在附近20km內有參考站(距離太遠,電離層誤差不一樣,做差分無法完全消除誤差),同時需要持續不斷的獲得參考站的觀測資料(一般通過網際網路傳輸,使用RTCM協議),因此相對普通的定位,RTK定位成本較高,但對於一些對精度要求很高的場景,比如車道級定位、自動駕駛等,是必不可少的。

RTK服務一般由專業服務商提供,如千尋、六分,這些服務商在全國範圍內部署了數千個基準站,持續對訂閱使用者播發資料。

高精定位-精密單點定位(PPP)

RTK需要佈設密集的參考站,有沒有辦法不依賴參考站?PPP(precise point positioning)就是一種方法,它的原理是對每一種誤差進行準確建模,最終求解出衛星和裝置之間的準確距離。為了確定準確的誤差,PPP定位時需要不斷的迭代內部引數,而且,一些衛星的誤差只有當衛星位置變化後才能體現出來,所以PPP需要比較長的收斂時間,一般需要30分鐘才能收斂到理想的精度,如何更快的收斂是目前學術界的一個研究熱點。

組合定位

衛星定位的一個最大問題,就是丟失衛星訊號後如何定位,這就需要其他定位方式來補充。組合定位是利用衛星訊號和其他定位技術,比如慣性導航,來完成定位,二者相互配合。最簡單的一個例子,就是衛星定位是有一個最高頻率的,一般最多是10Hz,在兩次定位之間,可用慣導來進行位置推算,獲得更高頻率的位置輸出。而組合導航最重要的作用,是提升精度,比如,利用卡爾曼濾波方法,用慣導計算推算位置,用衛星定位提供觀測量,對推算位置進行修正,這可以讓定位結果更加平滑,而且可以對異常的衛星觀測量進行過濾或降權。

手機上的衛星定位

在移動網際網路出現以前,衛星定位終端是一個很專業的領域,只有測繪、軍事等領域會應用這種技術,定位需要使用專用的接收機,比如Trimble、ublox等。隨著智慧手機將衛星定位晶片整合,衛星定位的應用得到爆發式增長,終端數量一下子提升到幾十億量級,也產生了海量的位置資料。

手機上的衛星定位與專業接收機,還是存在比較大的差異,主要體現在:

  • 手機受限於尺寸,天線比較小,對原始訊號的捕獲、鎖定、去噪能力都比較差,造成接收到的訊號質量天然不如專業接收機。

  • 手機上晶片成本比較低,支援的通道數比較有限,一次定位能夠解碼的衛星數量和系統數量都比較少,主要是單頻,少數是雙頻,沒有三頻。 

  • 手機上對功耗、效能開銷的要求比較高,不能花費大量資源在定位上,解算演算法的複雜度比較低,效果也比較有限,精度比較差。

蘋果手機

蘋果手機的定位能力是完全封閉的,對外只透出定位結果,外部基本無法拿到任何定位相關的原始觀測量,比如衛星數量、型別等。好訊息是,iPhone12終於開始支援北斗了。從蘋果的API上,外界甚至無法區分定位結果到底是來自衛星定位還是網路定位(目前僅能通過速度的符號來判斷,但蘋果對此沒有任何承諾)。所以,基於蘋果手機,我們基本無法做出優化,蘋果手機上高德地圖的定位點都是iOS底層直接提供的。

安卓手機

安卓手機比蘋果手機開放的多,在定位能力方面提供了一系列API:

  • 可以單獨獲取衛星定位結果或網路定位結果,也可以同時進行兩種定位。 

  • 提供了NMEA格式(一種衛星定位結果的規範化表達)的結果資料,可以獲取每顆衛星的ID、型別、訊號強度,以及xDOP等細粒度的誤差描述。

  • 提供了GnssStatus來描述每顆衛星的狀態,內容比NMEA更全面。

  • 提供了GnssMeasurement來描述原始觀測量,包括偽距測量值、載波相位測量值、衛星鎖定狀態等。

  • 提供了GnssClock描述本地時鐘的狀態。

  • 提供了GnssNavigation透出最原始的未解碼報文。

有了這些資訊,通過一些App就可以實時看到當前的衛星狀態,例如Androits gps test, GPStest等

關於衛星定位,你想知道的一切

另外,我們還可以進行衛星定位的軟解算,對衛星定位結果進行修正,甚至替代。我們主要嘗試解決兩類問題:

  • 定位不準:對衛星定位結果進行質量判斷,識別其中的大誤差點,優化精度,或者優化精度半徑,使下游使用定位點的時候,能夠差異化的處理。

關於衛星定位,你想知道的一切

定位不準的原因,主要是來自衛星訊號中含有誤差,而影響最嚴重,也是最難抑制的,就是多徑造成的影響。

另一類定位不準的問題,是系統將其他定位結果偽造為衛星定位結果。比如,將網路點冒充為衛星定位點。

  • 無法定位:系統不輸出定位結果時,嘗試進行軟體解算。 

無法定位最主要的原因,是訊號接收條件不好,比如室內遮擋、高架遮擋、高樓遮擋。在開闊地帶無法定位,一般是裝置Bug,重啟裝置後一般都能解決。

衛星定位未來展望

隨著移動使用者量持續增長,以及物聯網的大範圍普及,衛星定位技術還會持續快速發展。

在衛星側,將出現低軌定位衛星(距地面幾百公里)。傳統上的定位衛星由於要覆蓋較大的地理範圍,高度一般都比較高,執行在中軌軌道上。隨著火箭發射技術的革命,衛星發射成本急劇下降,向太空發射大批量低成本衛星的方案成為可能。比如spacex已經發射了上千顆“星鏈”衛星。

低軌衛星進行定位有幾個好處:

  • 距離近,訊號更強,裝置側接收到的衛星訊號更好。

  • 可以傳輸更多的資料,比如各種修正資料。

  • 位於電離層底部,電離層誤差小。

  • 衛星仰角變化快,PPP定位可以更快收斂。

在裝置側,高精定位將大範圍普及,華為P40是首個支援RTK的智慧手機,可以做到0.5米的精度。高通也即將釋出支援RTK的移動晶片,在2021年上半年,更多支援RTK的智慧手機將會上市。

在應用側,高精定位的應用場景會不斷湧現,現在的一些典型應用場景包括:

  • 傳統測繪 

  • 精準農業,機械化自動化種植和收割

  • 車道級導航和自動駕駛

  • 共享單車的精準停放

  • 無人機導航

參考資料

北斗官方網站 http://www.beidou.gov.cn/

GPS官方網站 https://www.gps.gov/

伽利略官方網站 https://www.gsa.europa.eu/

相關文章