π‘ λ³Έ λ¬Έμλ 'μμ±νλ²μμ€ν (GNSS) μ 리(3): λ©μμ§ κ·κ²© λ° νλ‘ν μ½(NTRIP, RTCM, NMEA λ±)'μ λν΄ μ 리ν΄λμ κΈμ λλ€.
μ΄λ€ λΆμΌλ μμ μ μμΉλ₯Ό νλ¨ν λ κ°μ₯ λ¨Όμ κ³ λ €νλ μμ€ν μΈ 'μμ±νλ²μμ€ν (GNSS)'μ μ΄λ‘ μ μ 리νμμΌλ μ°Έκ³ νμκΈ° λ°λλλ€.
1. GPS λ©μμ§ κ·κ²© λ° νλ‘ν μ½
1.1. GPS λ©μμ§ κ·κ²©
νλ² λ©μμ§
νλ² λ©μμ§(Navigation Message)λ GPS μμ±μμ μ‘μΆνλ λ°μ‘νμ μ€λ¦¬λ λ©μμ§λ‘, 2μ§ λΆνΈνλ μΌλ ¨μ Pulse μ νΈμ ννλ₯Ό λλ€. 50bpsμ μλλ‘ μ§μμ μΌλ‘ λ°©μ‘λλ€. νλ² λ©μμ§ λ΄μλ μμ± νμ¬ μκ³μ μκ° λ° μ€μ°¨, μμ±μ μν μ 보, λͺ¨λ μμ±κ³Ό κ΄λ ¨λ κΆ€λ μ 보 λ° μν(almanac), κ° κΆ€λ μ 보μ μ΄λ ₯(ephemeris), μ€μ°¨ 보μ μ μν κ³μ λ±μ΄ μλ€.
μ΄λ¬ν μμ± νλ² μμ€ν μμ μ¬μ©νλ λ©μμ§λ μ¬λ¬ λ©μμ§ νμ(κ·κ²©)μ κ°μ§κ³ μμΌλ©°, λνμ μΌλ‘λ RINEX, RTCM, NMEAκ° μμ΅λλ€.
RINEX(Receiver Independent Exchange Format): For static data processing and archive
- GNSS μμ κΈ°μμ μΈ‘μ ν μ 보λ μμ κΈ°μ μ’ λ₯μ μ μ‘°μ¬μ λ°λΌ λ€λ₯Έ νμμΌλ‘ μ μ₯λκΈ° λλ¬Έμ, μ΄λ¬ν λ€μν νμμ μ 보λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκ³ μ²λ¦¬νκΈ° μν΄μ 'RINEX'λΌλ 곡ν΅λ νμμΌλ‘ λ³ν
- GPS μΈ‘μ κ°κ³Ό μμ± μ 보λ₯Ό λ€λ₯Έ μννΈμ¨μ΄λ μνμ λͺ¨λΈλ§μ μ¬μ©ν μ μλλ‘ κ΅¬μ‘°νλ νμμΌλ‘, Version 3μ Galileo, QZS, BeiDouμ κ°μ μΆκ° GNSS μ§μμ μν΄ κ°μ λ¨
NMEA(National Marine Electronics Association): For Real-time positioning
- GPS μμ κΈ°μμ μμ±λ μμΉ, μλ, μκ° λ±μ μ 보λ₯Ό νμ€νλ νμμΌλ‘ μ λ¬
- μ΄ λ©μμ§λ νν΄, μμ μ€ν¬μΈ λ° κΈ°ν GPS μ¬μ© λΆμΌμμ λ리 μ¬μ©λ¨
- Most GPS receivers understand the most popular NMEA format -> NMEA 0183
RTCM(Radio Technical Commission for Maritime Services): For Real time DGPS/RTK corrections
- GPS μμ κΈ°μ DGPS(Differential GPS) ꡬμ±μ 보μνκ³ λ³΄μ μ 보λ₯Ό μ λ¬
- Binary file (more compact but difficult to understand)
- Most GPS receivers understand the most popular RTCM format -> RTCM SC-104
μΌλ°μ μΌλ‘ NMEA λ©μμ§λ Roverμ Real Time Positionλ₯Ό μ λ¬νλ λ° μ¬μ©νλ©°, RTCM λ©μμ§λ NMEA λ©μμ§λ₯Ό λ°νμΌλ‘ Base Stationμμ 보μ ν DGPS/RTK corrections μ 보λ₯Ό μ λ¬νλλ° μ¬μ©νλ€. μΆκ°λ‘ RINEXλ GPS μΈ‘μ μΉμ μ€μκ°μ΄ μλ μ€νλΌμΈ μ²λ¦¬λ₯Ό μν΄ μ¬μ©νλ€.
1.2. GPS λ©μμ§ νλ‘ν μ½
NTRIP: RTCM νλ‘ν μ½
GPS λ°μ΄ν°λ₯Ό μμ νλ €λ©΄ μΈν°λ· νλ‘ν μ½μ΄ μμ΄μΌ νλ€. μ§μκΈ°λ°λ³΄μ μμ€ν (LBAS, Local Based Augmentation System)μΈ NTRIP(Network Transport of RTCM via Internet Protocol)μ μΈν°λ· νλ‘ν μ½μ ν΅ν΄ GPS(GNSS) 보μ λ°μ΄ν°μΈ 'DGPS' λ±μ μ μ‘νλ κ·μ½μ΄λ€.
HTTP(Hypertext Transfer Protocol) νλ‘ν μ½μ κΈ°λ°μΌλ‘ λͺ¨λ°μΌ IP λ€νΈμν¬λ₯Ό ν΅ν΄ 무μ μΈν°λ· μ μμ νλ€. RTK 보μ μ μ‘ νλ‘ν μ½μ΄κΈ°λ νλ€. NTRIP μλ²(server)λ HTTP μλ²λ‘μ NTRIP μμ€ λ°μ΄ν°λ₯Ό μ μ‘νλ 주체μ΄λ©°, NTRIP ν΄λΌμ΄μΈνΈ(client)λ μΈν°λ· μ μμ΄ κ°λ₯ν λ¨λ§κΈ°λ‘ DGPS λ°μ΄ν°λ₯Ό μμ νλ 주체μ΄λ€.
주체 | μ€λͺ |
NTRIP Source | RTK λ°μ΄ν° μ€νΈλ¦¬λ°μ μμ±νλ GNSS κ³ μ κΈ°μ€κ΅ |
NTRIP Server | HTTPλ₯Ό μ΄μ©ν΄ NTRIP Casterμ μ°κ²°ν΄ λ°μ΄ν°λ₯Ό μ λ¬ν¨ |
NTRIP Caster | ν μλ²μ λ무 λ§μ Clientκ° μ μνλ©΄ λλ μ΄, μ 보 μ μ€ λ°μ κ°λ₯μ±μ΄ μμ. μ΄λ₯Ό λ°©μ§νλ € νλ‘μ μλ²μ μν μ ν¨. μ½ 1μ²μ¬ λͺ μ μμ κΈ°μκ² λμμ λ°μ΄ν° μ ν¬ κ°λ₯ |
NTRIP Client | μΈν°λ· μ μ κ°λ₯ν NTRIP λ°©μμΌλ‘ λ°μ΄ν°λ₯Ό μμ νλ μ΄λκ΅ λ¨λ§κΈ°. TCP/IP μΈν°λ· νλ‘ν μ½μ μ¬μ©ν΄ μ λ IP λ€νΈμν¬λ κ°λ₯ |
2. NMEA
NMEA(National Marine Electronics Association)λ μ ννλ 'ν΄μ μ μ곡ν μ°μ μ λ°λ¬κ³Ό κ΅μ‘μ μν΄ λͺ¨μΈ λΉμ리 λ¨μ²΄'μ΄λ€. μ΄κ³³μμ μ μν νλ‘ν μ½ μ€ NMEA-0183μ GPS ν΅μ μ νμ€ νλ‘ν μ½μ΄λ©°, νλ¨μμ μμΈν μ€λͺ νλλ‘ νκ² λ€.
2.1. NMEA Sentence
μΌλ°μ μΌλ‘ GPS μμ κΈ°κ° μμ κ°μ λ΄μ©μ Serial μΆλ ₯μ ννλ‘ λ΄λ³΄λ΄λλ°, $λ‘ μμνλ ν μ€μ΄ NMEA λ¬Έμ₯(λ©μμ§)μ΄λΌ νλ€. NMEA λ©μμ§λ μ¬λ¬ νμ μ΄ μκ³ κ° νμ μ κ³ μ μ νλ‘ν μ½μ΄ μμΌλ©°, NMEA λ©μμ§μ 첫 5κΈμμΈ Sentence IDλ₯Ό μ½μ΄ νμ μ μ μ μλ€. λ°μ΄ν° νλμ ꡬλΆμ ,λ‘ νκ³ *λ‘ λλλ€. μ€λ°κΏ λ¬Έμ , μ LinefeedλΌκ³ νμ¬ λ¬Έμ₯μ λμ λΆμΈλ€.
- Device ID(Talker ID): μ₯μΉ(μ ν)λ₯Ό ꡬλΆνλ IDλ‘, $ λ°λ‘ λ€μ 2κ° λ¬Έμμ΄λ€. μλ₯Ό λ€μ΄ GPS μ νμ GP, Loran-C receiveλ LC, Omega Navigation receiveλ OM, λ μ΄λλ RAμ΄λ€.
- Sentence ID: ν΄λΉ νλ‘ν μ½μ΄ κ°μ§ λ°μ΄ν°μ μ’ λ₯μ΄λ€. (Device IDκΉμ§ ν©μ³ μ 5κ°λ₯Ό Sentence IDλΌκ³ νκΈ°λ νλ€)
- 맨 λ§μ§λ§ * λ€μλ optional νκ² Checksumμ΄ μμ΄ $μ * μ¬μ΄μ λͺ¨λ λ°μ΄ν°λ₯Ό XOR(λ°°νμ OR) κ³μ°νλ€.
NMEAμ ν΅μ νλ‘ν μ½μλ λ€μκ³Ό κ°μ΄ 3κ°μ§μ κ·κ²©μ λ©μμ§κ° μ‘΄μ¬νλ©°, μΌλ°μ μΌλ‘ μμΉ λ°μ΄ν°λ₯Ό μ‘μ νκΈ° μν΄μλ νλ¨μμ Talkerλ‘ μΈκΈλμ΄ μλ λ¬Έμ₯μ μ΄μ©νλ€.
- Talker: output from talker (e.g. GPS receiver) to other devices (PAD)
- e.g. $GPGGA,031956,2218.2035,N,11410.7595,E,1,04,3,9,005.9,M,-001.3,M,,*51
- The talker sends the GPS data in GGA sentence format.
- e.g. $GPGGA,031956,2218.2035,N,11410.7595,E,1,04,3,9,005.9,M,-001.3,M,,*51
- Query: means for listener (e.g. notebook) to request specified talker sentence from talker (GPS receiver)
- e.g. CCGPQ,GGA, [CR][LF]
- A computer (CC) is requesting from GPS device (GP) the GGA sentence
- e.g. CCGPQ,GGA, [CR][LF]
- Proprietary: means for manufactures to use non-standard sentences for special purpose
- e.g. $PLEIS,AHT,0,1.90,0*34
- “LEI" is Leica manufacturer, “S” for set command
- The message set the antenna height at 1.9m in the configuration of the internal sensor setting.
- e.g. $PLEIS,AHT,0,1.90,0*34
νλ¨μμλ μΌλ°μ μΌλ‘ μ¬μ©νλ Talker ꡬ쑰μ λ¬Έμ₯ μ€ λνμ μΈ νλ‘ν μ½μΈ NMEA-0183 μ λν΄ μ΄ν΄λ³Ό μμ μ΄λ€.
2.2. NMEA-0183
NMEA-0183μ GPS ν΅μ μ νμ€ νλ‘ν μ½μ΄λ©°, GPS μμ κΈ°κ° μμ± μ νΈλ₯Ό ν΄μν΄ μ΄ μ 보λ₯Ό μΈλΆμ μ릴 λ μ¬μ©νλ€.
3κ° λ μ΄μ΄(Physical / DataLink / Application Layer)λ‘ κ΅¬μ±λμ΄μλ€. μ΄ μ€ μ΄ν리μΌμ΄μ λ μ΄μ΄λ NMEA λ¬Έμ₯μ λν κ·μ½μ μ μνλ©° GPS λ±μ νμ€ νλ‘ν μ½μ΄ λλ€. ASCII μ½λλ‘ μ§λ ¬(Serial) λ°©μμ ν΅μ μ μ¬μ©νλ€. μλλ κ·Έ μμμ΄λ€.
$GPGGA,141113.999,3730.0308,N,12655.2369,E,1,06,1.7,98.9,M,,,,0000*3E
$GPGSA,A,3,02,07,01,20,04,13,,,,,,,3.7,1.7,3.2*31
$GPRMC,141113.999,A,3730.0308,N,12655.2369,E,19.77,195.23,101200,,*3C
$GPGSV,2,1,07,07,84,025,47,04,51,289,48,20,40,048,47,02,32,203,46*74
- $GPGGA: Global positioning system fixed data
- $GPGSA: GNSS DOP and active satellites
- $GPRMC: Recommended minimum specific GPS data
- $GPGSV: GNSS satellites in view
- μ΄ μΈμ GPS NMEA sentences κ·κ²©κ³Ό κ·Έ μμλ₯Ό μ΄ν΄λ³΄κ³ μΆλ€λ©΄? λ€μμ [PPT] Introduction to GPS Data NMEA & RTCMμλ£λ₯Ό μ°Έκ³ νκΈ° λ°λλ€.
2.3. GPGGA
ν΅μμ μΌλ‘ GPS μμ κΈ°μμλ GP, LC, OM λ± λͺ κ°μ§ Device IDλ§ μ νμ μΌλ‘ μΆλ ₯λλλ°, λνμ μΌλ‘ GPGGAλ₯Ό μ΄ν΄λ³Έλ€. GPGGAλ Global Positioning System Fix Dataλ‘, 17κ°μ νλλ₯Ό κ°μ§λ λ°μ΄ν° νμ μ΄λ€.
Index | Field | Value | Description |
1 | Sentence ID | GPGGA | Global Positioning System Fix Data |
2 | UTC Time | 114455.532 | 그리λμΉ νμ€μ κΈ°μ€ μκ°μΌλ‘, hhmmss.sss νν. λ μ§λ GPRMCμμ μ²λ¦¬ν΄μΌ ν¨. νκ΅μμ μ¬μ© μ +9 |
3 | Latitude | 3735.0079 | ddmm.mmmm(λλΆ) νμμ μλλ‘, μμμμλ 37λ 35.0079λΆ. deg λ¨μ νμ° μ 37 + 35.0079 / 60 = 37.5λ |
4 | N/S Indicator | N | λ¨μκ° S, λΆμκ° N |
5 | Longitude | 12701.6446 | dddmm.mmmm(λλΆ) νμμ κ²½λλ‘, μμμμλ 127λ 1.6446λΆ. deg λ¨μ νμ°μ μλμ λμΌ |
6 | E/W Indicator | E | λκ²½μ΄ E, μκ²½μ΄ W |
7 | Position Fix | 1 | μμΉκ° κ²°μ λμλκ°λ₯Ό λνλ. 0(Invalid μλͺ»λ λ°μ΄ν°), 1(Valid SPS. GPS μ 곡 κΈ°λ³Έ μμ±λ§ μ¬μ©), 2(Valid DGPS. DGPS 보μ ν΄ κ³μ°), 3(Valid PPS) |
8 | Satellites Used | 03 | κ³μ°μ μΈ μμ± μ. μ΅μ 3κ° μ΄μμ΄μ΄μΌ ν¨ |
9 | HDOP | 7.9 | horizontal dilution of Precision. 2μ°¨μμ μ€μ°¨κ²°μ (μνλ°©ν₯) |
10 | Altitude | 48.8 | WGS-84 νμ체μ νκ· ν΄μλ©΄(MSL, Mean Sea Level) κΈ°μ€ κ³ λ |
11 | Altitude Units | M | κ³ λκ°μ λ¨μ. μμμμλ meter |
12 | Geoid Seperation | 19.6 | μ§μ€μ΄λ(geoid) κ³ (height) |
13 | Seperation Units | M | μ§μ€μ΄λκ³ μ λ¨μ. μμμμλ meter |
14 | DGPS Age | 0.0 | DGPS μ¬μ©μ λ§μ§λ§μΌλ‘ μ λ°μ΄νΈν μκ°(λ°μ΄ν°μ Age) |
15 | DGPS Station ID | 0000 | DGPS κΈ°μ§κ΅μ ID |
16 | CheckSum | 48 | Checksum |
17 | Terminator | CR/LF | μ€λ°κΏ λ¬Έμ |
3. RTCM
RTCMμ Radio Technical Committee for Maritime Servicesμ μ½μ΄λ‘, ν΄λΉ μ‘°μ§μμ κ·μ ν RTCM SC-104λ GPS 보μ μ νΈλ₯Ό μ μ‘νλ λ°μ΄ν° ν¬λ§·(κ·κ²©)μ΄λ€. (보μ μ κ΄ν μ¬νμ λ°μμ μμΈν λ€λ£° κ²μ΄λ€. μ§κΈμ λ¨μν μ΄λ° ꡬ쑰λ₯Ό κ°λλ€κ³ λ§ μμλμ.) μ½μ΄μμλ μ μ μλ―μ΄ μ λ°μ μ¬μ©λκΈ° μν΄ μ²μ λ§λ€μ΄μ‘κ³ , ν곡μ κ²½μ° RTCAλ₯Ό μ¬μ©νλ€.
3.1 RTCM SC-104
RTCM λ©μμ§λ GNSS 보μ μ νΈλ₯Ό μ μ‘νλ λ°μ΄ν° ν¬λ©§μ΄λ©°, binary λ°μ΄ν°λ‘ μ μ‘νμ¬ μ€μκ°μΌλ‘ μ μ‘μ΄ κ°λ₯νλ€. μ΄μ λν λ°μ΄ν° ν¬λ©§μ λ€μκ³Ό κ°λ€.
RTCM Data Format
A data record contains several message types for various contents
- Message 1, Message2…. Message N
Each message comprises header and body
- Header: message type, time, length of message,
- Body: data for every data type
Each data record may not include every message type
- Some send every second (e.g. code corrections)
- Others are sent at interval (e.g. base station coordinates)
μ΄λ¬ν RTCM λ°μ΄ν°λ RTCM 2.0, 2.1, 2.2, 2.3, 3.0 λ± μ°μ μ λ§κ² λ³ν΄μμΌλ©°, λ€μκ³Ό κ°μ historyλ₯Ό κ°κ³ μλ€.
Features of various RTCM versions
- RTCM 2.0
- for DGPS applications only (message 1,9) and no RTK data
- RTCM 2.1
- retain the full content of RTCM 2.0
- add new messages for carrier phase data and RTK corrections
- RTCM 2.2
- contain GLONASS data and associated information
- store in newly added messages 31-36
- RTCM 2.3
- antenna types (message 23)
- ARP information (message 24)
- RTCM 3.0
- RTCM 2.3 requires 4800 bps to broadcast dual-frequency code and carrier
- phase observation corrections of 12 satellites. The information content is send with 1800 bps in RTCM 3.0
- accommodate for new GNSS systems that are under development (e.g. Galileo)
νμ¬λ RTCM 3.0μ μ¬μ©νκ³ μμΌλ©°, ν΄λΉ λ©μμ§ ν¬λ©§μμ μ μ‘νλ λ°μ΄ν°λ λ€μκ³Ό κ°λ€.
3.2 RTCM 3.0 Message Types
RTCMμ λ°μ΄ν°λ λ©μμ§ λ²νΈ(νμ )μΌλ‘ ꡬλΆλμ΄ νμλλ©°, κ° λ©μμ§λ€μ ν€λμ λ°μ΄ν°λ₯Ό ν¬ν¨νλ€. μ¬κΈ°μ 1004λ²μ κ²½μ° GPS RTK κ΄μΈ‘μ 보λ₯Ό λ΄κ³ μμΌλ©°, 1012 λ²μ κ²½μ° GLONASS RTK κ΄μΈ‘ μ 보λ₯Ό λ΄κ³ μλ€.
- μΆκ°λ‘ λμ± μμΈν λ©μμ§ νμ μ νμΈνκ³ μΆλ€λ©΄? 'An RTCM 3 message cheat sheet' λ₯Ό μ°Έκ³ νλλ‘ νμ
μ°Έκ³
- [SNIP] An RTCM 3 message cheat sheet: https://www.use-snip.com/kb/knowledge-base/an-rtcm-message-cheat-sheet/
- [SNIP] SAE J2735 DSRC Message List: https://www.use-snip.com/kb/knowledge-base/sae-j2735-dsrc-message-list/
- [Blog] GPS μ΄λ‘ : GNSS, RTK λ±: https://velog.io/@717lumos/GPS-GPS-%EC%9D%B4%EB%A1%A0-GNSS-RTK-%EB%93%B1
- [PPT] Introduction to GPS Data NMEA & RTCM: http://player.slideplayer.com/download/15/4620651/dm9qL5S8qO4Oq3BLNcr_1A/1679474445/4620651.ppt
- [PPT] Introduction to GPS Data Communications - NMEA and RTCM: http://player.slideplayer.com/download/19/5912768/vRmsVn7TueU7NpCcYU_K0g/1679475041/5912768.ppt
- [Blog] NMEA Data Format: http://www.gpsinformation.org/dale/nmea.html
- [Blog] SNIP: SAE J2735 DSRC Message List: https://www.use-snip.com/kb/knowledge-base/sae-j2735-dsrc-message-list/
- [Blog] SNIP: RTCM 3 Message List: https://www.use-snip.com/kb/knowledge-base/rtcm-3-message-list/?gclid=CjwKCAjwiOCgBhAgEiwAjv5whFlzVkweKActivKKVRrrGK0BK2WHKbUSx3FlKGzqSZGHr9yO8Pj-2BoCZBsQAvD_BwE