ADS-B란 무엇인가
모든 여객기가 방송하는 신호. 무엇이 담겨 있고, 왜 누구나 받을 수 있으며, 무엇은 알려 주지 않는지.
자기 위치를 말하는 비행기
ADS-B는 Automatic Dependent Surveillance – Broadcast(자동 종속 감시 방송)의 약자예요. 단어를 하나씩 보죠. Automatic(자동): 항공기가 스스로 보내요, 아무도 묻지 않아요. Dependent(종속): 위치는 지상의 레이더가 아니라 항공기 자체의 위성 항법에서 와요. Surveillance(감시): 항공 교통 관제가 항공기를 따라가는 방법이에요. Broadcast(방송): 한 명의 청취자가 아니라 모두에게 보내요.
항공기는 대략 1초에 한 번, 1090 MHz로 짧은 메시지를 송신합니다. 메시지에는 신원(그 기체에 부여된 24비트 주소와, 보통은 그 편의 콜사인), 위치(위도와 경도), 고도, 속도, 방위가 담겨 있어요. 이따금 보내는 다른 메시지들이 항공기의 분류, 상승·하강률, 그리고 몇 가지 플래그를 더해 줍니다.
2020년부터 유럽과 미국의 관제 공역을 나는 대부분의 항공기는 ADS-B를 방송해야 해요. 여객기도, 비즈니스 제트기도, 많은 경비행기도 그렇게 합니다. 일부 군용기와 국가 항공기는 방송하지 않거나, 위치를 빼고 방송해요.
왜 들을 수 있는가
메시지는 암호화되지도, 서명되지도 않아요. 이건 의도된 설계예요. 주위의 모든 항공기와 모든 지상국이 다른 모든 항공기의 말을 들을 수 있어야 한다는 게 핵심이니까요. 형식은 공개되어 있고, 항공이 돌아가는 표준으로 정의되어 있으며, 주파수는 전 세계 어디서나 같아요.
그러니 수신기란 1090 MHz에 맞춘 라디오 하나와, 펄스를 글자로 바꿔 주는 프로그램 하나일 뿐이에요. 20년 전에는 그 라디오가 수천 유로였어요. 오늘날에는 디지털 TV용으로 팔리는, 엄지손가락만 한 USB 스틱이 그 일을 해냅니다. 안의 칩에 어떤 주파수든 들으라고 지시하고 원 신호를 컴퓨터로 넘기게 할 수 있거든요. 이 스틱을 RTL-SDR이라고 부르는데, 안의 칩(RTL2832U)과 그 발상(software-defined radio, 소프트웨어 정의 라디오: 컴퓨터가 해독을 맡는다)에서 온 이름이에요.
Raspberry Pi에서 해독을 맡는 프로그램은 보통 readsb로, 예전의 dump1090을 잇는 후속작이에요. 스틱의 소리를 듣고, 메시지를 해독한 뒤, 원하는 누구에게나 결과를 내어 줍니다. 브라우저의 지도(tar1090)에도, 추적 네트워크용 피더에도, ZenithBoard의 월에도요.
미국에서는: 978 MHz도
미국은 두 번째 주파수인 978 MHz도 쓰는데, UAT(Universal Access Transceiver, 범용 접속 송수신기)라고 부르며 주로 낮게 나는 소형 항공기용이에요. 이걸 들으려면 두 번째 USB 스틱과 두 번째 안테나가 필요해요. 그 밖의 모든 곳에서는 1090 MHz가 전부예요. ZenithBoard는 여러분의 지역을 한 번만 묻고, 미국이라고 답할 때만 978 MHz를 언급합니다.
얼마나 멀리 들리는가
신호는 빛처럼 직선으로 나아가요. 순항 고도의 항공기는, 안테나와 그 사이에 아무것도 없는 한, 아주 멀리서도 보여요. 언덕을 마주한 창문에서는 몇십 km를 들을 수 있고, 지평선이 트인 지붕에서는 250 km 이상도 흔한데, 가장자리의 항공기들은 11,000 m 높이에 있는 것들이에요. 가까이의 낮은 항공기는 건물과 나무 하나하나에 가려집니다. 거리는 안테나와 그 시야의 문제이지, 컴퓨터의 문제가 아니에요.
ADS-B가 알려 주지 않는 것
메시지는 항공기가 어디에 있는지를 말하지, 어디로 가는지는 말하지 않아요. 출발지, 목적지, 항공사 이름, 항공기 사진은 다른 곳에서 와요. 공개 등록부에서, 그리고 추적 네트워크와 ZenithBoard가 항공기 주소로 조회하는 데이터베이스에서요. ADS-B는 누가 타고 있는지도 말하지 않고, 여러분에 대해서도 아무것도 말하지 않아요. 수신은 수동적이고, 여러분의 수신기는 아무것도 송신하지 않습니다.
MLAT: 말하지 않는 것들을 듣기
일부 항공기는 신원은 보내지만 위치는 보내지 않아요(오래된 트랜스폰더가 그래요). 네 대 이상의 수신기가 같은 메시지를 들으면, 도착 시각의 미세한 차이로 위치를 구할 수 있어요. 번개의 위치를 천둥소리로 찾는 것과 같은 원리죠. 이것을 MLAT, multilateration(다변측정)이라고 해요. 여러분의 수신기 한 대로는 혼자 할 수 없지만, 네트워크에 피딩하면 그 네 대 중 하나가 됩니다. 이것이 공유해야 할 진짜 이유 중 하나예요.