ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [HAS기초] Ntrip 알고리즘과 실시간 위치 결정(RTS) 용어 정리
    항법연구실/GPS와 데이터 2026. 6. 28. 21:44

    위성항법을 연구하면 약어가 쏟아진다. 그리고 통신, HW, SW 모두 사용하다보니(대부분 기술이 그렇겠지만) 용어들이 쏟아지는데 .. 그새러 용어 정리를 조금 해보고, GNSS실시간 데이터를 활용하는 방법에 대해서 알아보자 ! 

     

    슬슬 연구 주제가 HAS 실시간 데이터 활용쪽으로 잡히고 있는데 .. (아직 불분명하다) 우리 랩실이 실시간 데이터에 약하다고 한다. 그런데 연구실에 약한 나는.. 실시간 데이터에 약할 수 밖에 없음 ㅜㅜ 그럼 뭐 어째 .. 부족한만큼 갈리는 거시다 .. 

     

    어쨌든 이 실시간 데이터를 처리하는 과정을 왜!하냐 하면, HAS데이터를 활용하기 위함이다. 

     


    용어 정리 

     

    [ 데이터의 언어와 규격(포맷)]

    RTCM(Radio Technical Commission for Maritime Services):

    - 실시간 보정 정보의 표준 언어(포맷)으로 위성 궤도가 얼마나 틀어졌고 시계에 오차가 얼마나 있는지 실시간으로 적어둔 바이너리(2진수) 메시지 체계
    - 컴퓨터가 빠르게 읽어야 하기 때문에 가볍고 콤팩트함 (날 것 그대로의 숫자) 

    RINEX(Receiver Independent Exchange Format):
    - 이미 지나간 과거 데이터의 녹화 파일(.txt) 
    - 실시간 스트리밍이 아니라, 수신기가 받은 데이터를 텍스트 파일로 저장해둔 것(nav, obs) 




    [ 데이터를 전송하는 통로와 네트워크 ]
    위성이 쏘는 메시지를 어떻게 수신기에 보낼까? 수신기에서는 어떻게 컴퓨터로 보낼까? 

    Ntrip(Networked Transport of RTCM via Internet Protocol):
    - RTCM 보정 정보를 인터넷으로 실시간 스트리밍(방송)해주는 통신 규약 
    - 유튜브 라이브처럼 IGS나 BKG나 국토지리 정보원이 Caster역할을 하며 RTCM보정 정보를 인터넷 주소로 보내주면, 사용자가 접속해서 받아오는 통로 역할을 한다. 

    RTS(Real-Time Service):
    - IGS에서 Ntrip통로를 통해 전 세계에 무료로 뿌려주는 실시간 보정 정보 서비스 이름  

    HAS(High Accuracy Service): 
    - Galileo위성이 인터넷 없이 우주 공간에서 직접 쏴주는 실시간 보정 정보 서비스 이름
    - 인터넷 통로인 IDD로도 동시에 뿌려줌 


     


    [ 오차를 줄이는 계산 알고리즘 ] 
    수신받은 보정정보를 통해 내 위치의 오차를 어떻게 계산해서 없앨까 ? 

    RTK(Real-Time Kinematic):
    - 내 수신기 근처(보통 수십 km이내)에 있는 지상 기준국과 내 수신기의 차이를 비교해서 오차를 줄이는 방식 
    - m급 오차를 cm급 오차로 줄이지만, 근처에 반드시 기준국이 있어야한다 !! 

    PPP(Precise Point Positioning):
    - 기준국 필요 없이 Galileo HAS나 IGS RTS같은 정밀 보정정보(위성 궤도/시계 오차 자체)를 내 데이터에 직접 더해서 오차를 제거하는 방식 
    - 전 세계 어디서나 단독으로 cm급 정확도를 낼 수 있다는 큰 장점 ! 
    - 현재 진행하고 있는 HAS 데이터 활용이 이 PPP에 해당함 


     


    [ 알고리즘을 실행하는 소프트웨어 ]
    RTKLIB
    - 전 세계 GNSS연구실의 표준처럼 사용하는 오픈소스 정밀 측위 프로그램 패키지 

    BNC(BKG Ntrip Client) 
    -독일 BKG에서 만든 Ntrip 데이터 수신 및 단순 연산용 GUI(화면) 프로그램 

     

     

    Ntrip 알고리즘

    Ntrip: 모바일 인터넷(TCP/IP)을 통해 GPS/GNSS보정 데이터(RTCM포맷)를 실시간으로 스트리밍하는 통신 프로토콜 

    - Ntrip Caster: 기준국들로부터 보정 데이터를 모아서 사용자에게 실시간으로 배포하는 중앙 허브 서버 

    - Ntrip Client: 보정 데이터가 필요한 사용자 프로그램, Caster에 접속하여 데이터를 요청하고 받아옴 
    - GNSS Engine(수신기): 최종적으로 보정 데이터를 받아서 위성 신호와 결합해 정밀한 위치(PPP등)를 계산하는 장치 

     


    소켓 및 데이터 요청(Client → Caster) 

    Ntrip Client(BNC)가 Ntrip Caster에 TCP/IP 소켓 접속을 시도한다. HTTP기반의 통신을 사용하고 ID/PW인증 후 원하는 보정 정 스트림을 요청한다. 

     

     

    ② Caster → BNC Client 

    수신 데이터는 2가지로 이 핵심 데이터를 Caster은 Client에게 실시간 스트리밍한다. 

    • Broadcast Ephemeris(방송 궤도력): 위성의 기본 위치 정보(파란색 선)
    • Broadcast Corrections(궤도/시계 보정치): SSR기반의 정밀 보정 정보(빨간색 선) 

     

     

    ③ 디코딩 및 PPP연산 (BNC 내부 처리) 

     

    Decoder: 수신한 데이터는 압축된 바이너리 형태(RTCM 포맷)이기 때문에, 컴퓨터가 이를 읽을 수 있도록 해독(Decoding)한다. 

    PPP(정밀 절대 측위): 해독된 기본 궤도력에 정밀 보정치를 더하여 위성의 정확한 위치와 시계 오차를 계산한다. 

     

     

    ④ 수신기 연동 및 최종 출력(BNC → GNSS Engine / 파일) 

    BNC는 GNSS수신기와 Serial 또는 TCP/IP 통신을 통해 관측 데이터를 주고 받는다 ! 

    → 단독으로 BNC에서 observation 파일을 생성했을 때, 아무것도 뜨지 않는 이유가 이것 때문이었다 ... 

     

     

    최종 출력으로 보정된 데이터를 바탕으로 정밀 측위를 수행하여 최종 위경도 좌표인 NMEA 스트림 or 파일 형태의 결과를 출력한다. 

     

    Ntrip알고리즘은 인터넷(TCP/IP)를 통해 실시간으로 GNSS정밀 보정 정보를 받아와서(Caster → Client) 이를 디코딩한 뒤, 위성 궤도에 적용하여 수신기의 오차를 제거하는 기술이다.

     

    그럼 지금 개같이 구르게 된 원인인 .. BNC에 대해서 알아보자 .... 앞으로 .... 

    To be continued ... 

     

     

Designed by Tistory.