Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio

¡Hola, Habr!

Actualmente no existen tantos estándares de comunicación que, por un lado, resulten curiosos e interesantes, por otro lado, su descripción no ocupa 500 páginas en formato PDF. Una de ellas, fácil de decodificar, es la señal de radiobaliza omnidireccional (VOR) VHF utilizada en la navegación aérea.

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio
Baliza VOR (c) wikimedia.org

Para empezar, una pregunta para los lectores: ¿cómo formar una señal para que, con la ayuda de una antena receptora omnidireccional, sea posible determinar la dirección? La respuesta está debajo del corte.

Información general

Sistema Rango omnidireccional de muy alta frecuencia (VOR) se ha utilizado para la navegación aérea desde los años 50 del siglo pasado, y consiste en radiobalizas de alcance relativamente corto (100-200 km), que operan en el rango de frecuencia VHF de 108-117 MHz. Ahora, en la era de los gigahercios, el nombre de muy alta frecuencia en relación con tales frecuencias suena divertido y en sí mismo habla de la edad de este estándar, pero por cierto, las balizas siguen funcionando NDBoperando en el rango de onda media de 400-900 kHz.

Colocar una antena direccional en un avión es estructuralmente inconveniente, por lo que surgió el problema de cómo codificar la información sobre la dirección de la baliza en la propia señal. El principio de funcionamiento "en los dedos" se puede explicar de la siguiente manera. Imaginemos que tenemos una baliza ordinaria que emite un estrecho haz de luz verde, cuya lámpara gira 1 vez por minuto. Obviamente, una vez por minuto veremos un destello de luz, pero uno de esos destellos no lleva mucha información. Agreguemos un segundo al faro. no direccional una lámpara roja parpadea en el momento en que el haz de la baliza "pasa" la dirección hacia el norte. Porque se conocen el período de destello y las coordenadas de la baliza, al calcular el retraso entre los destellos rojo y verde, puede encontrar el azimut hacia el norte. Todo es simple. Queda por hacer lo mismo, pero con la ayuda de la radio. Esto se solucionó cambiando las fases. Se utilizan dos señales para la transmisión: la fase de la primera es constante (referencia), la fase de la segunda (variable) cambia de manera compleja según la dirección de la radiación: cada ángulo tiene su propio cambio de fase. Así, cada receptor recibirá una señal con "su" desfase proporcional al acimut de la baliza. La tecnología de "modulación espacial" se lleva a cabo utilizando una antena especial (Alford Loop, ver KDPV) y una modulación especial, bastante complicada. Que es en realidad el tema de este artículo.

Imaginemos que tenemos una baliza heredada ordinaria que funciona desde los años 50 y transmite señales en la modulación AM habitual en código Morse. Probablemente, alguna vez, el navegante realmente escuchaba estas señales en auriculares y marcaba las direcciones con una regla y una brújula en el mapa. Queremos agregar nuevas funciones a la señal, pero de una manera que no “rompa” la compatibilidad con las antiguas. El tema es familiar, nada nuevo ... Se hizo de la siguiente manera: se agregó un tono de baja frecuencia de 30 Hz a la señal AM, que actúa como una señal de fase de referencia, y un componente de alta frecuencia codificado por modulación de frecuencia en una frecuencia de 9.96 kHz, transmitiendo una señal de fase variable. Seleccionando dos señales y comparando las fases, obtenemos el ángulo deseado de 0 a 360 grados, que es el acimut deseado. Al mismo tiempo, todo esto no interfiere con la escucha de la baliza "de la forma habitual" y sigue siendo compatible con los antiguos receptores de AM.

Pasemos de la teoría a la práctica. Iniciemos el receptor SDR, seleccionemos la modulación AM y el ancho de banda de 12 kHz. Las frecuencias de las balizas VOR se pueden encontrar fácilmente en la web. En el espectro, la señal se ve así:

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio

En este caso, la señal de la baliza se transmite a una frecuencia de 113.950 MHz. La línea de modulación de amplitud fácilmente reconocible y las señales de código Morse (.- - ... que significa AMS, Ámsterdam, aeropuerto de Schiphol) son visibles en el centro. A una distancia de 9.6 kHz de la portadora, se ven dos picos que transmiten la segunda señal.

Grabemos la señal en WAV (no MP3; la compresión con pérdida "matará" toda la estructura de la señal) y la abrimos en GNU Radio.

Descodificación

Paso 1. Abramos el archivo con la señal grabada y apliquemos un filtro de paso bajo para obtener la primera señal de referencia. El gráfico GNU Radio se muestra en la figura.

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio

Resultado: una señal de baja frecuencia con una frecuencia de 30 Hz.

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio

Paso 2: decodifica la señal de fase variable. Como se mencionó anteriormente, se encuentra en una frecuencia de 9.96 kHz, necesitamos transferirlo a frecuencia cero y alimentarlo al demodulador de FM.

Gráfico de radio GNU:

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio

Todo, la tarea está resuelta. Vemos dos señales, cuya diferencia de fase indica el ángulo desde el receptor hasta la baliza VOR:

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio

La señal es bastante ruidosa y es posible que se requiera un filtrado adicional para el cálculo final de la diferencia de fase, pero se espera que el principio sea claro. Para aquellos que han olvidado cómo se determina la diferencia de fase, la imagen es de aviación.stackexchange.com:

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio

Afortunadamente, todo esto manualmente no se puede hacer: ya hay proyecto terminado en Python que decodifica señales VOR de archivos WAV. En realidad, su estudio me inspiró a estudiar este tema.

Quienes lo deseen pueden ejecutar el programa en la consola y obtener el ángulo terminado en grados del archivo ya grabado:

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio

Los fanáticos de la aviación pueden incluso crear su propio receptor portátil con un RTL-SDR y una Raspberry Pi. Por cierto, en un avión "real", este indicador se parece a esto:

Determine la dirección al aeropuerto usando RTL-SDR y GNU Radio
Imagen © www.aopa.org

Conclusión

Tales señales "del siglo pasado" son definitivamente interesantes para el análisis. En primer lugar, son DRM bastante simples y modernos, o incluso más GSM, por lo que es imposible decodificar "con los dedos" de esa manera. Están abiertos para recepción, no tienen claves y criptografía. En segundo lugar, quizás en el futuro pasen a la historia y sean reemplazados por la navegación por satélite y sistemas digitales más modernos. En tercer lugar, el estudio de dichos estándares le permite descubrir detalles técnicos e históricos interesantes de cómo se resolvieron los problemas en otros circuitos y elementos base del siglo pasado. Por lo tanto, se puede recomendar a los propietarios de los receptores que reciban dichas señales mientras aún están funcionando.

Como siempre, buena suerte con tus experimentos.

Fuente: habr.com

Añadir un comentario