GNSS란 무엇인가
지도 앱의 파란 점은 2만 km 위를 초속 4 km로 도는 위성들이 보낸, 잡음보다 약한 신호에서 나온다. 휴대폰은 위성과 한마디도 주고받지 않는다. 듣기만 한다. 그런데도 몇 m 안으로 자기 위치를 안다. 어떻게? 이 장에서는 위성 항법의 원리를 한 문장으로 줄이고, 그 문장에 숨은 네 번째 미지수를 찾고, 하늘에 떠 있는 여러 나라의 시스템을 정리한다.
- “위성까지 거리 = 빛의 속도 × 신호가 날아온 시간”으로 위치를 구하는 원리를 안다.
- 수신기 시계 오차 때문에 미지수가 넷이 되고, 위성이 최소 넷 필요한 이유를 시뮬레이터로 확인한다.
- GPS·GLONASS·Galileo·BeiDou와 지역 시스템(QZSS, NavIC, KPS)을 구분한다.
- 이 책이 근거로 삼는 공개 규격과 공개 구현을 안다.
하늘의 시계
GNSS(Global Navigation Satellite System, 위성 항법 시스템)의 위성은 아주 정확한 원자시계를 싣고, “나는 지금 몇 시 몇 분 몇 초에, 여기에 있다”는 신호를 쉬지 않고 방송한다. 지상에서 그 신호를 받은 수신기는, 신호가 떠난 시각과 도착한 시각의 차이에 빛의 속도를 곱해 위성까지의 거리를 안다. 위성이 2만 km 위에 있으면 신호는 약 0.067초(67 ms)를 날아온다.
위성 하나까지의 거리를 알면 나는 그 위성을 중심으로 한 구 위 어딘가에 있다. 위성 셋이면 구 셋이 만나는 점, 즉 내 위치가 나온다. 여기까지는 간단하다. 문제는 내 시계다.
번개가 보인 뒤 천둥이 3초 뒤에 들리면 번개는 약 1 km 떨어져 있다. 소리의 속도와 시간 차이로 거리를 재는 것이다. GNSS는 같은 일을 빛의 속도로 한다. 다만 번개와 달리 “번쩍”을 따로 볼 수 없으니, 위성이 “지금 보낸다”는 시각을 신호 안에 적어 보낸다. 그 시각을 내 시계로 받아 적는데, 내 시계가 1 ms만 틀려도 거리는 300 km가 틀린다.
미지수가 넷인 이유
위성의 원자시계는 서로 나노초 단위로 맞춰져 있지만, 휴대폰 시계는 값싼 수정 진동자다. 1 µs만 틀려도 300 m다. 그래서 수신기는 위성 시계와 내 시계의 차이(수신기 시계 오차, bias)를 모르는 값으로 두고 위치와 함께 푼다. 수신기가 재는 것은 진짜 거리가 아니라 “시계 오차 × 빛의 속도”가 모든 위성에 똑같이 더해진 거리, 의사거리(pseudorange)다.
미지수는 위치 x, y, z와 시계 오차 b, 넷이다. 그래서 위성이 최소 넷 필요하다. 아래 시뮬레이터는 평면(미지수 x, y, b)에서 이를 보여 준다. 의사거리로 그린 원 셋은 한 점에서 만나지 않는다. 시계 오차를 바르게 고르면, 그때서야 한 점에서 만난다.
수신기 시계가 1 ms(천분의 1초) 틀렸다. 의사거리는 모두 얼마나 틀어질까?
빛은 1초에 약 30만 km를 간다.
시계 오차를 맞혀 원을 한 점에 모으기
하늘의 별자리들
위성 항법 시스템은 여럿이다. 요즘 휴대폰은 거의 모두를 동시에 듣는다. 위성이 많을수록 빌딩 사이에서도 넷 이상이 보이고, 배치가 좋아져 정확해진다(9·11장).
| 시스템 | 운영 | 범위 | 대표 신호 | 이 책에서 |
|---|---|---|---|---|
| GPS | 미국 | 전 세계 | L1 C/A 1,575.42 MHz, L2, L5 | 대부분의 계산 예(규격 IS-GPS-200) |
| GLONASS | 러시아 | 전 세계 | L1·L2(위성마다 주파수가 조금씩 다른 FDMA) | 3장 |
| Galileo | 유럽 연합 | 전 세계 | E1 1,575.42 MHz, E5a·E5b, E6 | 3·4장(규격 Galileo OS SIS ICD) |
| BeiDou | 중국 | 전 세계(3세대) | B1I·B1C, B2a 등 | 2장(정지·경사 궤도 위성) |
| QZSS · NavIC | 일본 · 인도 | 지역 | GPS와 호환되는 L1·L5 등 | 2장 |
| KPS | 한국(개발 중) | 지역 | — | 정지·경사 궤도 위성 8기로 2035년 서비스를 목표로 개발 중이다 |
각 시스템은 세 부문으로 이루어진다. 우주 부문(위성), 위성을 추적해 궤도와 시계를 계산하고 위성에 올려 주는 관제 부문(지상국), 그리고 신호를 받기만 하는 사용자 부문(수신기). 사용자는 아무것도 보내지 않으므로 수십억 명이 동시에 써도 시스템이 붐비지 않는다.
GNSS 연표
이 책이 근거로 삼는 것
GNSS는 이 서재의 다른 무선 기술과 달리 신호 규격이 무료로 공개되어 있다. 이 책은 미국의 IS-GPS-200N(2022-08-01, “Approved for public release”)과 유럽 연합의 Galileo OS SIS ICD Issue 2.2(2025년 11월)를 1차 근거로 삼고, 본문에 표·절 번호와 쪽수를 밝힌다. 여기에 공개 측위 라이브러리 RTKLIB(BSD-2)의 전리층·대류층 모델과 궤도 계산 코드를 구현의 근거로 쓴다. 책의 계산 함수는 규격의 표(예: PRN 코드의 처음 10칩)와 식, RTKLIB의 코드로 자동 검증한다(scripts/verify-factcheck.cjs). GLONASS·BeiDou 규격은 이 책에서 직접 인용하지 않았다.
핵심 정리
- 위성은 시각과 궤도를 방송하고, 수신기는 듣기만 한다. 거리 = 빛의 속도 × 날아온 시간(약 67 ms).
- 수신기 시계가 맞지 않아(1 µs = 300 m) 의사거리를 재고, 시계 오차를 네 번째 미지수로 푼다. 위성이 최소 넷 필요하다.
- GPS·GLONASS·Galileo·BeiDou(전 세계)와 QZSS·NavIC(지역), 한국은 KPS를 개발 중이다.
- 우주·관제·사용자 부문. 사용자가 아무리 많아도 시스템이 붐비지 않는다.
- 이 책은 IS-GPS-200N, Galileo OS SIS ICD 2.2, RTKLIB으로 값을 확인한다.
확인 퀴즈
위치를 구하는 데 위성이 최소 넷 필요한 이유는?
수신기 시계가 1 µs 틀리면 거리 오차는?
수십억 명이 동시에 GPS를 써도 붐비지 않는 이유는?
의사거리에 모든 위성에 똑같이 더해져 있는 것은?