1、1GPS原理原理 oGPS由3個獨立的部分組成:n空間部分o21顆工作衛星,3顆備用衛星n地面系統o1個主控站,3個注入站,5個監測站n用戶設備o接受GPS衛星發射信號,以獲得必要的導航和定位資訊,經資料處理,完成導航和定位工作oGPS接收機硬體一般由主機,天線和電源組成2GPS定位的基本原理o依據高速運動的衛星瞬間位置作為已知的起算數據o採用空間距離後方交彙的方法,確定待測點的位置oGPS定位目的n要算出待測點的座標x,y,z和接收機的時間差 3GPS原理原理o衛星1,衛星2,衛星3,衛星4到接收機之間的距離。o衛星1,衛星2,衛星3,衛星4的信號到達接收機所經的時間 oC為GPS信號的傳播
2、速度ox,y,z為帶測點座標的空間直角坐標,衛星1,衛星2,衛星3,衛星4在t時刻的空間直角坐標o衛星1,衛星2,衛星3,衛星4的衛星的時間差 4GPS定位資訊的擷取定位資訊的擷取 oGPS的用戶設置主要由接收硬體和處理軟體組成o用戶通過用戶設備接收GPS衛星信號,經信號處理而獲得用戶位置,速度等資訊,最終達到利用GPS進行導航和定位的目的o目前許多GPS廠商遵循NMEA0183協議。這些GPS提供串列通信介面,串列通信參數為:n串列傳輸速率=4800;數據位元=8位元;停止位=1位;無奇偶校驗。5NMEA 0183格式格式 oGPS的通信介面協定採用美國的NMEA(National Mari
3、ne Electronics Association)0183 ASCII碼格式協議。oNMEA0183是一種航海,海運方面關於數位信號傳遞的標準n此標準定義了電子信號所需要的傳輸協定,傳輸資料時間o其資料封包的格式定義n包括串列傳輸速率選擇,秒脈衝輸出及RTCM定義輸出。6NMEA種類NMEA種類種類說明說明GPGGA位置資訊GPGLL地理位置-經度及緯度GPGSAGNSS DOPGPGSV當前GPS衛星狀態GPRMC最簡特性GPVTG對地方向及對地速度7GPS定位資訊的解析定位資訊的解析 oGPS接收機只要處於工作狀態n就會源源不斷地把接收並計算出的GPS導航定位資訊通過串列埠傳送到電腦中
4、n這些接收資訊在沒有經過分類提取之前是無法加以利用的o因此必須通過程式將各個欄位的資訊從緩存位元組流中提取出來,將其轉化成有實際意義的,可供高層決策使用的定位資訊資料o與其他通訊協定類似,對GPS進行資訊解析解析n必須首先明確其封包結構,然後才能據其結構完成對各定位資訊的提取。8GPS定位資訊的解析定位資訊的解析o其發送到電腦的資料主要有封包頭,封包尾和封包內資料組成o依據資料封包的不同,封包頭也不相同,主要有$GPGGA,$GPGSA,$GPGSV,以及$GPRMC等n這些封包頭標識了後續封包內資料的組成結構n各封包均以Enter符和換行符作為封包尾標識一封包的結束o所關心的定位資料如經緯度
5、速度,時間等均可從$GPGGA封包中獲得。9GPS定位資訊的解析定位資訊的解析o其他幾封包格式,平時不常用n雖然接收機也在源源不斷地向主機發送各種資料封包o一般先對封包開頭的判斷n只對$GPRMC封包進行資料的提取處理n其他封包取資料,處理方法類似o由於封包內各資料段由逗號分割,因此在處理緩衝資料時n一般是通過搜索ASCII碼$來判斷是否是封包開頭o在對封包開頭的類型進行識別後n在通過對所經歷逗號個數的計數來判斷當前正在處理的是哪一種定位導航參數並做出相應的處理10GPS定位資訊的解析定位資訊的解析o將所需資訊提取到記憶體,包括時間,日期以及經緯度等資訊o需要對其做進一步的運算處理n從GPS
6、接收機中獲得的時間資訊為格林尼治時間o使用的WGS-84坐標n有時也要對此加以變換,而這些變換運算必須通過數值運算完成n如需將WGS-84轉換為台灣地區之GRS-67座標 11GPS程式程式 oGPS初始化nGPS採用的是串列埠1,對串列埠1進行初始化就是對GPS模組初始化。n串列埠1設置的參數為:4800,8,1,Nn初始化函數為:Uart_Initial(1,4800)o接收GPS模組的資訊輸入n通過函數Receive_GPS函數來接收GPS模組的NMEA 0183語句資訊,將接收到的資訊存在GPS_BUF緩衝區中,n該函數如下:U8 Receive_GPS(void)12GPS程式程式o
7、衛星定位資訊的解析n接收到的資訊通過函數GPS_Parse函數進行解析,以獲得我們所需要的定位資訊。n該函數的如下:ovoid GPS_Parse(GPS_INFO*GPS)o時間轉換nGPS獲得的時間是世界時間UTC,要經過UTC_To_BTC函數轉換成北京時間。nUTC_To_BTC的函數如下:ostatic void UTC_To_BTC(date_time*GPS)13GPS程式程式o列印GPS資訊函數nvoid Show_GPS(GPS_INFO*GPS)n功能說明:該函數主要實現GPS資訊的列印,是通過串列埠0列印的。oGPS實驗函數nvoid Test_GPS_Model(voi
8、d)14GPS_INFO資料結構otypedef structoo date_time D;/時間o char status;/接收狀態o doublelatitude;/緯度o double longitude;/經度o char NS;/南北極o char EW;/東西o double speed;/速度o double high;/高度o GPS_INFO 15Show_GPS程式ovoid Show_GPS(GPS_INFO*GPS)ooprintf(DATE :%ld-%02d-%02d on,GPS-D.year,GPS-D.month,GPS-D.day);/時間 年:月:日op
9、rintf(TIME :%02d:%02d:%02d on,GPS-D.hour,GPS-D.minute,GPS-D.second);/時間 時:分:秒oprintf(Latitude :%.4f%cn,GPS-latitude,GPS-NS);/緯度oprintf(Longitude :%.4f%cn,GPS-longitude,GPS-EW);/經度oprintf(Highness :%.4f n,GPS-high);/高度oprintf(STATUS :%cn,GPS-status);/狀態o16GM-210 NMEA傳輸資訊傳輸資訊 oGM-210 智慧型衛星接收機,得到美國瑟孚公司
10、SiRF)的技術支援,提供NMEA-0183標準輸出格式o出廠時之NMEA預設值為n傳輸速率(Baud Rate)4800 bps,資料位元:8(Bits),停止位元(stop bit)及無極性輸出(no parity)。17NMEA-0183 輸出資訊NMEA 種類說 明GPGGA 衛星定位資訊(指定位後)GPGLL地理位置經度及緯度GPGSAGNSS DOP(一種偏差資訊,說明衛星定位訊號的優劣狀態)GPGSVGNSS 天空範圍內的衛星GPRMC最起碼的GNSS資訊(指達到定位目的)GPVTG對地方向及對地速度18衛星定位定位資訊(衛星定位定位資訊(GGA)o輸出範例:n$GPGGA,1
11、61229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,0000*1819衛星定位定位資訊(衛星定位定位資訊(GGA)名名 稱稱實 例單 位敘敘 述述訊息代號$GPGGAGGA 規範抬頭標準定位時間161229.487時時分分秒秒.秒秒秒緯度3723.2475度度分分.分分分分北半球或南半球指示器N北半球(N)或南半球(S)經度12158.3416度度度分分.分分分分東半球或西半球指示器W東(E)半球或西(W)半球定位代號指示器1參閱 表5-3使用中的衛星數目0700 至 1220衛星定位定位資訊(衛星定位定位資訊(GGA)水平精度 1.00.5 至
12、 99.9米海拔高度9.0米-9999.9 至 99999.9 米單位M米地表平均高度米-999.9 至 9999.9 米單位M米差分修正DGPS(RTCM SC-104)資料年限,上次有效的RTCM傳輸至今的秒數(若非DGPS,則數字為0)偏差修正(DGPS)參考基地台代號,0000至 1023。(0表非DGPS插分參考基站程式ID0000總和檢查碼*18 訊息終點21含經、緯度的地理位置(GLL)o輸出範例:o$GPGLL,3723.2475,N,12158.3416,W,161229.487,A*2C22含經、緯度的地理位置(GLL)名名 稱稱實實 例例單單 位位敘敘 述述訊息代號$GP
13、GLLGLL 規範抬頭緯度3723.2475度度分分.分分分分北半球或南半球指示器N北半球(N)或南半球(S)經度12158.3416度度度分分.分分分分東半球或西半球指示器W東(E)半球或西(W)半球標準定位時間161229.487時時分分秒秒狀態AA=資訊可用。V=資訊不可用總和檢查碼*2C 訊息終點23偏差資訊(偏差資訊(GNSS DOP)及衛星狀態)及衛星狀態(GSA)o輸出範例:o$GPGSA,A,3,07,02,26,27,09,04,15,1.8,1.0,1.5*3324偏差資訊(偏差資訊(GNSS DOP)及衛星狀態)及衛星狀態(GSA)名名 稱稱實 例單 位敘敘 述述訊息代號
14、GPGSAGSA 規範抬頭模式 1A參閱 表5-6模式 23參閱 表5-7PRN 數字0701 至 32 表天空使用中的衛星編號,最多可接收12顆衛星資訊位置精度值PDOP1.8 0.5 至 99.9水平精度值HDOP1.00.5 to 99.9垂直精度值VDOP1.50.5 to 99.9總和檢查碼*33 訊息終點25GNSS 所在位置天空中的衛星所在位置天空中的衛星(GSV)o 輸出範例:o$GPGSV,2,1,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71o$GPGSV,2,2,07,09,23,313,42,04,1
15、9,159,41,15,12,041,42*4126GNSS 所在位置天空中的衛星所在位置天空中的衛星(GSV)名名 稱稱實 例單 位敘敘 述述訊息代號$GPGSVGSV 規範抬頭訊息總數(1)21 至 3訊息號碼(1)11 至 3天空中衛星總數071 至12衛星編號07頻道 1(01 到 32)衛星仰角79度頻道 1(最大值 90度)衛星方位角048度頻道 1(000 至 359 度。實際值)訊號雜訊比(C/No)42dBHz00 至 99 dB;無表未接收到訊號.衛星編號27頻道 4(01 到 32)衛星仰角27度頻道 4(最大值 90度)衛星方位角138度頻道 4(000 至 359 度
16、實際值)訊號雜訊比(C/No)42dBHz00 至 99 dB;無表未接收到訊號總和檢查碼*71 訊息終點27建議最起碼的建議最起碼的GNSS規格資料(規格資料(RMC)o輸出範例:o$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,*10 28建議最起碼的建議最起碼的GNSS規格資料(規格資料(RMC)名名 稱稱實 例單 位敘 述訊息代號$GPRMCRMC 規範抬頭標準定位時間161229.487時時分分秒秒.秒秒秒定位狀態 AA=資料可用,V=資料不可用緯度3723.2475度度分分.分分分分北半球或南半球指示
17、器N北半球(N)或南半球(S)經度12158.3416度度度分分.分分分分東半球或西半球指示器W東(E)半球或西(W)半球對地速度0.13節0.0 至 1851.8 節對地方向309.62度實際值日期120598日日月月年年磁極變量(1)度東(E)半球或西(W)半球總和檢查碼*10 訊息終點29對地方向及地面速度對地方向及地面速度 o 輸出範例:o$GPVTG,309.62,T,M,0.13,N,0.2,K*6E30對地方向及地面速度對地方向及地面速度 名名 稱稱實 例單 位敘敘 述述訊息代號$GPVTGVTG 規範抬頭實際對地方向309.62度000至359度參考方向T實際值磁極對地方向度000至359度參考方向M磁極(1)對地速度0.13節00.0至999.9節單位N節對地速度0.2公里小時00.0至1851公里小時單位K公里小時總和檢查碼*6E 訊息終點31RTCM 接收資訊接收資訊 o偏差修正(DGPS)輸入設定值,出廠時訂為傳輸速率(Baud Rate)n9600 bps,8個資料位元,1 個停止位元(stop bit),及無極性輸入(no parity)o 依照RTCM SCII-104,資訊型式1、2 或 9之規範n採用即時差分修正(DGPS),可將位置精度控制在 1-5 米以內






