GPS NEMA 0183協議


 

NMEA-0183

NMEA 0183是美國國家海洋電子協會(National Marine Electronics Association )為海用電子設備制定的標准格式。目前業已成了GPS導航設備統一的RTCM(Radio Technical Commission for Maritime services)標准協議。
序號
命令
說明
最大幀長
1
$GPGGA
全球定位數據
72
2
$GPGSA
衛星PRN數據
65
3
$GPGSV
衛星狀態信息
210
4
$GPRMC
運輸定位數據
70
5
$GPVTG
地面速度信息
34
6
$GPGLL
大地坐標信息

  
7
$GPZDA
UTC時間和日期

  
注:發送次序$GPZDA、$GPGGA、$GPGLL、$GPVTG、$GPGSA、$GPGSV*3、$GPRMC
 
 
該協議采用ASCII碼,其 串行通信 默認參數為: 波特率=4800bps, 數據位=8bit,開始位=1bit,停止位=1bit,無 奇偶校驗

幀格式形

編輯
如:$aaccc,ddd,ddd,…,ddd*hh<CR><LF>
1、“$”——幀命令起始位
2、aaccc——地址域,前兩位為識別符,后三位為語句名
3、ddd…ddd——數據
4、“*”—— 校驗和前綴
5、hh——校驗和(check sum),$與*之間所有 字符ASCII碼的校驗和(各 字節做異或運算,得到校驗和后,再轉換16進制格式的ASCII字符。)
6、<CR><LF>——CR(Carriage Return) + LF(Line Feed)幀結束,回車和換行
GPS固定 數據輸出語句,這是一幀GPS定位的主要數據,也是使用最廣的數據。
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15><CR><LF>
<1> UTC時間,格式為hhmmss.sss。
<2> 緯度,格式為ddmm.mmmm(前導位數不足則補0)。
<3> 緯度半球,N或S(北緯或南緯)。
<4> 經度,格式為dddmm.mmmm(前導位數不足則補0)。
<5> 經度半球,E或W(東經或西經)。
<6> 定位質量指示,0=定位無效,1=定位有效。
<7> 使用衛星數量,從00到12(前導位數不足則補0)。
<8> 水平精確度,0.5到99.9。
<9> 天線離海平面的高度,-9999.9到9999.9米
<10> 高度單位,M表示單位米。
<11> 大地橢球面相對海平面的高度(-9999.9到9999.9)。
<12> 高度單位,M表示單位米。
<13> 差分GPS數據期限(RTCM SC-104),最后設立RTCM傳送的秒數量。
<14> 差分參考基站標號,從0000到1023(前導位數不足則補0)。
<15> 校驗和。
GPGSA
GPS精度指針及使用衛星格式
$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>*<18><CR><LF>
<1> 模式2:M = 手動, A = 自動。
<2> 模式1:定位型式1 = 未定位,2 = 二維定位,3 = 三維定位。
<3> 第1信道正在使用的衛星PRN碼編號(Pseudo Random Noise,偽隨機噪聲碼),01至32(前導位數不足則補0,最多可接收12顆衛星信息)。
<4> 第2信道正在使用的衛星PRN碼編號
<5> 第3信道正在使用的衛星PRN碼編號
<6> 第4信道正在使用的衛星PRN碼編號
<7> 第5信道正在使用的衛星PRN碼編號
<8> 第6信道正在使用的衛星PRN碼編號
<9> 第7信道正在使用的衛星PRN碼編號
<10> 第8信道正在使用的衛星PRN碼編號
<11> 第9信道正在使用的衛星PRN碼編號
<12> 第10信道正在使用的衛星PRN碼編號
<13> 第11信道正在使用的衛星PRN碼編號
<14> 第12信道正在使用的衛星PRN碼編號
<15> PDOP綜合位置精度因子(0.5 - 99.9)
<16> HDOP水平精度因子(0.5 - 99.9)
<17> VDOP垂直精度因子(0.5 - 99.9)
<18> 校驗和
GPGSV
可視衛星狀態輸出語句
$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*<8><CR><LF>
<1> 總的GSV語句電文數。
<2> 當前GSV語句號。
<3> 可視衛星總數,00至12。
<4> 衛星編號,01至32。
<5> 衛星仰角,00至90度。
<6> 衛星方位角,000至359度。實際值。
<7> 信噪比(C/No),00至99dB;無表未接收到訊號。
<8> 校驗和。
注:每條語句最多包括四顆衛星的信息,每顆衛星的信息有四個 數據項,即:衛星編號、衛星仰角、衛星方位角、信噪比。
GPRMC
推薦最小數據量的GPS信息(Recommended Minimum Specific GPS/TRANSIT Data)
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13><CR><LF>
<1> UTC(Coordinated Universal Time)時間,hhmmss(時分秒)格式
<2> 定位狀態,A=有效定位,V=無效定位
<3> Latitude,緯度ddmm.mmmm(度分)格式(前導位數不足則補0)
<4> 緯度半球N(北半球)或S(南半球)
<5> Longitude,經度dddmm.mmmm(度分)格式(前導位數不足則補0)
<6> 經度半球E(東經)或W(西經)
<7> 地面速率(000.0~999.9節,Knot,前導位數不足則補0)
<8> 地面航向(000.0~359.9度,以真北為參考基准,前導位數不足則補0)
<9> UTC日期,ddmmyy(日月年)格式
<10> Magnetic Variation,磁偏角(000.0~180.0度,前導位數不足則補0)
<11> Declination,磁偏角方向,E(東)或W(西)
<12> Mode Indicator,模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數據無效)
<13> 校驗和。
地面速度信息(GPVTG)
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh
<1> 以真北為參考基准的地面航向(000~359度,前面的0也將被傳輸)
<2> 以磁北為參考基准的地面航向(000~359度,前面的0也將被傳輸)
<3> 地面速率(000.0~999.9節,前面的0也將被傳輸)
<4> 地面速率(0000.0~1851.8公里/小時,前面的0也將被傳輸)
<5> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數據無效
nmea數據如下:
$ GPGGA,121252.000,3937.3032,N,11611.6046,E,1,05,2.0,45.9,M,-5.7,M,,0000*77$GPRMC,121252.000,A,3958.3032,N,11629.6046,E,15.15,359.95,070306,,,A*54$ GPVTG,359.95,T,,M,15.15,N,28.0,K,A*04$GPGGA,121253.000,3937.3090,N,11611.6057,E,1,06,1.2,44.6,M,-5.7,M,,0000*72$GPGSA,A,3,14,15,05,22,18,26,,,,,,,2.1,1.2,1.7*3D$GPGSV,3,1,10,18,84,067,23,09,67,067,27,22,49,312,28,15,47,231,30*70$GPGSV,3,2,10,21,32,199,23,14,25,272,24,05,21,140,32,26,14,070,20*7E$GPGSV,3,3,10,29,07,074,,30,07,163,28*7D說明:NMEA0183格式以“$”開始,主要語句有GPGGA,GPVTG,GPRMC等
1、 GPS DOP and Active Satellites(GSA)當前衛星信息
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><cr></cr><lf></lf>
<1>模式 :M = 手動, A = 自動。
<2>定位型式 1 = 未定位, 2 = 二維定位, 3 = 三維定位。
<3>PRN 數字:01 至 32 表天空使用中的衛星編號,最多可接收12顆衛星信息。
<4> PDOP位置精度因子(0.5~99.9)
<5> HDOP水平精度因子(0.5~99.9)
<6> VDOP垂直精度因子(0.5~99.9)
<7> Checksum.(檢查位).
2、 GPS Satellites in View(GSV)可見衛星信息
$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8><cr></cr><lf></lf>
<1> GSV語句的總數
<2> 本句GSV的編號
<3> 可見衛星的總數,00 至 12。
<4> 衛星編號, 01 至 32。
<5>衛星仰角, 00 至 90 度。
<6>衛星方位角, 000 至 359 度。實際值。
<7>訊號噪聲比(C/No), 00 至 99 dB;無表未接收到訊號。
<8>Checksum.(檢查位).
第<4>,<5>,<6>,<7>項個別衛星會重復出現,每行最多有四顆衛星。其余衛星信息會於次一行出現,若未使用,這些字段會空白。
3、Global Positioning System Fix Data(GGA)GPS定位信息
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<cr></cr><lf></lf>
<1> UTC時間,hhmmss(時分秒)格式
<2> 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸)
<3> 緯度半球N(北半球)或S(南半球)
<4> 經度dddmm.mmmm(度分)格式(前面的0也將被傳輸)
<5> 經度半球E(東經)或W(西經)
<6> GPS狀態:0=未定位,1=非 差分定位,2=差分定位,6=正在估算
<7> 正在使用解算位置的衛星數量(00~12)(前面的0也將被傳輸)
<8> HDOP水平精度因子(0.5~99.9)
<9> 海拔高度(-9999.9~99999.9)
<10> 地球橢球面相對大地水准面的高度
<11> 差分時間(從最近一次接收到差分信號開始的秒數,如果不是差分定位將為空)
<12> 差分站ID號0000~1023(前面的0也將被傳輸,如果不是 差分定位將為空)
4、Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<cr></cr><lf></lf>
<1> UTC時間,hhmmss(時分秒)格式
<2> 定位狀態,A=有效定位,V=無效定位
<3> 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸)
<4> 緯度半球N(北半球)或S(南半球)
<5> 經度dddmm.mmmm(度分)格式(前面的0也將被傳輸)
<6> 經度半球E(東經)或W(西經)
<7> 地面速率(000.0~999.9節,前面的0也將被傳輸)
<8> 地面航向(000.0~359.9度,以真北為參考基准,前面的0也將被傳輸)
<9> UTC日期,ddmmyy(日月年)格式
<10> 磁偏角(000.0~180.0度,前面的0也將被傳輸)
<11> 磁偏角方向,E(東)或W(西)
<12> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數據無效)
5、 Track Made Good and Ground Speed(VTG)地面速度信息
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh<cr></cr><lf></lf>
<1> 以真北為參考基准的地面航向(000~359度,前面的0也將被傳輸)
<2> 以磁北為參考基准的地面航向(000~359度,前面的0也將被傳輸)
<3> 地面速率(000.0~999.9節,前面的0也將被傳輸)
<4> 地面速率(0000.0~1851.8公里/小時,前面的0也將被傳輸)
<5> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數據無效)

 

 

 

一、 NMEA0183標准語句(GPS常用語句)
$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:校驗值

Data and time (ZDA) 時間和日期信息
$GPZDA,<1>,<2>,<3>,<4>,<5>*hh<CR><LF>
<1> UTC時間,hhmmss(時分秒)格式
<2> UTC日期,日
<3> UTC日期,月
<4> UTC日期,年<5>時區

Datum (DTM) 大地坐標系信息
$GPDTM,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*hh<CR><LF>
<1>本地坐標系代碼 W84
<2>坐標系子代碼 空
<3>緯度偏移量
<4>緯度半球N(北半球)或S(南半球)
<5>經度偏移量
<6>經度半球E(東經)或W(西經)
<7>高度偏移量
<8>坐標系代碼 W84

 

二、 GARMIN定義的語句
1、 Estimated Error Information(PGRME)估計誤差信息
$PGRME,<1>,M,<2>,M,<3>,M*hh<CR><LF>
<1> HPE(水平估計誤差),0.0~999.9米
<2> VPE(垂直估計誤差),0.0~999.9米
<3> EPE(位置估計誤差),0.0~999.9米
2、 GPS Fix Data Sentence(PGRMF)GPS定位信息
$PGRMF,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>*hh<CR><LF

>
<1> GPS周數(0~1023)
<2> GPS秒數(0~604799)
<3> UTC日期,ddmmyy(日月年)格式
<4> UTC時間,hhmmss(時分秒)格式
<5> GPS跳秒數
<6> 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸)
<7> 緯度半球N(北半球)或S(南半球)
<8> 經度dddmm.mmmm(度分)格式(前面的0也將被傳輸)
<9> 經度半球E(東經)或W(西經)
<10> 模式,M=手動,A=自動
<11> 定位類型,0=沒有定位,1=2D定位,2=3D定位
<12> 地面速率(0~1851公里/小時)
<13> 地面航向(000~359度,以真北為參考基准)
<14> PDOP位置精度因子(0~9,四舍五入取整)
<15> TDOP時間精度因子(0~9,四舍五入取整)
3、 Map Datum(PGRMM)坐標系統信息
$PGRMM,<1>*hh<CR><LF>
<1> 當前使用的坐標系名稱(數據長度可變,如“WGS 84”)
注:該信息在與MapSource進行實時連接的時候使用。
4、 Sensor Status Information(PGRMT)工作狀態信息
$PGRMT,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*hh<CR><LF>
<1> 產品型號和軟件版本(數據長度可變,如“GPS 15L/15H VER 2.05”)
<2> ROM校驗測試,P=通過,F=失敗
<3> 接收機不連續故障,P=通過,F=失敗
<4> 存儲的數據,R=保持,L=丟失
<5> 時鍾的信息,R=保持,L=丟失
<6> 振盪器不連續漂移,P=通過,F=檢測到過度漂移
<7> 數據不連續采集,C=正在采集,如果沒有采集則為空
<8> GPS接收機溫度,單位為攝氏度
<9> GPS接收機配置數據,R=保持,L=丟失
注:本語句每分鍾發送一次,與所選擇的波特率無關。
5、 3D velocity Information(PGRMV)三維速度信息
$PGRMV,<1>,<2>,<3>*hh<CR><LF>
<1> 東向速度,514.4~514.4米/秒
<2> 北向速度,514.4~514.4米/秒
<3> 上向速度,999.9~9999.9米/秒
6、 DGPS Beacon Information(PGRMB)信標差分信息
$PGRMB,<1>,<2>,<3>,<4>,<5>,K,<6>,<7>,<8>*hh<CR><LF>
<1> 信標站頻率(0.0,283.5~325.0kHz,間隔為0.5kHz)
<2> 信標比特率(0,25,50,100或200bps)
<3> SNR信標信號信噪比(0~31)
<4> 信標數據質量(0~100)
<5> 與信標站的距離,單位為公里
<6> 信標接收機的通訊狀態,0=檢查接線,1=無信號,2=正在調諧,3=正在接收,4=正在掃描
<7> 差分源,R=RTCM,W=WAAS,N=非差分定位
<8> 差分狀態,A=自動,W=僅為WAAS,R=僅為RTCM,N=不接收差分信號

三、TEXT文本格式說明:

    區域描述:              長度:    注釋:
    ----------------------- ------- ------------------------
    句頭起始符              1       始終為 '@'
    ----------------------- ------- ------------------------
   /年                      2       UTC年的最后兩位數字
| ----------------------- ------- ------------------------
| 月                      2       UTC月, "01".."12"
T | ----------------------- ------- ------------------------
i | 日                      2       UTC日, "01".."31"
m | ----------------------- ------- ------------------------
e | 時                      2       UTC時, "00".."23"
| ----------------------- ------- ------------------------
| 分                      2       UTC分, "00".."59"
| ----------------------- ------- ------------------------
   \秒                      2       UTC秒, "00".."59"
    ----------------------- ------- ------------------------
   /緯度半球                1       'N' 或 'S'
| ----------------------- ------- ------------------------
| 緯度坐標                7       WGS84坐標系統,坐標格式ddmmmmm,
|                                 在第4位數字后省略了一個小數點。
| ----------------------- ------- ------------------------
| 經度半球                1       'E' 或 'W'
| ----------------------- ------- ------------------------
| 經度坐標                8       WGS84坐標系統,坐標格式dddmmmmm,
P |                                 在第5位數字后省略了一個小數點。
o | ----------------------- ------- ------------------------
s | 定位狀態                1       'd' 2維差分定位
i |                                 'D' 3維差分定位
t |                                 'g' 2維定位
i |                                 'G' 3維定位
o |                                 'S' 模擬狀態
n |                                 '_' 無效
| ----------------------- ------- ------------------------
| 水平定位誤差            3       單位為“米”
| ----------------------- ------- ------------------------
| 高度符號                1       '+' 或 '-'
| ----------------------- ------- ------------------------
   \高度                    5       海拔高,單位為“米”
    ----------------------- ------- ------------------------
   /東/西速度方向          1       'E' 或 'W'
| ----------------------- ------- ------------------------
| 東/西速度               4       單位是“米/秒”,在第三位后省略了一個小數點,
|                                 ("1234" = 123.4 m/s)
V | ----------------------- ------- ------------------------
e | 南/北速度方向          1       'S' 或 'N'
l |
o | ----------------------- ------- ------------------------
c | 南/北速度              4       單位是“米/秒”,在第三位后省略了一個小數點,
i |                                 ("1234" = 123.4 m/s)
t | ----------------------- ------- ------------------------
y | 垂直速度方向            1       'U' (上) 或 'D' (下)
| ----------------------- ------- ------------------------
| 垂直速度                4       單位是“米/秒”,在第二位后省略了一個小數點,
   \                                ("1234" = 12.34 m/s)
    ----------------------- ------- ------------------------
    句尾結束符              2        回車, '0x0D', 和換行'0x0A'
 
 

 

實際使用中在軟件中需要實現的常用功能

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

讀取當前坐標
使用報文: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)可設置靜止模式、行走模式、汽車模式、海上模式、飛行模式,通過設置這些參數來解決漂移問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM