공돌이를 위한 얕은 지식

GPS위성 위치정보 - NMEA (National Marine Electronics Association) - 2편

어리버Lee 2019. 1. 29. 17:23

전편에 이어 GPS수신기에서 사용하는 NMEA 데이터의 나머지 부분들에 대해서 정리하겠다.

 

오늘 설명 할 GPGSA와 다음에 나올 GPGSV navigation에 필요하다기 보다는 GPS의 수신상태를 점검하는데 주로 이용된다

 

 

3. GSA (GNSS DOP and Active Satellites)

 

 

 

 

 

현 위치에서 잡히는 각각의 위성상태를 알 수 있기 때문에 두 문장을 이용하여 위의 사진처럼 위성의 배열상태를 Graphical하게 표시할 수 있다.

 

 

 

 

 

 

 

Field Number:

 

 

(1) Mode1

 

A = Automatic- allowed to automatically switch 2D/3D

 

M = Manual-forced to operate in 2D OR 3d mode

 

 

(2) Mode2

 

0 = Fix not available

 

1 = 2D

 

2 = 3D

 

: (1)번과 (2)번은 GPS작동 모드에 대한 항목이다. 위에서 보듯 흔히 A 3으로 되어있다.

 

간단히 설명하면 2D모드란 높이의 변화가 없이 경위도만 변한다고 가정하고 위치를 계산하는 모드이면 3D모드는 경위도와 높이가 다 변하는 경우이다. 측량용의 고가 GPS의 경우는 경위도를 고정하고 높이만을 계산하는 모드도 있다.

 

 

(3) Sv Channel 1

 

(4) Sv Channel 2

 

...... 5-3, 6-4, 7-5, 8-6, 9-7, 10-8, 11-9, 12-10, 13-11

 

 

(14) Sv Channel 12

 

: 수신기에 잡힌 GPS위성의 번호가 나와 있다. 흔히 12채널 GPS수신기라고 하는 것은 바로 위성신호를 12개 까지 수신할 수 있다는 의미이다. 대부분의 GPS수신기는 12채널짜리이면 사실 그 이상은 의미가 없다. 앞에서 설명했듯이 총 24개의 위성이 배열되어 있으므로 높은 하늘이라면 모를까 지상에서는 12개 이상의 위성이 보이지 않는다. 수신되지 않은 위성의 자리는 NULL처리되어 있다.

 

 

(15) PDOP - Position Dilution of Precision

 

(16) HDOP - Horizontal Dilution of Precision : 수평오차

 

(17) VDOP - Vertical Dilution of Precision : 수직오차

 

: 위성의 측위 오차에 관한 항목이다

수신기에서 4개이상의 위성이 감지되더라도 수신기는 PDOP이 최소인 위성 4개의 배열을 잡아 위치를 계산해 낸다

 

PDOP은 수신기 위치를 꼭지점으로 각각의 위성이 이르는 사각뿔의 체적에 반비례한다

체적이 큰 경우가 측위 오차가 적게 되는데 이는 위성이 널리 퍼져 오차가 상쇄되기 때문으로 이해하면 될 것이다

수직방향은 그러한 상쇄되는 면이 없기 때문에 (위성은 전부 하늘에 있다.) 수평오차보다 크게 된다.

 

 

PDOP = Sqrt(HDOP*HDOP + VDOP*VDOP)의 관계가 성립한다.

 

 

최적값은 1.0으로 대개 6이하면 쓸만하다고 보면 된다.

 

 

 

 

 

 

 

 

4.GSV( GNSS GPS Satellites in View )

 

각각 위성의 상태에 대해 나와있는 문장임. 여기서 주의해야 할 것은 GSV는 한 문장에 4개의 위성에 대한 정보만이 나와 있다. 그러므로 위성이 12개일 경우는 세 문장이 연속으로 나오고 가령 7개일 경우는 두 문장이 나오게 된다.

 

 

 

 

 

 

Field Number:

 

 

(1) Number of Messages (Range 1 to 3) : 총 문장 개수

 

 

(2) Message Number (Range 1 to 3) : 몇번째 문장인지를 가리킨다.

 

 

(3) Satellite in View : 총 보이는 위성의 개수

 

 

 

바로 위의 예를 보면 위성개수가 7개이므로 두번째 문장에서는 3개의 위성에 대한 설명만 나온다.

 

NULL처리 된 게 아니고 아예 안 나오므로 이 값에 따라 parsing을 해야 한다.

 

 

(4) Satellite ID (Channel 1 - Range 1 to 32)

 

: 각 위성마다 가지는 고유번호 (GSA에 나온 위성번호와 일치)

 

 

(5) Elevation (Channel 1 - Maximum 90) degree

 

: 고도 각으로 90도까지 나옴

 

 

(6) Azimuth (Channel 1 - True, Range 0 to 359) degree

 

: 방향각으로 북쪽을 중심으로 0~359도 까지 나온다. 이 항목을 이용하여 위성의 위치를 표시할 수 있다.

 

 

(7) SNR (C/No) (Channel 1 - Range 0 to 99, null when not tracking) dBHz

 

: 위성에서 수신된 전파강도로서 0~99까지 나온다

  각 위성의 수신상태를 표시 할 수 있다.

 

 

-> (4)~(8)번 항목은 위성 한개에 대한 내용이다

같은 내용이 위성개수에 따라 반복된다

 

 

(8) Satellite ID (Channel 2 - Range 1 to 32)

 

(9) Elevation (Channel 2 - Maximum 90) - degree

 

(10) Azimuth (Channel 2 - True, Range 0 to 359) - degree

 

(11) SNR (C/No) (Channel 2 - Range 0 to 99, null when not tracking) dBHz

 

(12) Satellite ID(Channel 3 - Range 1 to 32)

 

(13) Elevation (Channel 3 - Maximum 90) - degree

 

(14) Azimuth (Channel 3 - True, Range 0 to 359) - degree

 

(15) SNR (C/No) (Channel 3 - Range 0 to 99, null when not tracking) dBHz

 

(16) Satellite ID(Channel 4 - Range 1 to 32)

 

(17) Elevation (Channel 4 - Maximum 90) - degree

 

(18) Azimuth (Channel 4 - True, Range 0 to 359) - degree

 

(19) SNR (C/No) (Channel 4 - Range 0 to 99, null when not tracking) dBHz

 

 

이상으로 NMEA data에 대한 설명자료를 마치겠다.

 

See you soon~

 

반응형