天天看點

GPS 0183協定GGA、GLL、GSA、GSV、RMC、VTG解釋

GPS 0183協定GGA、GLL、GSA、GSV、RMC、VTG解釋:

$GPGGA

例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F

字段0:$GPGGA,語句ID,表明該語句為Global Positioning System Fix Data(GGA)GPS定位資訊

字段1:UTC 時間,hhmmss.sss,時分秒格式

字段2:緯度ddmm.mmmm,度分格式(前導位數不足則補0)

字段3:緯度N(北緯)或S(南緯)

字段4:經度dddmm.mmmm,度分格式(前導位數不足則補0)

字段5:經度E(東經)或W(西經)

字段6:GPS狀态,0=未定位,1=非差分定位,2=差分定位,3=無效PPS,6=正在估算

字段7:正在使用的衛星數量(00 - 12)(前導位數不足則補0)

字段8:HDOP水準精度因子(0.5 - 99.9)

字段9:海拔高度(-9999.9 - 99999.9)

字段10:地球橢球面相對大地水準面的高度

字段11:差分時間(從最近一次接收到差分信号開始的秒數,如果不是差分定位将為空)

字段12:差分站ID号0000 - 1023(前導位數不足則補0,如果不是差分定位将為空)

字段13:校驗值

$GPGLL

例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D

字段0:$GPGLL,語句ID,表明該語句為Geographic Position(GLL)地理定位資訊

字段1:緯度ddmm.mmmm,度分格式(前導位數不足則補0)

字段2:緯度N(北緯)或S(南緯)

字段3:經度dddmm.mmmm,度分格式(前導位數不足則補0)

字段4:經度E(東經)或W(西經)

字段5:UTC時間,hhmmss.sss格式

字段6:狀态,A=定位,V=未定位

字段7:校驗值

$GPGSA

例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A

字段0:$GPGSA,語句ID,表明該語句為GPS DOP and Active Satellites(GSA)目前衛星資訊

字段1:定位模式,A=自動手動2D/3D,M=手動2D/3D

字段2:定位類型,1=未定位,2=2D定位,3=3D定位

字段3:PRN碼(僞随機噪聲碼),第1信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段4:PRN碼(僞随機噪聲碼),第2信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段5:PRN碼(僞随機噪聲碼),第3信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段6:PRN碼(僞随機噪聲碼),第4信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段7:PRN碼(僞随機噪聲碼),第5信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段8:PRN碼(僞随機噪聲碼),第6信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段9:PRN碼(僞随機噪聲碼),第7信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段10:PRN碼(僞随機噪聲碼),第8信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段11:PRN碼(僞随機噪聲碼),第9信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段12:PRN碼(僞随機噪聲碼),第10信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段13:PRN碼(僞随機噪聲碼),第11信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段14:PRN碼(僞随機噪聲碼),第12信道正在使用的衛星PRN碼編号(00)(前導位數不足則補0)

字段15:PDOP綜合位置精度因子(0.5 - 99.9)

字段16:HDOP水準精度因子(0.5 - 99.9)

字段17:VDOP垂直精度因子(0.5 - 99.9)

字段18:校驗值

$GPGSV

例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70

字段0:$GPGSV,語句ID,表明該語句為GPS Satellites in View(GSV)可見衛星資訊

字段1:本次GSV語句的總數目(1 - 3)

字段2:本條GSV語句是本次GSV語句的第幾條(1 - 3)

字段3:目前可見衛星總數(00 - 12)(前導位數不足則補0)

字段4:PRN 碼(僞随機噪聲碼)(01 - 32)(前導位數不足則補0)

字段5:衛星仰角(00 - 90)度(前導位數不足則補0)

字段6:衛星方位角(00 - 359)度(前導位數不足則補0)

字段7:信噪比(00-99)dbHz

字段8:PRN 碼(僞随機噪聲碼)(01 - 32)(前導位數不足則補0)

字段9:衛星仰角(00 - 90)度(前導位數不足則補0)

字段10:衛星方位角(00 - 359)度(前導位數不足則補0)

字段11:信噪比(00-99)dbHz

字段12:PRN 碼(僞随機噪聲碼)(01 - 32)(前導位數不足則補0)

字段13:衛星仰角(00 - 90)度(前導位數不足則補0)

字段14:衛星方位角(00 - 359)度(前導位數不足則補0)

字段15:信噪比(00-99)dbHz

字段16:校驗值

$GPRMC

例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50

字段0:$GPRMC,語句ID,表明該語句為Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦最小定位資訊

字段1:UTC時間,hhmmss.sss格式

字段2:狀态,A=定位,V=未定位

字段3:緯度ddmm.mmmm,度分格式(前導位數不足則補0)

字段4:緯度N(北緯)或S(南緯)

字段5:經度dddmm.mmmm,度分格式(前導位數不足則補0)

字段6:經度E(東經)或W(西經)

字段7:速度,節,Knots

字段8:方位角,度

字段9:UTC日期,DDMMYY格式

字段10:磁偏角,(000 - 180)度(前導位數不足則補0)

字段11:磁偏角方向,E=東W=西

字段16:校驗值

$GPVTG

例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F

字段0:$GPVTG,語句ID,表明該語句為Track Made Good and Ground Speed(VTG)地面速度資訊

字段1:運動角度,000 - 359,(前導位數不足則補0)

字段2:T=真北參照系

字段3:運動角度,000 - 359,(前導位數不足則補0)

字段4:M=磁北參照系

字段5:水準運動速度(0.00)(前導位數不足則補0)

字段6:N=節,Knots

字段7:水準運動速度(0.00)(前導位數不足則補0)

字段8:K=公裡/時,km/h

字段9:校驗值

實際使用中在軟體中需要實作的常用功能

在目前手持項目中,正常的定位或導航系統,基本主要完成如下的功能:

讀取目前坐标

使用封包:Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦定位資訊

讀取速度

使用封包:Track Made Good and Ground Speed(VTG)地面速度資訊

讀取方向

使用封包:Track Made Good and Ground Speed(VTG)地面速度資訊

--注:速度和方向的計算這塊,有一點需要注意,就是GPS接收機并非簡單的将兩次坐标相減進行計算,而是采用的多普勒效應進行處理,是以在實際應用中,速度和方向的計算會稍後一點延遲,因為信号是1秒接收一次,而且方向的計算還要根據前幾秒的方向進行權重平均。

讀取衛星數及狀态

使用封包:GPS Satellites in View(GSV)可見衛星資訊

           GPS DOP and Active Satellites(GSA)目前衛星資訊

GPS的誤差

有很多種因素會影響到GPS的準确率,以下是一個GPS誤差引入簡表:

衛星時鐘誤差:0-1.5米

衛星軌道誤差:1-5米

電離層引入的誤差:0-30米

大氣層引入的誤差:0-30米

接收機本身的噪音:0-10米

多路反射:0-1米

總定位誤差:大約28米

上述的簡表,并不表示一定會存在這麼大的誤差,這是給出的最好及最差的範圍,當然最好情況不能同時發生,最差的情況也不能同時發生。

實際在衛星的導航電文中,已經包含了大氣層的修正參數,能夠消除50%到70%的誤差,而且這兩年出的GPS的誤差大緻範圍是10米或以内。

在現有情況下,民用級單台GPS接收機要想達到1m以内的精度是不可能實作的,原因除GPS本身精度外,還包括地圖、定位點測繪、嵌入式裝置的運作速度等,是以過度追求定位精度對于民用産品來說已無實際的意義。

GPS的漂移

漂移是GPS導航時需要處理的問題之一,漂移主要有兩個方面,第一,速度過快,以至于GPS的響應時間短于目前運作速度,出現漂移;第二,在高大建築密集或天氣情況不好的地方,因為GPS信号經過多次的折、反射,造成信号誤差,出現漂移。

解決GPS漂移主要從兩方面入手:

一、主系統的設計主要減少在近距離内對GPS信号的幹擾。

二、軟體處理。軟體處理主要集中在導航軟體處完成,導航軟體會将坐标定位在道路之内,如果GPS接收到的信号超出道路的半徑範圍将自動過濾這個資料,并根據上次的速度及方向推算出目前點的位置。

對于靜态漂移,也有建議做軟體判斷:

1.檢測到的狀态為靜止時,強制速度為0;

2.速度為0時,強制方向為0;

3.資料中的速度值為0時,就不去更新地圖上的經緯度;

4.通過比較上次定位資料的經緯度差的絕對值(同時包括時間)再來判定是否有慢速移動;

另外有些GPS子產品(UBLOX)可設定靜止模式、行走模式、汽車模式、海上模式、飛行模式,通過設定這些參數來解決漂移問題。