GN⁺: Show HN: GPS 수신기 제작 프로젝트
(axleos.com)GPS 신호 탐지하기
- GPS 위성은 지구 전체를 서비스하기 위해 약 30개 정도만 존재함. 마치 전세계 DNS 서버가 13개의 루트 서버에서 시작되는 것과 유사한 설계임.
- GPS 신호는 고도나 날씨에 상관없이 항상 우리 주변에 존재함. 우리 몸을 스치는 전자기파의 언어를 이해하면 언제 어디서든 정확한 위치를 알아낼 수 있음.
- GPS는 지금까지 인류가 시도한 가장 대담한 지구공학 프로젝트 중 하나임. 안테나와 의지만 있다면 그 흔적을 느낄 수 있음.
미약한 GPS 신호
- GPS 위성에서 송출하는 신호의 세기는 가정용 전구 수준이지만, 지상에 도달할 때는 엄청나게 약해짐.
- 2만 km 떨어진 곳에서 초당 100만번 깜빡이는 전구의 빛을 보는 것과 같음. 하지만 그 미약한 깜빡임도 탐지, 해독, 이해하여 유용하게 쓸 수 있음.
- GPS 신호가 매우 약해서 GPS 서비스에 요금을 부과하기 어려움. 위성 입장에서는 그냥 신호를 보내기만 함.
GPS 신호 듣기
- GPS는 전자기파로 전송되는데, 이는 라디오와 같은 것임. 주파수가 중요한 요소임.
- GPS 신호를 수신하려면 GPS 주파수에 맞춰진 소프트웨어 정의 라디오(SDR)가 필요함.
- SDR을 설정하고 bias tee, AGC, IQ 보정 등을 조정하면 스펙트럼을 탐색할 수 있음.
미약한 신호 잡아내기
- 지상에 도달한 GPS 신호는 주변 잡음보다 10만배나 약함. 즉 열 잡음보다 50db 이상 낮은 수준임.
- 하지만 GPS는 신호처리 기법을 통해 잡음 속에서도 신호를 식별하고 해독할 수 있음.
- GPS는 위성과 수신기 모두 아는 C/A 코드를 사용함. 위성은 이를 초당 1000번 반복 송출함.
- 수신기는 수신 신호를 계속 누적해서 기대하는 C/A 신호와 비교함. 잡음은 평균이 0에 수렴하고 C/A 신호는 점점 커짐.
- 이를 역확산 스펙트럼이라 부르고, 다중 위성에 적용하기 위해 코드분할다중접속 기법을 사용함.
- C/A 코드에 실제 데이터를 실어 보냄. C/A는 초당 100만 비트, 데이터는 초당 50비트로 전송됨.
C/A 코드 생성
- GPS 위성마다 고유한 C/A 코드를 가짐. 민간 GPS 규격서에 정의되어 있음.
- 온라인에 C/A 코드 생성법은 많지만 실제 코드는 잘 없어서, 직접 생성한 코드를 공유함.
GPS 위성 신호 탐지
- 수신기는 32개 위성의 C/A 코드 사본을 만들어 안테나로 수신한 데이터와 상호 연관시킴.
- 수신 신호는 도플러 편이, 위상 차이 등 왜곡이 발생함.
- 수신기는 각 위성별 C/A 코드, 예상 도플러 편이 범위, 위상 차이 등을 모두 고려해야 함.
- 탐지 단계의 계산 부하가 큼. 최적화 연구가 많이 진행되고 있음.
- 주파수 영역에서 상호 연관을 취해 위상차와 도플러 편이를 한번에 다룸.
- 이진 탐색으로 가장 강한 연관성을 보이는 도플러 편이를 찾음.
GN⁺의 의견
- GPS는 인상적인 기술이지만, 기존 기술을 정교하게 조합한 것임. 획기적인 새 기술은 아님.
- 전용 하드웨어로도 GPS 수신이 가능한데, 소프트웨어로도 할 수 있게 된 건 큰 진전임. 앞으로도 하드웨어 기능이 소프트웨어로 대체되는 추세가 가속화될 듯함.
- GPS 신호가 약한 건 보안에 도움이 될 수 있음. 의도적 방해나 스푸핑이 어려워짐.
- GPS는 군사 기술에서 출발했지만, 민간에 개방되면서 폭발적으로 응용 분야가 늘었음. 기술을 공개하고 공유하는 게 혁신을 가속화함.
- 초기 GPS 수신기는 크고 비쌌는데, 지금은 스마트폰에 다 들어있음. 기술이 발전하고 저변이 확대되며 가격이 낮아지고 소형화되는 과정을 보여줌.
Hacker News 의견
-
최신 직접 RF 샘플링 수신기들은 GPS 신호를 처리하기에 충분한 속도로 동작하며, Xilinx RFSoC나 NI의 FlexRIO와 같은 제품이 출시되고 있음. 다만 아직 가격이 높은 편임.
-
GPS는 1978년 출시되어 현재 인구의 절반 이상이 GPS가 없던 시대를 모르고 살고 있음. 2000년까지는 정확도를 의도적으로 낮춘 Selective Availability 기능이 작동해서 실생활에서 큰 도움이 되진 않았음.
-
gypsum이 1분 내에 cold start에서 위치를 파악하는 속도는 오늘날의 상용 수신기보다 우수한 편임. 과거 초기 상용 수신기는 위치를 잡는데 15-20분이 걸렸음.
-
예전에는 시속 600m 이상으로 이동 중 내비게이션이 가능한 GPS 수신기는 ITAR에서 군수품으로 분류되었음. 현재는 규정이 복잡해져서 적용 여부가 불분명함.
-
iPhone으로 비행 중 사진을 찍으면 착륙 후 사진에 위치 정보가 기록되어 호기심 가는 지형을 나중에 찾아볼 수 있음.
-
GPS는 비행기 모드에서도 작동하고, 이동통신이나 와이파이 없이도 작동함. 미국이 운영하며 필요시 특정 지역의 서비스를 차단할 수 있어서 여러 국가들이 자체 위성항법시스템을 개발하고 있음.
-
GPS 위성은 위치가 아니라 시각 정보만 송신함. 항성 항법도 정확한 시각에 의존한다는 점이 흥미로움.
-
GPS 개발 과정이 흥미롭게 서술된 "GPS Declassified"라는 책과 개발자들을 인터뷰한 "The Lonely Halls Meeting" 다큐멘터리를 YouTube에서 볼 수 있음.