Crimson
N331TK  AA0915  KMIA→SKBO
35001 ft  M.793  APM
19,8 dB  ACARS

vdl_mode_2

Lo que los aviones le dicen a su aerolínea por VDL Mode 2 en 136,975 MHz, leído byte por byte y puesto en una tabla en la consola.

Estado
Anda, con dumpvdl2 de receptor
Desarrollo
21 h

VDL Mode 2 es el ACARS de ahora. Los mismos mensajes de texto entre el avión y su aerolínea, en un canal digital de 25 kHz. Aquí hay uno solo. Todo pasa por 136,975 MHz, el canal común.

Un dongle escucha ese canal y el receptor dumpvdl2 deja cada trama en un registro del día, con sus bytes. La estación lee esos bytes. De ahí en adelante todo es Punk. El enlace y el texto ACARS salen de bibliotecas del lenguaje, las mismas que usa punk_band con el dongle.

Sólo se oyen los aviones. Uno a 34.000 pies llega desde cientos de kilómetros.

aeronaves lee el mismo registro. A la ficha de cada avión le suma lo que ese avión dijo por esta radio.

Funcionalidades

La tabla

  • Una fila por aeronave. Dirección ICAO, matrícula, aerolínea, vuelo, señal, tramas y mensajes ACARS, las tramas perdidas en la cuenta del enlace y la última oída.
  • La aerolínea sale de las dos letras del vuelo, y sólo cuando la matrícula la confirma.
  • Las vistas se turnan con v:
    • vuelo, con origen y destino y la ciudad al lado, altitud, Mach, velocidades, proa, track, temperatura, la edad de la muestra, la posición y lo que trae el ADS-C;
    • motores, con N1, N2, EGT, flujo, combustible y peso;
    • plan, con el próximo punto, la hora estimada, la pista y lo que dijo el XID;
    • todas juntas.
  • Las oídas en el último minuto van en negrita. El orden es por tramas o por la última oída.
  • Al final de cada vista, en rojo, la columna sin identidad. Lo que el avión mandó y no se pudo fijar con una cuenta que cierre va ahí tal como vino, con un «?» donde hay una sospecha.
  • Cada casilla trae el dato de la muestra más nueva, aunque la vieja se oiga después.

La ficha

  • Debajo de la tabla, la de la aeronave elegida. Enlace, señal y máximo, desde cuándo se le oye, avisos de mantenimiento con su capítulo ATA, y el XID.
  • Sus tramas una por renglón, la más reciente arriba. Cada una dice lo que trajo, o qué es si no trajo nada, como un acuse de enlace.
  • Con a la ficha cambia por las últimas tramas de todos.

El historial

  • Con h, una fila por trama con datos de la aeronave elegida, en las mismas columnas.
  • Adelante, la hora en que se oyó y la hora UTC en que el avión tomó la muestra. Las filas van en el orden de la muestra. Se nota el desfase.
  • La trama que el avión repite hasta que tierra le acusa recibo cuenta como un solo mensaje.

Lo que se lee

  • Los reportes de performance de motores, los de posición y el plan de vuelo.
  • Los avisos de llegada de Copa, con destino, pista y hora estimada.
  • La etiqueta 16 de Avianca Cargo, el ascenso de American con sus muestras cada tres minutos, y los pedidos de tiempo con el destino y sus alternos.
  • El informe de salud de los 737 MAX, que viene comprimido.
  • El XID del enlace. Dice a qué aeropuerto va el avión aunque no mande ACARS, y muchas veces dónde está.

El registro

  • Un registro por día. A medianoche la estación pasa sola al siguiente.
  • Lo sigue mientras se escribe. Con varios, monta los anteriores y sigue el último.
  • p pausa la lectura. Lo que llega mientras tanto espera en el disco.
  • También relee un registro terminado, o pasa el receptor sobre una grabación de IQ.
  • El receptor es el primer dongle libre. Se puede pedir uno por apodo o por serie.
  • Hay un modo que escucha los cinco canales de VDL2 al tiempo.

El banco de al lado

  • Un comparador en Python lee cada trama dos veces. Una con la estación de Punk desde los bytes, otra con dumpvdl2 y libacars desde el texto. Cruza campo por campo.
  • El oráculo de la biblioteca de textos corre sin dongle.
  • Un barrido de la banda con el dongle solo mide el piso de ruido. Dos barridos se comparan para juzgar una antena o un cable.

Cómo se usa

./run.sh                     # el dongle en 136,975 y la tabla encima
./run.sh --cinco             # los cinco canales
./run.sh grabaciones/x.txt   # relee un registro, sin radio
./run.sh captura.iq          # el receptor sobre una grabación
./run.sh --dongles           # los receptores conectados
./run.sh --compara           # Punk contra dumpvdl2, trama por trama
./run.sh --test              # el oráculo de los textos
↑ ↓ eligen la aeronave
ENTER fija o suelta el seguimiento de la última oída
v cambia la vista
h el historial de la elegida; h o ESC vuelven
RePag / AvPag recorren el historial
a las últimas tramas de todos en lugar de la ficha
o ordena por tramas o por la última oída
p pausa la lectura del registro
c limpia la tabla
q sale

← todos los proyectos