作者:Andrew Brierley-Green, Maxim Integrated核心產品事業部資深工程師
現在,我們可以通過智能手機輕松確定位置和方向,如果回想古代探險家繞著圈子找路,尤其是在遠離陸地的海上時,就會感到現在的導航技術更加神奇。早期導航依賴于星座,然后利用六分儀測量緯度。到19世紀末期,天文鐘被廣泛用于天文觀測,以確定海上經度。衛星進入導航應用始于1964年,即Transit系統(稱為NAVSAT或NNSS)。現在,在20,000km高空地球軌道上運行的31顆衛星組成了美國的全球定位系統(GPS),為全球任何持有GPS接收機的人提供導航。
GPS系統的基本原理是衛星發射無線電信號,在地球或接近地球的位置接收。衛星在任何時刻的位置是已知的,根據衛星發射無線電信號的傳輸延遲,可計算出接收機距離每顆衛星的距離或“行程”。知道距離各個參考點(即衛星)的距離后,即可計算得到接收機的空間坐標。
圖1. 類似19世紀末期的航海天文鐘,當今的衛星導航系統幫助我們尋找道路
GPS系統包括三個部分:空間(衛星)、控制(地面站)和用戶(接收機)。空間部分是衛星星座。GPS核心星座為24顆衛星組成的基線,每顆衛星大約12小時繞地球一周。該系統有6個軌道平面,每個平面4顆衛星,以及軌道上的備用衛星。在控制部分,地面站負責監測衛星,收集其在軌道上的位置、衛星時鐘誤差以及大氣造成的信號延遲等信息。收集的信息被注入到衛星,然后再以導航消息的形式發送到地面接收機。
衛星為定位提供參考點,需要知道衛星在地球軌道上的準確位置。衛星繞地球運動的橢圓軌跡取決于地球引力。而由于月球和太陽的引力作用、太陽輻射壓力以及地球的不均勻密度等因素,存在一定的影響。在估算衛星位置時,為了獲得足夠精度,需要準確測量軌道攝動。
GNSS接收機確定三個空間坐標和接收機時鐘偏差。三邊測量定位技術利用圓和球面的幾何學,根據測得的與每顆可見(地平面以上)軌道衛星的距離,確定絕對和相對位置點。例如,如果計算得到與某顆衛星的距離為20,450Km,就知道接收機一定位于以該衛星為中心、半徑為20,450Km的球面上的某個位置。如果計算得到與第二顆衛星的距離為19,760Km,就知道接收機也一定位于以第二顆衛星為中心、半徑為19,760Km的球面上的某個位置。因此,由于兩個條件同時成立,接收機一定位于兩個球面的交匯處。根據幾何學,兩個球面的交點是一個圓,所以這就把接收機的位置限定在圓上的某個位置。將本例擴展到第三顆衛星,即可將位置限定在兩個圓的交點,即兩個點。如果其中一個點是無意義的,例如地球內部400Km,那么即可將其排除,接收機就必定位于另一個點。
衛星軌道可通過一組軌道參數表示。例如橢圓離心率就是其中一個參數。如果沒有隨機攝動,可根據軌道參數計算得到衛星任何時刻在軌道上的位置。表示軌道數據的通用術語是星歷。NAV包含星歷,以及獲得星歷數據時的時間(epoch)。地面監測站定期測量每個衛星的星歷,并將該數據注入到每顆衛星。每顆衛星在NAV中廣播其星歷數據和epoch。由于攝動的原因,軌道參數存在一定的不準確性。所以NAV包括其軌道攝動的修正因子。
每個衛星發射一個唯一的偽隨機噪聲(PRN)碼,隨機碼是一個重復的序列碼,重復周期足夠長,具有與真隨機序列類似的統計特性。憑借PRN碼,接收機就能夠將信號與衛星關聯起來。為簡單起見,假設接收機知道接收的是哪顆衛星的PRN,接收機即計算本地產生的PRN副本與接受到的PRN的自相關函數。通過重復移位本地隨機碼副本并計算自相關,接收機最終將找到最大相關系數1.0。為了解析從衛星接收的數據,接收機必須將本地隨機碼副本與接收到的隨機碼同步。一旦接收機知道必須將本地測距碼副本移多少位才能獲得與接收代碼的最大相關系數,也就知道了信號傳輸延遲(模1ms)。有一個“1%分辨率”經驗法則,說明實測延時的分辨率可達到1%。GPS L1 C/A碼是最常用的民用GPS信號,所有民用接收機都能解碼,PRN碼的碼片率為1.023 Mcps。相關處理支持測量延遲精度為1%碼片,對應于0.01/1.023x106 = 9.8 ns。在光速下,對應的距離精度為2.9m。
PRN碼的另一作用是擴頻調制。由于所有衛星都同時以相同的頻率發射信號,必須有一種方法防止這些信號彼此干擾。所選的PRN碼使任意兩個碼之間的互相關系數非常低。對于兩個不同的PRN碼,兩者之間的滯后為任意值時,將這兩個PRN碼相乘,并對結果進行積分,將產生一個非常小的值。
誤差源
計算與每顆衛星的距離時,只是將無線電波的傳輸延遲與自由空間傳播光速簡單相乘。然而,這并不能提供真正的距離,而只是給出一個的估算距離:“偽距”。例如,在信號從衛星到接收機的過程中,大部分時間通過的是自由空間,但也要通過地球的大氣層。相對于信號在自由空間的速度,信號在大氣層的速度將變慢,這就造成計算的距離存在誤差。為了產生精度足夠高的距離估算值,必須對這些誤差因素進行補償。
每顆GPS衛星都帶有精度非常高的原子鐘。所有衛星均同步到 “GPS時間”這一公共時基。然而,相對于GPS系統時間,原子鐘存在一定的漂移和偏移。由于距離測量基于時間測量,時鐘誤差將引起距離測量誤差。為了進行時間誤差修正,地面站監測衛星時鐘相對于GPS時間的誤差,計算修正項,并將其注入到衛星。隨后將在NAV廣播。接收機利用從衛星接收到的修正項,有效補償衛星時鐘相對于GPS時間的偏差。
另一項較大的誤差源是本地接收機時鐘偏差。然而,由于這種偏差是所有從可見衛星上接收的信號所共有,可以計算得到并進行補償。三個空間坐標和接收機時鐘偏差是接收機需要求解的4個變量。所以,準確定位要求至少4顆衛星。
電離層誤差來自自由電子的離子化等離子體和帶電原子(離子),范圍為海拔50至1000Km,由于太陽紫外線的原因,從原子剝離出電子。電離層隨每年季節、每天時辰以及在地球上位置的變化而變化。密度通常在中午前后較高,并且地球在其軌道中最接近太陽時也是如此。更復雜的是,電離層有多個層次,各層對信號的影響不同, 且各層在一天中也發生變化。如果某顆衛星靠近地平面,信號就必須通過更多的電離層,延遲進一步增大。充分利用載頻對無線電波延遲的影響,可解決這種較大的隨機變化延遲:頻率越高,延遲越小。從同一衛星接收的兩個載波信號將穿過相同的電離層,延遲不同。通過測量延遲差,即可計算得到絕對延遲。因此,多載波接收可以提供更高精度的電離層延遲測量,有效降低最大距離誤差源。地面控制網絡利用雙載波技術定期測量地球上不同地點的電離層延遲,將修正因子注入到衛星,然后在NAV消息中廣播到接收機。如果使用單載波接收機,則必須依賴于電離層模型,根據頻率修正電離層延遲。然而,這種方法的精度不是特別高,因為模型往往只每天更新一次,且最近的地面站可能在數千公里之外。
多徑干擾是另一需要解決的誤差源。理想情況下,無線電信號直接沿著從衛星到接收機的視線通路傳輸。但是,尤其對于接近地平線的衛星,信號很有可能受到障礙物的反射,例如建筑物和樹木。通過天線設計和使用遮蔽角等技術,可減輕多徑誤差。天線使用垂直接地天線防止接收到地面反射的信號。扼流圈天線可衰減地面反射的信號接觸到垂直接地天線邊緣時發生的表面波。遮蔽角忽略地平面上仰角小于某個角度(通常為15°)的衛星,因為此類衛星更容易受多徑干擾。
GNSS衛星由于其較高速度和高度的原因,如果不進行修正,這些影響會導致系統無法使用。在GPS接收機和智能手機普及之前,相對論一般并不影響我們的日常生活。根據愛因斯坦的狹義相對論,當運動參考坐標系接近光速時,時間變得越來越慢。將該理論應用到衛星,當衛星以相對于地球的時鐘高速運動時,衛星原子鐘比地球表面的靜止時鐘“嘀嗒”的慢。可利用洛倫茲變換計算時間延展:
式中:
v = 衛星速度= 4Km/sc = 光速= 2.998 x 108m/s
1/y = 相對時間膨脹= 10-10
所以,衛星時鐘比地面時鐘慢大約1010分之一。在一天中,這一差異累積達到7µs。現在,根據愛因斯坦的廣義相對論,重力會使時間延展,時鐘在較高重力變慢。將該理論應用到衛星,我們可以推測,由于衛星高度,其重力比地球表面時鐘重力小,所以其時鐘走的較快。計算這種影響的重力時間延展公式如下:
式中:
G = 萬有引力常數= 6.674 x 10-11 Nm2/Kg2M = 地球質量= 5.974 x 1024Kg
c = 光速= 2.998 x 108m/s
r = 地球質心到衛星的距離
1/y = 相對時間延展
如果我們通過近似來簡化方程并計算地球表面時鐘與GPS軌道時鐘的1/y之差,可得到下式:
式中:
REarth = 地球半徑= 6,357,000mRgps = GPS衛星軌道半徑= 20,184 x 103 + REarth = 26,541,000m
? = 衛星和地球上觀測者之間的時間延展差= 5.3 x 10-10
每天累積為45.85µs。衛星的速度致使衛星時鐘每天慢7µs,但重力使該時鐘每天快46µs,所以最終的結果是每天快38.6µs。
GPS衛星使用的基頻全部是10.23MHz,其它時鐘都據此獲得。例如,GPS L1 C/A碼率為該頻率的十分之一,即1.023MHz。
為補償時間延展,衛星上使用的基頻被調諧為10.229999995453MHz,而非10.23MHz。所以,從地球上觀測者的角度看,衛星時鐘的頻率恰好是10.23MHz。
偽距中存在一個有意為之的誤差源。最初,GPS衛星特意在發射粗碼(C/A)信號中增加時變誤差,以防敵人利用民用GPS接收機實現精確武器制導。這種特意降低性能的方法被稱為選擇可用性(SA)。SA誤差通常在水平方向為50m,垂直方向為100m。然而,由于SA誤差對某個地區的所有接收機具有相同的影響,如果我們利用GPS接收機和某個已知位置,就能夠估算出SA誤差,并將其發送給其它接收機。該技術稱為差分GPS,該技術的應用造成SA失效,所以SA政策于2000年取消。
高精度定位技術
差分GPS (DGPS)提供了一種實現更高定位精度的方法,這對于測繪、農業和無人駕駛汽車等需要精準定位的應用至關重要。典型民用GPS接收機在水平方向可達到2-5m定位精度,但以上所述應用要求亞米級精度。利用DGPS技術,位于已知固定位置的靜態參考點接收機計算每顆可見衛星的偽距,也計算定時誤差。通過某種渠道將定時誤差修正信息發送給附近的“漫游”接收機,后者可將修正信息作用到偽距計算。如果接收機位于參考點接收機的幾百公里范圍之內,參考接收機和漫游接收機接收的信號通過的大氣層相同,所以具有相同的延遲。所有公共誤差源都將被修正(多徑誤差除外,因為這些在接收機本地)。
基于載波的GPS是實現更高精度的另一途徑。該方法使用無線電載波的相位而非PRN碼來估算距離。利用1%精度經驗法則,實測載波相位的分辨率可達到1%。對于GPS L1 C/A碼,載頻為1575.42MHz,波長為19cm,測量分辨率為1.9mm。這種方法的精度如此之高,致使參考接收機的位置必須考慮地殼構造板塊的大陸漂移,為每年幾英寸。
為您的設計選擇最優的GNSS接收機
GNSS接收機通過處理衛星廣播信號,確定用戶位置、速度和準確時間(PVT)。如圖2所示,典型GNSS接收機由以下部分組成:
· 天線· 外部低噪聲放大器(LNA,可選),靠近天線位置的低噪聲放大
· SAW濾波器(可選),用于抑制干擾
· 溫補晶振(TCXO)
· RF前端IC,對GNSS信號進行放大、下變頻、濾波和采樣
· 基帶數字信號處理器(DSP),實時接收計算通常在FPGA實現。DSP輸出NAV位和信息,例如載波相位和碼相位。
· 基帶處理器子系統,負責執行所有的數學運算,計算導航參數、解析NAV消息以及應用修正
圖2. 典型GNSS接收機結構
截至目前,我們在本文中討論的是美國的GNSS。其它國家和地區開發的星群包括俄羅斯的GLONASS、歐盟的伽利略、中國北斗和印度IRNSS。每個星群都擁有自身的信號結構,使用不同的頻帶,當然有些是重疊的。表1所示為各種不同的衛星導航系統。
表1:全球衛星導航系統
在評估GNSS接收機時,確保首先考慮目標應用,這將影響您需要的功能以及性能、精度和功耗。例如,如果要求高精度定位,就需要支持多個頻率和多個星群的接收機。Maxim擁有經過長期驗證的GNSS技術,被多家世界頂級GNSS公司所采用。Maxim產品既包括GNSS RF前端IC,又包括GNSS LNA。例如,Maxim提供MAX2769——業界第一款可完全編程的通用GNSS接收器,單芯片即可支持GPS、GLONASS和伽利略系統。作為一次變頻、低中頻(IF) GNSS接收器,MAX2769集成單芯片濾波器,無需外部中頻濾波器,并提供低至1.4dB的總噪聲系數。也提供汽車級產品MAX2769B。MAX2769C單芯片通用GNSS接收器支持L1/E1、B1和G1波段,支持GPS、伽利略、北斗和GLONASS衛星系統。與MAX2769一樣,MAX2769C (圖3所示)也提供低至1.4dB的總噪聲系數,不需要外部IF濾波器。
為實施完整方案,MAX2769C可連接到MAX32631等運行GNSS基帶軟件的微控制器,實現軟件接收機。或者,將ADC采樣信號輸入到FPGA,在FPGA完成底層基帶處理,以實現高性能、基于硬件的方案。
圖3. MAX2769C框圖
總結
目前,越來越多的電子設備提供位置服務,幫助我們實現全球導航,也根據我們所在位置提供更有用的資源檢索。這些設備內部是復雜的GNSS技術,例如為我們提供需精確定位的接收IC。本文介紹了GNSS技術的歷史背景,并討論了需要修正的誤差、實現更高精度定位的技術,以及支持多頻段和多衛星系統的接收器IC。