Está en la página 1de 90

Proyecto Fin de Carrera

Trabajo Fin de Grado


Ingeniería
Grado ende Ingeniería
Telecomunicación
Aeroespacial,
Int. Navegación Aérea

Formato de Publicación
Procesado de la de
y análisis Escuela Técnica
señales de
Superior de Ingeniería
navegación VOR

Autor:Autor:
F. Javier Payán Castro
Francisco SometCastro
Tutor:Tutor:
Juan Joaquín
José Murillo Fuentes
Granado Romero

Dpto.
Dep. Teoría de laIngeniería Electrónica
Señal y Comunicaciones
Escuela
Escuela Técnica
Técnica Superior
Superior de Ingeniería
de Ingeniería
Universidad
Universidad de Sevilla
de Sevilla
Sevilla, 2022
Sevilla, 2013
Trabajo Fin de Grado
Grado en Ingeniería Aeroespacial,
Int. Navegación Aérea

Procesado y análisis de señales de navegación


VOR

Autor:
Francisco Castro Castro

Tutor:
Joaquín Granado Romero
Profesor Titular

Dpto. Ingeniería Electrónica


Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2022
Trabajo Fin de Grado: Procesado y análisis de señales de navegación VOR

Autor: Francisco Castro Castro


Tutor: Joaquín Granado Romero

El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores:

Presidente:

Vocal/es:

Secretario:

acuerdan otorgarle la calificación de:

El Secretario del Tribunal

Fecha:
Agradecimientos

is más sinceros agradecimientos a mi tutor Joaquín Granado Romero, pues desde que le comenté mi
M interés en realizar el Trabajo Fin de Grado con él como tutor mostró gran interés y dedicación, que
me ha transmitido para realizar un trabajo sobre un tema que me apasiona, como son las Comunicaciones
Aeronáuticas. Sin su ayuda no habría sido capaz de aprender sobre los conceptos desarrollados en este trabajo
de la misma forma, y su consejo y guía han sido clave para que el trabajo se haya completado.
También agradecer al resto de profesores del grado de Ingeniería Aeroespacial, tanto a aquellos que en los
primeros años nos animaban a continuar como a los que en los últimos años nos enseñaron los temas más
avanzados, pues gracias a todos, sus alumnos podemos ejercer como ingenieros.
Agradecer también a todos mis amigos y amigas, tanto a mis amigos del pueblo que han tenido que
aguantarme en muchas épocas de estudio y sin poder dedicarles mucho tiempo como a los amigos que he
hecho en el grado, pues gracias a ellos los días en la ETSI se hacían más amenos.
Para terminar, agradecer sobretodo a mi familia. El sacrificio que han realizado mis padres para que yo
pudiera estudiar es algo de lo que nunca me olvidaré. Muchas gracias por el apoyo que todos los miembros
de mi familia me han dado, y cómo siempre han creído en mí y en que iba a ser capaz de graduarme.

Francisco Castro Castro


Sevilla, 2022

I
Resumen

l sistema de ayuda a la navegación VOR, por sus siglas en inglés de Very high frequency Omnidirectional
E Range es uno de los más importantes en la navegación aérea desde mitad del siglo 20. Su simpleza,
junto a la capacidad de uso simultáneo por varios receptores y al buen alcance horizontal y vertical que
aportan permiten la creación de rutas o aerovías, que las aeronaves son capaces de seguir para llegar a su
destino de forma segura y ordenada.
Por otro lado, los dispositivos SDR, por sus siglas en inglés de Software Defined Radio, son dispositivos
pequeños y baratos, conectables mediante USB y/u otra conexión a un ordenador. Son dispositivos receptores
de señales de radiofrecuencias que se programan mediantes software, es decir, desde el ordenador, y que
permiten captar señales en un amplio rango de frecuencias.
Por tanto, el objetivo del trabajo es el diseño de un receptor de señales de sistemas VOR, capaz de realizar
su demodulación y presentar al usuario los datos de interés. Para su desarrollo se hará uso de cosimulación en
Python y MATLAB, que permitirán la implementación de códigos para la obtención de los filtros y bloques de
comunicación necesarios, así como la generación de señales VOR ideales siguiendo las fórmulas conocidas.
Una vez se ha comprobado que las señales ideales son correctamente procesadas por el receptor, el siguiente
paso es capturar con un dispositivo SDR señales reales de estaciones VOR. Tras ello, se procesan las capturas
en el receptor diseñado y los datos se analizan para comprobar la variación entre señales reales e ideales.
El fin último del trabajo es el procesamiento con el receptor de Python de las señales VOR en tiempo real,
es decir, que conforme se captura la señal con el dispositivo SDR se pueda obtener el ángulo del receptor
respecto a la estación VOR seleccionada. El resultado será discutido y se expondrá al final del documento,
junto con las líneas de trabajo futuras.

III
Abstract

he VOR navigation aid system, for its acronym in English for Very high frequency Omnidirectional
T Range is one of the most important in air navigation since the middle of the 20th century. Its simplicity,
combined with the capacity of simultaneous use by several receivers and the good horizontal and vertical
range they have allow the creation of routes or airways, which aircrafts are capable of following to reach their
destination in a safe and orderly way.
On the other hand, SDR devices, for its acronym in English for Software Defined Radio, are small and
cheap devices, connectable via USB and/or other connection to a computer. They are receiving devices of
radiofrequency signals that are programmed through software, that is, from the computer, and they allow to
capture signals in a wide range of frequencies.
Therefore, the goal of the work is the design of a receiver for VOR systems signals, capable of performing
its demodulation and present the data of interest to the user. For its development, Python and MATLAB
cosimulation will be used, which will allow the implementation of codes to obtain the filters and blocks of
communication, as well as the generation of ideal VOR signals following the known formulas.
Once it has been verified that the ideal signals are correctly processed by the receiver, the following step is
to capture real signals from VOR stations using an SDR device . After that, the captures are processed in the
designed receiver and the data is analyzed to check the variation between real and ideal signals.
The final goal of the work is the processing of VOR signals using the Python receiver in time real, that
is, as the signal is captured using the SDR device the angle of the receiver with respect to the VOR station
selected can be obtained. The result will be discussed and will be exposed at the end of the document, along
with the lines of future work.

V
Índice

Resumen III
Abstract V
Acrónimos IX

1 Introducción y objetivos 1
1.1 Introducción 1
1.2 Objetivos 1

2 Sistema VOR 3
2.1 Principio de Funcionamiento 5
2.2 Estación de tierra: Señal VOR 6
2.2.1 VOR Convencional - CVOR 7
2.2.2 VOR Doppler - DVOR 9
2.3 Receptor VOR a Bordo 10
2.4 Indicador VOR a Bordo 11

3 SDR 13
3.1 Tipos de SDR 14
3.1.1 RTL-SDR - Receptores 14
3.1.2 HackRF One - Receptores y Transmisores 14
3.2 Arquitectura del RTL-SDR 15
3.3 SDR Hardware 17
3.4 SDR Software 17

4 Modelo y Simulación del Receptor 21


4.1 Receptor 21
4.1.1 Demodulación de la Señal AM 22
4.1.2 Demodulación de la Señal FM 23
4.1.3 Cálculo de la Fase estimada 25
4.2 Generación de Trayectorias 28
4.2.1 Tramo de Seguimiento de Radial. Acercamiento/alejamiento del VOR 29
4.2.2 Tramo de Viraje Horizontal 29
4.3 Resultados de simulación 29
4.3.1 Caso ideal 1: de 30◦ a 220◦ 30
4.3.2 Caso ideal 2: de 0◦ a 160◦ 35
4.3.3 Caso ideal 3: de 360◦ a 60◦ 37
4.4 Resultados con señales capturadas 39
4.4.1 Caso real 1: Captura estática 39
4.4.2 Caso real 2: Captura en movimiento 46

5 Codificación en Python y cosimulación 51

VII
VIII Índice

5.1 Consideraciones de hardware 51


5.2 Aplicación 52
5.3 Captura en tiempo real 53
5.3.1 Configuración y características de las pruebas 53
5.3.2 Realización de capturas 54
5.4 Validaciones 56
5.4.1 Validación con excitación ideal 57
5.4.2 Validación con excitación real 60
5.4.3 Resultados del modelo con señales en tiempo real 62

6 Conclusiones y Líneas Futuras 65


6.1 Conclusiones 65
6.2 Líneas Futuras 65

Índice de Figuras 67
Índice de Tablas 69
Índice de Códigos 71
Bibliografía 73
Acrónimos

ACC Acumulador
ADC Convertidor Analógico-Digital
API Interfaz de Programación de Aplicaciones
BPF Filtro Paso Banda
COFDM Coded Orthogonal Frequency Division Multiplexing
DV B − T Digital Video Broadcasting – Terrestrial
GNSS Global Navigation Satellite System
Hz Hercios
I/Q En fase y Cuadratura
IDE Entorno de Desarrollo Integrado
IFR Instrument Flight Rules
LNA Low Noise Amplifier
LPF Filtro Paso Bajo
NCO Numerically-controlled oscillator
NVCO Numerical Voltage Controlled Oscillator
OACI Organización de Aviación Civil Internacional
PLL Phase-locked Loop
PpC Periods per Capture
RF Radiofrecuencias
ROM Read-Only Memory
SBO SideBands Only
SDR Software Defined Radio
SMA SubMiniature Version A Connector
SpP Samples per Period
SpC Samples per Capture
T HD Total Harmonic Distortion
USB Universal Serial Bus
VCO Voltage Controlled Oscillator
V HF Very High Frequency
VOR Radiofaro omnidireccional VHF

IX
1 Introducción y objetivos

1.1 Introducción

os sistemas de ayuda a la navegación en el campo de la aeronáutica tienen gran importancia, ya que su


L uso permite a las aeronaves conocer su posición y dirección de movimiento en todo momento, para así
seguir rutas concretas y poder viajar de forma segura y controlada.
Los sistemas VOR, de sus siglas en inglés Very High Frecuency Omnidirectional Range, permiten a la
aeronave determinar en qué radial o ángulo se encuentra con respecto a la estación VOR que emite las señales
de radio. Es una de las radioayudas más importantes en la aviación y que, en vías de quedar en desuso por el
creciente desarrollo y precisión que ofrecen los sistemas GNSS (Global Navigation Satellite Systems), son
los principales puntos de apoyo para la definición de las rutas para vuelos mediante instrumentos (IFR).
El sistema VOR es una radioayuda de corto alcance, con un alcance máximo de aproximadamente 200
millas náuticas. Funciona en la banda de frecuencias VHF, cada estación tiene asignada una frecuencia
concreta, variando entre los 108 y 118 MHz.
Por otro lado, los dispositivos SDR, por las siglas en inglés de Software Defined Radio, son dispositivos
de radio electrónicos donde varios de los componentes típicamente implementados en hardware (como
mezcladores, filtros, moduladores/demoduladores, detectores, etc) son programables mediante software.
Tienen múltiples utilidades y son baratos y accesibles. La mayoría de modelos alcanza un rango de frecuencias
medible que permiten la recepción de señales VOR.
Una vez obtenida la señal de la estación con el SDR, debe ser analizada y procesada correctamente para
que el usuario o aeronave sea capaz de encontrar su ángulo respecto a la estación sintonizada. Es por ello
que se ha optado por el desarrollo de un receptor de señales VOR en Python. Python es un lenguaje de
programación que ha ganado popularidad en los últimos años pues, es un lenguaje de alto nivel (es decir,
las instrucciones dadas son escritas como palabras, y no en lenguaje binario), sencillo, siendo un lenguaje
interpretado, dinámico y multiplataforma orientado a objetos, programación imperativa y programación
funcional [14].
Aunque Python es un lenguaje de programación muy versátil, cómodo y sencillo de utilizar, no cuenta
con la potencia y facilidad de uso de herramientas para graficar y estudio en detalle las señales que otros
programas otorgan. Por tanto, para el análisis de los resultados, se hará uso de las herramientas de MATLAB.
MATLAB es un sistema de cómputo numérico que ofrece un entorno de desarrollo integrado (IDE) con un
lenguaje de programación propio. Permite la manipulación de matrices, así como el desarrollo de funciones y
la representación de datos [9]. Es capaz de comunicarse con otros lenguajes de programación y dispositivos,
tales como el SDR. Tiene multitud de funciones internas que serán de gran utilidad a la hora de analizar los
resultados del receptor desarrollado.

1.2 Objetivos

os objetivos del trabajo se definen a continuación:


L 1. Diseñar y validar un receptor VOR en Python: se programará un demodulador o receptor de señales
VOR que permita obtener la fase estimada respecto a una estación VOR.

1
2 Capítulo 1. Introducción y objetivos

El modelo se probará tanto en MATLAB como en Python para comprobar su funcionamiento cuando
el receptor se encuentra en un punto fijo y para una trayectoria que varía su fase en distintos puntos.
2. Utilizar un dispositivo SDR para captura de señales VOR: se harán capturas de una señal VOR real con
un dispositivo SDR, y se analizará el resultado obtenido.
Con estas capturas, se volverá a usar el modelo del receptor anteriormente realizado en Python para
obtener la fase estimada en cada instante, y compararla con la fase real en la que se realizó la captura.
También su espectro será analizado en MATLAB para ver la diferencia entre esta señal y una ideal.
3. Procesar en tiempo real señales VOR: con validación del modelo del receptor y comprobando que se
capturan las señales correctamente, el último objetivo del trabajo es el procesamiento de señales VOR
en tiempo real.
2 Sistema VOR

l VOR es una radioayuda a la navegación que permite al receptor obtener con precisión el ángulo o fase
E respecto al norte magnético entre la estación VOR que se ha sintonizado y el propio dispositivo de
recepción de señales VOR. Es uno de los sistemas de ayuda a la navegación más utilizado, ya que permite
la definición de rutas o aerovías para que los aviones puedan organizarse y seguirlas, permitiendo un uso
del espacio aéreo más seguro y organizado. Fue desarrollado en 1937 en los Estados Unidos, y su primera
implementación fue en 1946, convirtiéndose en el sistema de navegación estándar desde entonces [19].

En la Figura 2.1 se puede observar un esquema donde la aeronave está realizando una maniobra de
aproximación a la estación VOR, siguiendo un radial, es decir, manteniendo su rumbo de manera que el
ángulo que forma respecto al norte magnético visto desde la estación no cambie.

Figura 2.1 Ejemplo de Estación VOR - Web luizmonteiro [10].

Existen multitud de tipos de instalaciones VOR desarrolladas y utilizadas a lo largo de los años. En el
contexto de la tecnología que utilizan para la generación de la información, existen los VOR Convencionales
(CVOR) o los VOR Doppler (DVOR), que se detallarán en el Apartado 2.2. Por otro lado, se pueden clasificar
en función de su uso y capacidades de la siguiente forma [3] :

• VOR Terminal (TVOR): Alcance desde 1000-12000 ft en vertical y 25 nm en horizontal. Usado en


aeropuertos para apoyo en el aterrizaje y despegue.

3
4 Capítulo 2. Sistema VOR

Figura 2.2 Alcance de estación TVOR.

• VOR de Ruta de Baja Altitud (LVOR): Alcance desde 1000-18000 ft en vertical y 40 nm en horizontal.
Usado para espacios aéreos bajos.

Figura 2.3 Alcance de estación LVOR.

• VOR de Ruta de Alta Altitud (HVOR): Alcance desde 1000-60000 ft en vertical y hasta 130 nm en
horizontal. En este caso, el alcance en horizontal es determinado por servicios distintos, dependientes
de la altitud a la que se encuentre la aeronave. En general, a medida que aumenta la altitud, aumenta el
rango horizontal, siendo la única excepción el último tramo.

Figura 2.4 Alcance de estación HVOR.

A lo largo de este Capítulo del trabajo se expone el principio de funcionamiento del sistema, se detalla la
2.1 Principio de Funcionamiento 5

señal producto que se genera en cada estación, se explica la arquitectura que presentan los receptores VOR y,
para finalizar, se muestran los indicadores que presentan la información del VOR instalados en las aeronaves.

2.1 Principio de Funcionamiento

l receptor VOR determina el ángulo existente entre la dirección que une a éste con la estación VOR y el
E norte magnético. Conociendo este ángulo y la distancia a la estación (haciendo uso de otro sistema de
ayuda a la navegación, como el Distance Measuring Equipment, DME), se puede calcular la distancia lateral
o Cross Track Error (XTE) entre el avión y la ruta. Es por esto último que, normalmente, las estaciones VOR
no suelen venir solas, pues vienen acompañadas de un DME para conocer la distancia a la estación junto al
ángulo respecto al Norte [11].
La señal enviada tiene polarización horizontal, es decir, está orientada de forma que el vector correspon-
diente al campo eléctrico se encuentra en el plano horizontal y, el vector magnético por tanto perpendicular
al mismo. Para determinar el mencionado ángulo respecto al norte magnético, la estación VOR transmite la
señal sobre una portadora de VHF en dos partes:

• Una señal de referencia, omnidireccional y de 30 Hz.


• Una señal direccional (rotatoria) de 30 Hz. Su fase es dependiente con la dirección en la que se
encuentra el receptor.

Por tanto, la medida del ángulo se realiza comparando la fase entre ambas partes de la señal. En teoría,
éstas se encuentra en fase, o mejor dicho, tienen la misma fase si el receptor se encuentra justo en el norte
magnético respecto a la estación. Se observa en la Figura 2.5:

Figura 2.5 Principio de funcionamiento del sistema VOR.

El uso de frecuencias, establecidos en el AIP (Publicación de Información Aeronáutica) [1], determinan la


banda de frecuencias de 112 a 118 MHz para los VOR de Ruta, y la banda de 108 a 112 MHz para los VOR
Terminal, estando los canales separados por 50 kHz. El uso de estas frecuencias resulta en una propagación
de la señal de radiofrecuencias en línea recta, para la definición de los radiales, pero también restringe su uso
a una línea de visión, es decir, la emisora debe verse sin obstáculos respecto al receptor. El alcance de las
estaciones está limitado por la limitación comentada y que, conociendo la curvatura del planeta, se puede
estimar de la forma:

√ √ √
R2 + d 2 = (R + h)2 = R2 + h2 + 2Rh →
− d= 2Rh ≈ 2 · 6371 · h ≈ 113 h (2.1)
6 Capítulo 2. Sistema VOR

Siendo R el radio terrestre, 6371 km aproximadamente; d el alcance y h la altitud del receptor. Aunque,
para una altitud de 10km se obtiene un alcance de 357.34 km aproximadamente, la OACI (Organización de
Aviación Civil Internacional) recomienda en el Anexo 10 una cobertura óptima de 200 km entre estaciones
para cumplir [4].

2.2 Estación de tierra: Señal VOR

Como se ha comentado en el apartado previo, la estación VOR opera en el rango de frecuencias de 108-118
MHz, estando catalogado como VHF. Los canales están separados 50 kHz, por lo que hay 200 disponibles.
Cada canal corresponde con la señal que una estación emite.

La señal completa de navegación VOR se compone de las señales omnidireccional y direccional descritas,
que se encuentran moduladas en AM a la portadora, así como la identificación de la estación, realizada en
código Morse con un subtono de 1020 Hz repetida varias veces cada minuto, y la señal de audio que repite el
nombre de la estación, avisos de vuelo o transmisiones de servicios de vuelo, aunque esta última puede no
ser usada.

El principio de operación se asemeja al de un faro tradicional: la estación genera la señal con un patrón
cardioide rotando con una velocidad de rotación de 30rps, dando lugar a la señal direccional de 30Hz. Por
otro lado, se emite una señal de 30Hz omnidireccional para la referencia. Obteniendo la diferencia entre las
fases de ambas se consigue la fase del receptor respecto al norte magnético.

Una de las 2 señales se modula en amplitud directamente sobre la portadora a 30Hz, con una modulación
espacial en fase. Como necesitamos que la otra señal esté también a 30Hz y no se puede añadir otra señal
modulada en AM adicional a la portadora a 30Hz (ya está ocupada por la primera señal), la otra señal se
modula sobre una subportadora a 9960Hz. Ésta se encuentra modulada en frecuencia con una señal senoidal
de 30Hz y con un ancho de modulación FM de ±480Hz. En esta subportadora se modula en AM la portadora
original. El que sea la señal direccional o la omnidireccional la que se encuentre modulada en FM depende de
si se utiliza la tecnología del VOR Convencional o del VOR Doppler. En la Figura 2.6 se muestra el espectro
en el dominio de la frecuencia de la señal descrita:

Figura 2.6 Señal VOR completa en el dominio de la Frecuencia.

Conociendo la estructura de la señal VOR, nos queda obtener la expresión matemática que la definen. Esta
expresión va a depender de si estamos ante una estación que utiliza la tecnología de un VOR Convencional
o, por otro lado, la de un VOR Doppler. Las ecuaciones que gobiernan la señal VOR serán las siguientes,
siendo la Ecuación 2.2 la correspondiente a una estación CVOR y la Ecuación 2.3 la de un DVOR:
2.2 Estación de tierra: Señal VOR 7

1 1 ∆f
sCVOR (t) = AP [1 + cos(2π fVORt + θ ) + cos(2π fSPt + sin(2π fVORt))+
3 3 2π fVOR
(2.2)
2 1
+ cos(2π fIdent t) + sAudio (t)]
10 10

1 1 ∆f
sDVOR (t) = AP [1 + cos(2π fVORt) + cos(2π fSPt + sin(2π fVORt + θ ))+
3 3 2π fVOR
(2.3)
2 1
+ cos(2π fIdent t) + sAudio (t)]
10 10
Donde los términos corresponden con:

• AP : Amplitud de la portadora.
• θ : Fase o ángulo respecto al Norte Magnético.
• fVOR = 30Hz.
• fSP = 9960Hz.
• fIdent = 1020Hz.
• fP : frecuencia de la portadora, depende de la estación VOR. fP ∈ [108,119.75]MHz
• ∆ f = 480Hz.
• sAudio : señal de audio con la identificación de la estación. sAudio ∈ [300,3000]Hz

Las ecuaciones 2.2 y 2.3 reflejan que ambas emisoras, CVOR y DVOR, comparten señales muy similares
en estructura, diferenciándose en si la fase (θ ) se modula en AM o en FM. Una vez visto el mensaje que debe
enviar una estación VOR, se estudiarán los dos tipos para entender qué los caracterizan y cómo son capaces
de generar dichas señales.

2.2.1 VOR Convencional - CVOR

La emisora CVOR es capaz de generar la señal direccional mediante el uso de dos dipolos posicionados
ortogonalmente entre sí, obteniendo el patrón de radiación que se observa en la Figura 2.7. Combinando este
patrón dependiente de la fase con una tercera antena, de bucle omnidireccional, se obtiene la señal VOR de
la forma en la que se comenta en la Ecuación 2.2.

Figura 2.7 Patrón de radiación de emisora CVOR.


8 Capítulo 2. Sistema VOR

Los diagramas de radiación correspondientes a los dipolos siguen las siguientes expresiones:

V1 (θ ) = VE · cos(θ ) || V2 (θ ) = VE · sin(θ ) (2.4)

Siendo V1 y V2 la tensión que emite cada dipolo y VE el módulo de dicha tensión que es igual para ambos.
θ es el ángulo correspondiente a la dirección para la que se está emitiendo.
Cada una de las antenas dipolo se alimenta con una señal llamada SideBands Only (SBO) (E1 y E2 de las
Ecuaciones 2.5 y 2.6 respectivamente), desfasadas 90º:

E1 = E0 cos(2π fVORt)cos(2π fPt) (2.5)


E2 = E0 sin(2π fVORt)cos(2π fPt) (2.6)

Donde fVOR = 30Hz y fP es la frecuencia de portadora correspondiente a la estación CVOR, única para
cada una. La suma de las dos señales de los dipolos da lugar a la señal de radiofrecuencia, dependiente con el
ángulo θ respecto al Norte magnético:

E ∝ cos(2π fPt)[sin(2π fVORt)cos(θ ) + cos(2π fVORt)sin(θ )] (2.7)

Simplificando:

E ∝ cos(2π fPt)[sin(2π fVORt + θ )] (2.8)

Para obtener la señal completa que emite la estación, se suma el efecto de la antena de bucle omnidireccional.
Éste efecto no depende de θ , por tanto finalmente:

E ∝ cos(2π fPt)[1 + sin(2π fVORt + θ )] (2.9)

Este patrón corresponde con una cardioide, como el de la Figura 2.8, que rota con una frecuencia igual a
fVOR = 30Hz, que era lo que se buscaba. Con esta tecnología, el CVOR es capaz de alcanzar una precisión
de ±2º, con una confianza del 95 % de dar precisión de ±1.5º.

Figura 2.8 Patrón de radiación cardioide.

En la Figura 2.9 se muestra el ejemplo de una estación CVOR real, donde se observa su reducido tamaño
frente a la estación DVOR que se muestra más abajo en la Figura 2.10.
2.2 Estación de tierra: Señal VOR 9

Figura 2.9 Estación CVOR.

2.2.2 VOR Doppler - DVOR

La emisora DVOR da una mejora de precisión significativa frente al CVOR, pasando de 2º a 0.5º. Esto es
gracias a que en lugar de obtener la direccionalidad por el uso de ganancia geométrica en la antena, se obtiene
por modulación FM Doppler.

La antena completa está compuesta por 26 parejas de antenas dipolo formando una circunferencia, y en el
centro una antena de dipolo omnidireccional. En cada momento hay 3 antenas alimentadas: la omnidireccional
del centro y una pareja de dipolos, que se encuentran en lados opuestos. La antenas del par transmiten a
frecuencias fP ± 9960Hz, de forma que al conmutar estos pares de antenas, desde el receptor se percibe como
un par giratorio de antenas con una frecuencia de rotación a 30 revoluciones por segundo.

El desplazamiento Doppler de éste efecto se deduce como la expresión de la Ecuación 2.10:

v ω · asin(γ) 2π fVOR · asin(γ)


∆f = = VOR = fP (2.10)
λ λ c

Donde v es la velocidad de la antena en la dirección del receptor, c la velocidad de la luz, a el radio de la


circunferencia (típicamente 6.76m), fVOR = 30Hz la frecuencia de rotación y fP la frecuencia de la portadora
VHF o frecuencia de la estación.

En el receptor se recibe la señal resultante, que es la suma de la subportadora en 9960 Hz modulada


en FM, gobernada por la Ecuación 2.11; y la señal omnidireccional de la antena colocada en el centro,
correspondiente con la Ecuación 2.12.

sVAR,DVOR = cos(2π fSPt + ∆ f · cos(2π fVORt + θ )) · sin(2π fPt) (2.11)


30
sREF,DVOR = (1 + cos(2π fVORt)) · sin(2π fPt) (2.12)
100

Donde, en las ecuaciones anteriores, fSP = 9960Hz.

Las estaciones VOR usadas a día de hoy son de este tipo en su mayoría, pues la mejora respecto al VOR
convencional es bastante significativa para la definición de aerovías. En la Figura 2.10 se muestra la imagen
de una de ellas:
10 Capítulo 2. Sistema VOR

Figura 2.10 Estación DVOR.

2.3 Receptor VOR a Bordo

El receptor embarcado en las aeronaves debe ser capaz de demodular la señal VOR y encontrar la fase o
radial respecto a la estación VOR sintonizada en la que se encuentra. Para ello, el receptor se compone de
un detector AM, varios Filtros de Paso Bajo (LPF), un Filtro Paso Banda (BPF), un Demodulador FM y un
Comparador de Fases, organizados de la forma en la que se observa en la Figura 2.11:

Audio
Señal VOR Señal VOR Señal en
Transmitida Recibida Banda Base
Salida: Señal
Receptor AM
Detector
108-118 LPF
AM
MHz

Estación Compara
VOR -dor de
fases

Indicador
VOR
Demodu-
BPF LPF
lador FM Salida: Señal
FM

Figura 2.11 Diagrama de Bloques del Receptor VOR.

La antena receptora es, típicamente, una antena dipolo en forma de V, aunque existen otras antenas
2.4 Indicador VOR a Bordo 11

certificadas, con polarización horizontal como se comentó en el Apartado 2.1. Una vez obtenida la señal, el
detector AM pasa la señal de la frecuencia de portadora de la estación sintonizada ( fP ∈ [108,119.75]MHz)
hasta Banda Base, es decir, resta esta fP a la señal recibida.
Con la señal en banda base, se divide en tres canales para obtener los tres tipos de información que contiene
en su modulación:

1. Por un lado, se demodula la señal de audio con la información referente a la estación VOR en tierra que
se ha sintonizado en el receptor.
2. Por otro, se demodula la información de la señal modulada en AM, a 30Hz, con un filtro LPF sintonizado
de forma que se obtenga la señal sinuidal.
3. Por último, falta obtener la información modulada en FM en la subportadora de 9960Hz. Para ello
se pasa por un filtro BPF centrado en 9960Hz y que se extiende el ancho de la señal (±480Hz), para
eliminar componentes indeseadas. Tras ello, el demodulador FM se encarga de obtener la señal sinuidal
y, para eliminar ruidos, se hace pasar por un último filtro LPF a 30Hz para así descartar las componentes
con una frecuencia mayor a 30Hz.

Una vez conseguidas, las señales procedentes de la información modulada en AM y en FM de la señal


VOR, también llamadas Señal FM y Señal AM, se usa un comparador de fases que indica el desfase o la
diferencia de fase entre ambas señales. Éste valor se utiliza para obtener el ángulo respecto al Norte magnético
entre la estación VOR y el receptor, y se presenta en el indicador VOR. En el siguiente punto se detalla el
funcionamiento de este indicador.
Cabe destacar por último que éste receptor funciona tanto si la señal obtenida corresponde a la de una
estación CVOR como si es la de una estación DVOR. En ambas, el receptor realizará las mismas funciones,
pues se calcula la diferencia de fase entre las señales FM y AM, independientemente si el ángulo del receptor
se encuentra modulado en AM o en FM.

Receptor = φFM − φAM = θ (2.13)

2.4 Indicador VOR a Bordo


En cabina, se pueden encontrar 2 tipos de indicadores de ángulo respecto a una estación VOR: indicador
VOR e indicador de situación horizontal (HSI). El HSI es una evolución del mencionado indicador VOR,
proporcionando utilidades extra para la correcta comprensión de la información por parte del piloto [7].
Ambos constan de los siguientes elementos:
• Selector de Radiales, OBS (Omni Bearing Selector): Herramienta para que el piloto seleccione el
ángulo respecto al norte deseado para su interceptación.
• Indicador de Desviación de Curso, CDI (Course Deviation Indicator): Presenta de forma intuitiva
dónde se encuentra el receptor respecto al radial seleccionado. Para ello, se desplaza hacia la izquierda
o la derecha en función del lado en el que se encuentre el receptor respecto al radial seleccionado.
Tiene un fondo de escala de 10º, es decir, indica hasta 10º cuánto está alejado el receptor del radial
marcado. Si se encuentra más alejado, se quedará fijo en el valor máximo (10º). Hay marcas cada 2º
para ayudar en la identificación del radial en el que se encuentra el receptor respecto al marcado.
• Bandera TO/FROM: Usado para resolver la ambigüedad existente al no conocer en principio si la
aeronave se encuentra desviada respecto al radial o si está respecto a su prolongación. Es decir, aunque
el ángulo de la radial sea el mismo, el piloto no puede determinar si debe desplazarse en un sentido u
otro a no ser que sepa si se está acercando a la estación o se está alejando de la misma.
Para ello, en el caso de que la aeronave se esté acercando a la estación, se indica en la Bandera un TO,
y la desviación se realiza respecto a la prolongación del radial seleccionado. En el caso en el que se
aleje de la estación VOR, se indica FROM y la desviación ocurre respecto al radial.
Adicionalmente, el HSI incluye un indicador del rumbo del avión, para dar al piloto un conocimiento de
su orientación, y conocer cuánto se encuentra alejado respecto del radial seleccionado. En la Figura 2.12 se
observa un indicador VOR, con las distintas partes enumeradas anteriormente marcadas para su identificación.
Lo mismo en la Figura 2.13 para el HSI.
12 Capítulo 2. Sistema VOR

A modo de ejemplo, en la Figura 2.12 el radial seleccionado es el 0, y la bandera TO/FROM está indicando
TO (hacia el radial). Ésto quiere decir que el receptor se encuentra en realidad en la prolongación del radial
seleccionado (a 180◦ respecto al Norte magnético) y se dirige hacia la estación. El CDI centrado muestra que
no hay desviación respecto al curso que se ha marcado para seguir.

Figura 2.12 Indicador VOR Clásico.

Del mismo modo, en la Figura 2.13 en el selector de radiales se ha marcado el radial 60, el que forma
60◦ respecto al Norte magnético. La bandera en TO es sinónimo de que se debe seguir la prolongación del
radial y se está acercando a la estación. El CDI a la izquierda muestra que el receptor no está centrado en la
prolongación del radial, y debe desplazarse a su izquierda para interceptarlo. Ésto se comprueba también
gracias al indicador de rumbo, que muestra que el receptor se encuentra en el radial 25 (aproximadamente).

Figura 2.13 Indicador de Situación Horizontal (HSI).


3 SDR

os dispositivos SDR, por sus siglas en inglés de Radios Definidos por Software (Software-Defined
L Radios), son sistemas de radiocomunicaciones donde la circuitería o hardware ocupa un segundo lugar,
y las funciones que definen su comportamiento son ejecutadas a través de software en una computadora [15].

La tecnología SDR permite modificar el transceptor de señales de radiofrecuencias, de manera que si


se necesita un cambio en la emisión o la recepción se pueda llevar a cabo fácilmente sin necesidad de un
reemplazo físico de este transceptor. Para ello, sus componentes se encuentran definidos por software, de
forma que se pueden alternar para obtener la arquitectura deseada, siempre que esté dentro de los límites de
los propios componentes que forman el SDR.

Figura 3.1 Ejemplo de dispositivo SDR.

Por otro lado, unos tipos de dispositivo SDR se pueden usar como receptor y como emisor de señales
de RF en múltiples canales al mismo tiempo, obteniendo y emitiendo información gracias a un sistema de
multi-tarea (o multi-tasking). Esto lo hace un sistema muy eficiente que, junto con la fácil modificación, lo
hace muy versátil y que cada usuario lo pueda especializar para ajustarse a sus necesidades.

A lo largo del Capítulo, se comentan los distintos tipos de SDR que se encuentran disponibles, se muestra
la arquitectura típica de estos dispositivos y el hardware del SDR empleado en el trabajo y, para finalizar, se
muestran ejemplos del software que será empleado para el análisis y captura de señales [8].

13
14 Capítulo 3. SDR

3.1 Tipos de SDR

Hoy día existen varios tipos de dispositivos SDR, que ofrecen distintas aplicaciones para ajustarse a las
necesidades de los usuarios. Se comentarán brevemente a lo largo del apartado las características de los tipos
más conocidos, ya que dentro de cada uno existen distintos modelos con pequeñas diferencias entre sí.

3.1.1 RTL-SDR - Receptores

El dispositivo RTL-SDR (cuyo nombre proviene de RealTek Software Defined Radio) es un dispositivo muy
barato (alrededor de 30 $), que puede ser usado como un receptor de señales de radio, ya que no dispone
de posibilidad de transmisión. Dependiendo del modelo, el RTL-SDR es capaz de recibir frecuencias en el
espectro de 500kHz a 1.75GHz [29] .
Tiene el aspecto externo de un pendrive o dispositivo USB, muy pequeño. Mediante el conector USB se
comunica con el computador, y dispone de otro conector por el que se recibe información a partir de una
antena. Su origen se remonta al chip RTL2832 de Realtek, usado como receptor de señal de video digital
DVB-T, que se podía modificar por software para recibir señales y aportar la decodificación de 8 bits con
muestreo I/Q en banda base.

Figura 3.2 Imagen de un dispositivo RTL-SDR comercial.

En la realización del proyecto presente se ha optado por el uso del modelo newgen rtl2832u sdr, y se
comentará posteriormente en mayor detalle.
El RTL-SDR es uno de los dispositivos Software Defined Radio con la posibilad de recibir señales de
radiofrecuencia, pero sin opción a transmitir. Existen multitud de marcas y modelos que fabrican instrumentos
con características generales similares al RTL-SDR, con diferencias en el aspecto, conexiones con antenas y
rango de frecuencias que soportan. Entre ellas, están los dispositivos fabricados por Noolec [26], SDRPlay
[31] o KiwiSDR [25].

3.1.2 HackRF One - Receptores y Transmisores

El dispositivo HackRF One es una plataforma del proyecto HackRF. Es un dispositivo SDR con capacidad
de transmitir y recibir señales de radio en el espectro de 1 MHz a 6 GHz. Es una plataforma Open Source,
permitiendo a los usuarios acceder a su arquitectura y modificar tanto el software como el hardware para
adecuarlo a sus necesidades [24] .
Al igual que el RTL-SDR, se conecta al computador mediante USB, y dispone de varias puertos para la
conexión de distintas antenas. Del mismo modo, hace uso de la decodificación en cuadratura I/Q en banda
base.
Existen varias revisiones del hardware del HackRF One, desde las versiones r1-r4 que fueron las primeras
en comercializarse, entre el 2014 y el 2020, hasta la versión r8, disponible desde el 2021. Las diferencias de
hardware son mínimas, cambiando pequeños componentes para mejorar la compatibilidad.
3.2 Arquitectura del RTL-SDR 15

Figura 3.3 Imagen de un dispositivo HackRF One comercial.

De la misma forma que con el RTL-SDR, el HackRF One es el dispositivo SDR con capacidad de
recepción y transmisión más conocido, pero hay más marcas y modelos con características generales idénticas
y diferencias en el diseño estético, capacidad de conexiones y frecuencias disponible para emisión y recepción.
Algunas de estos modelos son YARD Stick One de Noolec [27], Ubertooth One [32] o USRP Bus [23].

3.2 Arquitectura del RTL-SDR

A lo largo de su vida, el dispositivo SDR ha sido presentado como la solución del futuro para toda recepción
de señales de RF. Su arquitectura, por tanto, es una evolución del receptor en cuadratura de señales de radio,
incrementando el papel del procesamiento digital. La Figura 3.4 corresponde con la arquitectura típica de
estos dispositivos [18]:

Figura 3.4 Estructura interna del RTL-SDR.

Se observan dos zonas bien diferenciadas, la zona analógica y la zona digital. Una vez la señal es recibida
por la antena, se empieza su procesamiento en la zona analógica. La señal de entrada se amplifica en un LNA
(Low Noise Amplifier) y, haciendo uso de un VCO controlado por un PLL programable a la frecuencia flo y
16 Capítulo 3. SDR

unos filtros, se convierte a IF o una frecuencia intermedia. Se somete a un un control de ganancia activo a
través de la ganancia K del sintonizador, programable mediante software.
Con la señal en IF se filtra para eliminar componentes de altas frecuencias y se pasa a la zona diigital. Para
ello se emplea un ADC con una frecuencia de muestreo de 28.8MHz que dará lugar a la señal digital. Al
estar en IF el último paso es desplazar la señal a banda base, el encargado de ello es el NCO, programable
mediante la frecuencia de muestreo, fS , a la que se desea obtener las muestras. El NCO hace uso de la técnica
de demodulación I/Q, que se detalla a continuación, dando lugar a la salida los datos correspondientes a la
señal captada como una serie de muestras, en números complejos codificados en 8 bits.
En la siguiente Figura 3.5 se puede observar el resultado en una señal en el espectro de radiofrecuencias.
Una vez capturada, especificando por software tanto fC como el ancho de banda y la ganancia K, la señal
pasa a IF y es digitalizada. Con el NCO se traslada a banda base y se obtiene a la frecuencia de muestreo fS
deseada, para ser usada en el computador.

Figura 3.5 Espectro de frecuencias de señal de RF a través de un RTL-SDR.

Demodulación IQ

La demodulación I/Q es una técnica en la que, tal y como se ejemplifica en la zona digital de la Figura 3.4,
la señal captada por la antena es mezclada de forma independiente con dos osciladores locales desfasados
entre sí 90◦ , obteniéndose de la señal recibida sus componentes en fase, I, y en cuadratura, Q.
La característica fundamental de esta demodulación es que puede reducirse la tasa de muestreo a la mitad
de la necesaria en un demodulador simple, es decir, la Frecuencia de Nyquist, obteniéndose los mismos
resultados. Sin perder generalidad, esto se debe a que el demodulador I/Q recoge el doble de información del
flujo de datos de entrada, lo que permite a un dispositivo con unas prestaciones de reloj relativamente bajas
adquirir más datos y un mayor ancho de banda utilizando el muestreo I/Q [8].
3.3 SDR Hardware 17

3.3 SDR Hardware


La tecnología SDR tiene una arquitectura abierta basada en sistemas de radio reconfigurables y reprogramable.
Por ello, todos los dispositivos del mismo tipo tienen un hardware similar y simplificado, pues la intención es
que el procesamiento y los problemas no se resuelvan mediante hardware, sino que se realice vía software.
En la Figura 3.6 se muestra el dispositivo usado para las capturas en el estudio, detallando los componentes
que lo conforman [17].

Figura 3.6 Hardware del dispositivo RTL-SDR usado.

Se describen a continuación, con una breve descripción, los componentes que conforman el RTL-SDR de
la Figura 3.6:
• Conector SMA Hembra: Conector roscado para cable coaxial, para altas frecuencias. En el RTL-SDR
se usa para comunicación con las antenas.
• Chip R820T2: Chip sintonizador más común de los dispositivos RTL-SDR. Consta de filtros paso
banda a frecuencias intermedias, así como un filtro paso alto para eliminar interferencias en la señal
[30].
• Chip RTL2832U: Chip en el que se basa la tecnología SDR, demodulador COFDM, que muestrea la
señal, separa en datos I/Q y transmite al resto de componentes [16].
• Oscilador Compensado por Temperatura, TCXO: Oscilador de ajuste preciso y deriva de temperatura
casi nula.
• ROM Programable Borrable, EPROM: Es un tipo de memoria ROM no volátil, capaz de guardar
información y borrarla a través de descargas eléctricas.
• Regulador de voltaje: Proteje al resto de componentes de variaciones de voltaje intensas que puedan
provocar un daño irreparable, o disminuir su vida útil y afectar a su rendimiento.
• Interfaz USB 2.0: Conector USB que permite conectar la electrónica del dispositivo con el computador.
En la Figura 3.4 se muestra la estructura interna del dispositivo y se pueden observar las funcionalidades
descritas de los 2 chips más importantes y característicos del mismo, el R820T y el RTL2832U, que realizan
las operaciones típicas de la arquitectura del RTL-SDR, descritas en Apartado 3.2.

3.4 SDR Software


Al insertar el dispositivo SDR en el computador, una vez instalados los drivers o paquetes necesarios, se
puede usar la consola del sistema para la captura de señales y su guardado en un archivo para uso posterior.
El usuario de los dispositivos SDR normalmente buscará un programa para que, una vez conecte éste a
su computador, pueda configurar los distintos parámetros de recepción/transmisión más cómodamente, así
18 Capítulo 3. SDR

como la verificación de que ésta ha sido realizada correctamente e incluso su reproducción en el caso de
captura de señales de audio.

Por ello, existen multitud de programas que se encargan de realizar estas y otras utilidades. Algunos de los
más usados y que implementan características muy útiles para demodular directamente señales de radio son
las siguientes:

• SDR#, o SDR Sharp: Es el software más conocido, desarrollado por Airspy. Compatible con Windows,
es simple en configuración y uso y es gratuito a día de hoy. En su interfaz, como se puede observar en
la Figura 3.7, se encuentran los siguientes elementos: En la parte superior hay una serie de opciones
que permiten seleccionar la frecuencia y ajustar el proceso de captura de la señal. En la barra lateral
se encuentra la configuración del SDR, opciones de demodulación y otros ajustes. Finalmente, en la
parte central se encuentra el espectro de RF con la señal capturada junto a un display en cascada de la
misma.

Figura 3.7 Interfaz de la aplicación SDR#.

Es un programa útil y se usará para comprobar el espectro de la señal de RF, así como para confirmar
el correcto funcionamiento del dispositivo SDR [20].

• CubicSDR: La aplicación de CubicSDR es multiplataforma, disponible en Windows, Linux y Mac


OS, con algunas mejoras en su interfaz respecto a otras aplicaciones con el mismo propósito. Permite
al usuario inspeccionar el espectro de radio y demodular la señal recibida. Algunas funciones que
incluye son la demodulación AM y FM, así como aplicaciones para decodificación digital. Es una
buena opción para manejar las figuras del espectro de la señal en tiempo real. Aún está en desarrollo
todavía, siendo en junio de 2022 la versión v0.2.7 la última disponible [22].
3.4 SDR Software 19

Figura 3.8 Interfaz de la aplicación CubicSDR.

Aunque los anteriores programas de software son de utilidad cuando se busca la demodulación de una
señal convencional, como puede ser una señal de radio sonora, no sirven a la hora de la obtención de la señal
VOR demodulada. Es por ello que para la realización de este trabajo se ha optado por el procesamiento de la
señal directamente en Python.
La demodulación de la señal VOR se consigue al procesar la señal capturada con el SDR mediante
funciones diseñadas específicamente para la obtención de la fase del receptor. Esto permite el procesamiento
en tiempo real de la señal VOR capturada por el usuario.
Para que sea posible realizar la captura, se debe instalar una interfaz de Python, llamada pyrtlsdr [28].
Se define como una interfaz simple para dispositivos con el apoyo del proyecto RTL-SDR, y que envuelve
muchas de las funciones disponibles en la librería librtlsdr, pero con la adición de una API (Interfaz de
Programación de Aplicaciones) más adecuado para Python.
Se instala por medio del comando: python setup.py install o pip install pyrtlsdr. Con ello, ya se puede
acceder a las diferentes funciones que proporciona la interfaz. En el siguiente código de ejemplo, que se
encuentra disponible en la página oficial de pyrtlsdr [28], se pueden apreciar los comandos necesarios para la
obtención de la señal del RTL-SDR:

1 from rtlsdr import *


2
3 sdr = RtlSdr()
4
5 # configure device
6 sdr.sample_rate = 2.4e6
7 sdr.center_freq = 95e6
8 sdr.gain = 4
9
10 samples = sdr.read_samples(256*1024)
11 sdr.close()

Código 3.1 Ejemplo de uso de SDR en Python.

La frecuencia de muestreo, la frecuencia central y la ganancia se puede modificar a gusto del usuario
(líneas 7, 8 y 9 del código, respectivamente). Es necesario indicar el número de muestras que se desean
obtener, como se observa en la linea 11. Con esto, ya se tiene lo básico para obtener la señal de VOR con el
dispositivo SDR y poder procesarla desde Python directamente. En los posteriores apartados de la memoria
se comentan los resultados obtenidos.
4 Modelo y Simulación del Receptor

na vez descrito el sistema de ayuda a la navegación VOR y los dispositivos SDR, en este capítulo de
U la memoria del proyecto se describen los modelos desarrollados para que, una vez se tenga una señal
VOR, se calcule de forma correcta la fase respecto al Norte en la que se encuentra el receptor.
Para ello, se describe en detalle el modelo de receptor propuesto, comentando cada bloque y parámetros que
se han considerado en su desarrollo para obtener la señal AM y la señal FM. Con ambas señales demoduladas,
la comparación de sus fases nos proporciona el ángulo del receptor deseado, por lo que se comentará el
método que se ha seguido para su cálculo.
Seguidamente, se explica un pequeño modelo de generación de trayectorias diseñado de manera que se
han podido generar señales VOR ideales para estudiar el comportamiento del sistema tanto en fase estática
como en fase variable con el tiempo.
Para finalizar el Capítulo, se analizan los resultados tanto en simulación al aplicar el modelo del receptor
a una señal VOR ideal generada mediante código como a una señal VOR real capturada con el dispositivo
RTL-SDR. En estos análisis se puede comprobar el resultado en la demodulación de las señales AM y FM,
su estado al alcanzar la correlación máxima, y un estudio de los errores cometidos por el modelo.

4.1 Receptor

El receptor se ha diseñado siguiendo la estructura de la Figura 4.1: una vez obtenida la señal, que recordemos
que venía dada en banda base, esta se procesa de en dos caminos distintos para obtener la señal AM y la FM.
En dicha Figura se observan los distintos bloques necesarios que se deben diseñar en código (software) para
la demodulación correcta de ambas señales.

Demodulación de la Salida: Señal


señal AM AM
LPF

Compara- Estimación de
Señal VOR en Fase del
dor de
Banda Base receptor
fases

Salida: Señal FM
Demodu-
BPF LPF
Demodulación de la lador FM
señal FM

Figura 4.1 Esquema del modelo de Receptor VOR.

El diseño del anterior receptor se ha realizado siguiendo el esquema de la Figura 4.2, donde se observa la
señal de una estación VOR Doppler trasladada a banda base:

21
22 Capítulo 4. Modelo y Simulación del Receptor

Figura 4.2 Señal VOR en Banda Base en el dominio de la Frecuencia.

Como se ha explicado en la Sección 3 de este documento, para obtener la estimación de la fase del receptor,
se comparan las dos partes de la señal VOR, la modulada en amplitud, AM, y la modulada en frecuencia, FM.
Por ello, la parte correspondiente al identificador morse y audio será obviada en el proceso de construcción
del receptor, pues no es necesario. Por tanto, el receptor se encargará de demodular las denominadas señal
AM y señal FM. En los siguientes subapartados se comentan las características de los bloques observables
en la Figura 4.1.

4.1.1 Demodulación de la Señal AM

La parte de demodulación AM es la más sencilla, pues como se puede observar en la Figura 4.1 se compone
únicamente de un bloque o filtro LPF.

El filtro LPF propuesto es un filtro de Butterworth, ya que estos tipos de filtros son de baja complejidad y
proporcionan la respuesta más plana posible hasta la frecuencia de corte ( fC ) establecida. El comportamiento
de este filtro es, por tanto, dejar pasar en la salida aquellas frecuencias menores a fC y, al alcanzar esta, se
disminuye a razón de 20 · n dB por década, siendo n el orden del filtro, o número de polos [2].

Por tanto, la configuración elegida para el filtro es:

Tabla 4.1 Configuración del filtro LPF de demodulación AM .

Filtro Tipo Orden Frecuencia de corte (Hz)


LPF Butterworth 3 50

En la Figura 4.3 se observa el diagrama de Bode correspondiente a la respuesta en frecuencia del filtro
diseñado. Se observa que la frecuencia correspondiente a −3dB es la frecuencia de corte elegida.
4.1 Receptor 23

Bode Diagram
0

System: H
Frequency (Hz): 50
Magnitude (dB): -3

Magnitude (dB) -50

-100

-150
360

270
Phase (deg)

180

90
10-1 100 101 102 103 104
Frequency (Hz)

Figura 4.3 Diagrama de Bode - Comportamiento en frecuencia del filtro LPF - Demodulación AM.

La elección de esa frecuencia de corte se debe a que, en esta zona del espectro, no debe haber excesivo
ruido que afecte a la información de la señal AM y, en el caso que existan armónicos a mayor frecuencia, no
es deseable perder parte de información al usar un filtro más ajustado. El orden del filtro escogido permite
filtrar a una velocidad suficientemente alta pero sin comprometer al sistema al usar un número de polos
demasiado alto que lo ralentice.

4.1.2 Demodulación de la Señal FM

La demodulación de la señal FM requiere el uso de más bloques que la señal AM, pasando de 1 solo filtro LPF
a 2 filtros y un demodulador FM. En la Figura 4.4 se aprecian los tres bloques que componen la demodulación
de la señal:

Salida: Señal FM
Señal VOR Demodu-
BPF LPF
en Banda lador FM
Base

Figura 4.4 Esquema del Receptor VOR - Tramo de demodulación FM.

Se detalla en la siguiente tabla las características de los filtros LPF y BPF elegidos:

Tabla 4.2 Configuración de los filtros de demodulación FM .

Filtro Tipo Orden Frecuencia(s) de corte (Hz)


BPF Butterworth 3 [9480,10440]
LPF Butterworth 3 50

El filtro seguirá siendo un Butterworh ya que, mediante modificaciones, se consigue que el comportamiento
explicado en el apartado 4.1.1 se mantenga pero como un filtro BPF: centrado a la frecuencia de la portadora
24 Capítulo 4. Modelo y Simulación del Receptor

9960Hz y con un ancho de banda de 960Hz. En la siguiente Figura 4.5 se observa el diagrama de Bode que
corresponde con el comportamiento de este filtro.

Bode Diagram
0

System: H System: H
-20 Frequency (Hz): 9.48e+03 Frequency (Hz): 1.04e+04
Magnitude (dB): -3 Magnitude (dB): -3

-40
Magnitude (dB)

-60

-80

-100

-120
270

180

90
Phase (deg)

-90

-180

-270
104
Frequency (Hz)

Figura 4.5 Diagrama de Bode - Comportamiento en frecuencia del filtro BPF - Demodulación FM.

Una vez filtrada la señal en banda base, el siguiente paso es el demodulador FM. Para su desarrollo se
ha optado por el uso de un PLL (Phase Lock Loop) configurado de forma que sea capaz de obtener la
señal buscada. El funcionamiento y configuración se explica detalladamente a continuación en este mismo
subapartado.
Para terminar, la señal a la salida del PLL será filtrada con un LPF idéntico al usado en la demodulación
AM. El diagrama de Bode es, por tanto, el mismo que se vio en la Figura 4.3. Se ha decidido hacer uso
de este filtro para eliminar así cualquier componente de alta frecuencia que se encuentre en dicha salida.
No es necesario en el caso de las señales ideales estudiadas, pero a la hora de analizar el resultado de la
demodulación con señales VOR reales aparecían estas componentes mencionadas a la salida del PLL, por lo
que su uso será necesario en dicho caso.

Demodulador FM - PLL
El PLL o phase lock loop [12] es un sistema capaz de generar a la salida una señal cuya fase está relacionada
con la fase de la señal de entrada. Se compone de un oscilador de frecuencia variable (VCO), un filtro LPF y
un detector de fase, donde cada bloque realiza las siguientes funciones:

• Detector de fase: genera una señal que es proporcional a la diferencia de fase.


• LPF: para eliminar componentes de altas frecuencias indeseadas.
• VCO: genera la señal sinusoidal de frecuencia controlada.

El PLL tiene varias aplicaciones y, entre ellas, se encuentra la posibilidad de ser usado como un demodulador
FM: si la señal de entrada está modulada en FM, el VCO se encarga de seguir la frecuencia instantánea. La
señal filtrada a la salida del LPF, que controla el VCO y se mantiene bloqueada con la señal de entrada, es la
salida demodulada de la señal FM. También el VCO determina la linealidad de la salida demodulada y, al
usar un circuito integrado altamente lineal, es posible conseguir demoduladores FM muy lineales.
En la práctica, el detector de fase es simplemente un multiplicador de las señales de entrada y la salida del
VCO; y la salida con la señal FM demodulada será la señal resultante que sale del filtro LPF. La Figura 4.6
muestra el esquema del PLL que se ha usado en el desarrollo del demodulador FM:
4.1 Receptor 25

Figura 4.6 Esquema del PLL empleado en la demodulación FM.

El filtro LPF se caracteriza según la siguiente tabla:

Tabla 4.3 Configuración del filtro LPF del PLL .

Filtro Tipo Orden Frecuencia de corte (Hz)


LPF Butterworth 1 100

Por otro lado, la configuración del VCO se encuentra en la Tabla 4.4. Para su desarrollo se ha usado un
NCO o DDS (Digital Direct Synthesizer) [5], que permiten la generación digital de una señal sinusoidal a
una frecuencia y precisión concreta, a partir de un acumulador (ACC) y una Look-up table. Se detalla su
desarrollo en el Capítulo 5.

Tabla 4.4 Configuración del VCO del PLL.

Parámetro Valor
Sensibilidad, K f m 500
Ganancia, KP 2.5
Conficuración de NVCO, NACC 16
Rango máximo del ACC, ACCMAX 2NACC = 216

Los parámetros descritos han sido elegidos de manera que se obtenga a la salida una señal FM sinusoidal,
de forma que se le pueda dar un uso posterior en el cálculo de la fase estimada. En el Capítulo 5 de este
documento se comenta la codificación de este PLL (en el Apartado 5.1), junto con el resto de filtros que
componen al receptor. Con esto, ya queda descrito el demodulador FM desarrollado con el PLL y los filtros
antes descritos.

4.1.3 Cálculo de la Fase estimada

Para terminar, el receptor debe ser capaz de, con la información procedente de las señales AM y FM
demoduladas, comparar sus fases y con el desfase obtenido dar una estimación del ángulo respecto al Norte o
fase del receptor.
Existen diversos métodos para comparar dos señales y obtener el desfase existente entre ellas. El más
simple sería observar los máximos, mínimos o cruces por cero de ambas señales y calcular el tiempo entre
ambas para obtener el desfase, pero en cuanto hay cierto ruido se vuelve más inestable.
Otra forma para encontrar el desfase es haciendo uso del método de las Figuras de Lissajous con el que,
a partir de una gráfica realizada con las velocidades angulares de dos señales, se calcula el desfase entre
ambas a partir del cruce con los ejes de la misma. Es un método algo más fiable pero su codificación no es
inmediata y da lugar a ambigüedades al existir varios puntos de corte con los ejes.
Es por ello que se ha decidido buscar un método que sea más simple, que no de lugar a estas ambigüedades
y que sea robusto frente al ruido que pueda aparecer. El método de cálculo del desfase elegido es el de la
Correlación cruzada, cuyas características se detallan a continuación.

Correlación Cruzada
La aplicación práctica de este principio es uno de los métodos más robustos al ruido y fenómenos no deseados
que se pueden usar a la hora de obtener el características especiales entre dos señales similares. Con una
naturaleza parecida a la convolución de dos señales, se puede emplear este método sobre las señales AM y
26 Capítulo 4. Modelo y Simulación del Receptor

FM de la señal VOR correctamente demoduladas para obtener su desfase y, por tanto, el radial en el que
se encuentra el receptor. Su formalismo matemático para el caso de señales discretas queda recogido en la
Ecuación 4.1, donde N es el número de muestras que componen ambas señales:

N
CorrXY = ∑ X(n) ·Y (n − Delay) (4.1)
n=1

Teóricamente, el resultado de la correlación cruzada será máximo cuando ambas señales coincidan en el
dominio del tiempo. Es decir, si las señales X e Y son de idéntica naturaleza, la expresión anterior tendrá un
máximo cuando la variable Delay tome el valor del desfase entre ambas señales que es, precisamente, la
estimación del radial respecto del VOR desde el que se ha obtenido la captura.

Este método es conocido por su fiabilidad y buena respuesta ante el ruido, además de no ser demasiado
complejo a la hora de ser programado al tratarse de sumas y multiplicaciones, aunque el número de estas
operaciones puede alcanzar un valor elevado (depende de N), y la carga computacional que supone puede
llegar a ser muy alta y debe tomarse en cuenta. Se ha seguido un algoritmo para el cálculo de la correlación,
así como de la mencionada variable Delay, que se detalla a continuación.

En cada iteración, se calcula la correlación entre las dos señales y, en el caso en que ésta no sea máxima, se
desplaza la señal FM en un sentido, de forma que se mejore el resultado de la correlación. El desplazamiento
es almacenado en la variable Delay. En el diagrama de flujo de la Figura 4.7 se observa la lógica seguida para
obtener dicha variable Delay y, por tanto, la estimación de la fase del receptor. Este proceso se ha denominado
Sincronización.

En el diagrama de la Figura 4.7, se comienza calculando la Correlación con la Ecuación 4.1, donde la
señal FM está desplazada en el tiempo en función del valor de Delay. Para el cálculo de este Delay, se ha
usado una variable auxiliar llamada sign, o signo, cuyo valor es 1 o -1. Su función consiste en cambiar el
sentido de desplazamiento de la señal FM: si la correlación ha disminuido significa que las señales AM y
FM se están alejando y, por ello, el sentido en que se desplaza es el incorrecto, lo que se traduce en que el
Delay aumenta o disminuye cuando debería hacer lo contrario. Por ese motivo, sign hará que el Delay crezca
o disminuya continuamente, siempre que se obtenga una correlación mayor a la anterior, y que cambie al
disminuir el valor de correlación.

Por otro lado, el cálculo del Delay hace uso de una función que es dependiente del valor de la correlación
calculado y que hará que, en el caso en que ésta sea muy baja (alejada de 1), el valor de Delay varíe
considerablemente y las señales se acerquen rápidamente y, conforme la correlación va alcanzando la unidad,
Delay vaya variando cada vez más lentamente hasta alcanzar la correlación máxima. Esto se ha decidido así
para no pasar por alto éste valor de correlación máxima al hacer grandes desplazamientos, o bien hacerlos
tan pequeños desde el principio que el tiempo de obtención de la fase del receptor sea demasiado alto.
4.1 Receptor 27

Inicio

Correlación entre
SeñalAM y
SeñalFM(Delay)

¿Correlación >
Correlación

anterior? NO

Delay = Delay0 + Delay = Delay0 -


sign · sign ·
func(Correlación) func(Correlación)

sign = sign · (-1)

Estimación de la
fase
(Delay)

Fin

Figura 4.7 Diagrama de Flujo del cálculo de Delay y la Fase estimada.

Con el Delay calculado, se puede obtener directamente la estimación del ángulo entre el receptor y el norte
magnético, según la fórmula de la Ecuación 4.2:

Delay
EstPhase = 360 · −CalPhi (4.2)
SpP

Siendo la estimación EstPhase un ángulo en grados, entre 0 y 360. La variable CalPhi es un ángulo de
calibración ya que, teóricamente, cuando el receptor se encuentra al Norte de la estación VOR, ambas señales
FM y AM deben estar en fase y totalmente correladas, pero esto no ocurre debido al retraso que cada filtro
introduce a las señales en el procesamiento. Por ello, se calcula el valor de EstPhase para una señal ideal
cuando la fase del receptor es 0◦ y se obtiene éste CalPhi. Por último, SpP es el acrónimo de Samples per
Period, o número de muestras por periodo de la señal procesada.
28 Capítulo 4. Modelo y Simulación del Receptor

4.2 Generación de Trayectorias

En la Figura 4.8 se observa, a modo de ejemplo, la situación actual de las aerovías disponibles en aviación
civil en el territorio español, al sur. Se puede ver que éstas se definen siguiendo radiales concretos de las
estaciones VOR disponibles.

Figura 4.8 Mapa de aerovías basadas en VOR en el territorio sur de España - App Insignia Enaire.

Teniendo en cuenta lo anterior, el modelo de generación de trayectoria propuesto consta de un tramo de


acercamiento a la estación VOR, siguiendo un radial en concreto y, por tanto, con una fase constante; el
siguiente tramo será un viraje, donde se describe un arco de circunferencia hasta alcanzar otro radial concreto,
estando esta fase en constante cambio de fase; por último, una vez se intercepta el radial deseado, se sigue
éste realizando un alejamiento respecto a la estación VOR. Se ejemplifica en la Figura 4.9:

Estación VOR

Figura 4.9 Diagrama de ejemplo de la trayectoria diseñada.

Se han planteado como tramos del vuelo que se realizan a velocidad constante y en un plano horizontal, es
decir, no hay un cambio del nivel de altitud del receptor en toda la trayectoria, aunque esto mismo no afectaría
en realidad, ya que el VOR funciona en el plano horizontal únicamente. El hecho de dejar la velocidad
constante es algo justificable en los tramos de acercamiento/alejamiento respecto al VOR, pues es normal
encontrar en los trayectos de los vuelos tramos rectilíneos a velocidad constante, y esto facilita la tarea de
identificación de puntos junto a la frecuencia de muestreo, por lo que el tramo de viraje entre radiales se
considera a velocidad constante por simplicidad.
Como se ha planteado como una trayectoria horizontal, esto permite describir el sistema con dos variables,
que se denominarán x, siendo creciente hacia el este y decreciente hacia el oeste; e y, creciente hacia el norte
y decreciente hacia el sur.
Se detalla a continuación el modelado de los tramos, combinando el tramo de alejamiento y acercamiento
al VOR, pues son en esencia lo mismo cambiando el signo para sumar o restar en ciertas ecuaciones.
4.3 Resultados de simulación 29

4.2.1 Tramo de Seguimiento de Radial. Acercamiento/alejamiento del VOR

Siendo V la velocidad con la que el receptor se mueve y χ0 el ángulo o radial en el que se encuentra el
receptor, las ecuaciones que gobiernan estos tramos son las siguientes:

x(t) = x(t − 1) ±V · cos(χ0 )/FS y(t) = y(t − 1) ±V · sin(χ0 )/FS (4.3)

Donde x(t) e y(t) representan los valores de los vectores que definen la posición del receptor en el instante
de tiempo t, y x(t − 1) e y(t − 1) dichos vectores en el instante anterior, donde el paso entre instantes de
tiempo es definido por la frecuencia de muestreo, FS , siendo el paso la inversa TS = F1S . Es por ello que, como
entrada, además de la velocidad, dicha FS y el ángulo respecto al VOR, se debe especificar la posición inicial
del receptor como x0 e y0 .
Por simplicidad, en el modelo propuesto se calcula directamente esta posición inicial con el ángulo χ0
dado y asegurando que dicha posición está suficientemente alejada del VOR, en concreto unos 5 km.

4.2.2 Tramo de Viraje Horizontal

En este caso, hay que especificar el ángulo del que se viene, χ0 , y el que se desea alcanzar, χ1 . Así mismo, la
velocidad con la que se mueve V y la frecuencia de muestreo FS con la que se obtendrán los puntos de la
trayectoria son variables del sistema y hay que darles un valor también. Con ello, el tramo viene definido por
las siguientes ecuaciones 4.5 y 4.6:

q
 x2 + y2 · tan( χ1 −χ0 ), si χ1 − χ0 < π rad
0 0 2
R= q (4.4)
 x2 + y2 · tan( 2π−(χ1 −χ0 ) ), si χ − χ > π rad
0 0 2 1 0

(
x + R · cos(χ0 ) − R · sin(( π2 − χ0 ) + VR·t ), si χ1 − χ0 < π rad
x(t) = 0 (4.5)
x0 − R · cos(χ0 ) + R · sin(( π2 − χ0 ) − VR·t ), si χ1 − χ0 > π rad

(
y − R · sin(χ0 ) + R · cos(( π2 − χ0 ) + VR·t ), si χ1 − χ0 < π rad
y(t) = 0 (4.6)
y0 + R · sin(χ0 ) − R · cos(( π2 − χ0 ) − VR·t ), si χ1 − χ0 > π rad

Las ecuaciones anteriores definen para las variables x e y una trayectoria circular, desde el punto de inicio
definido por x0 e y0 , hasta un punto final en el que se alcanza el ángulo de la radial deseado. En ambas
ecuaciones se hace uso de la variable R, cuyo valor viene definido por la Ecuación 4.4
Se diferencian dos casos: en el primero la diferencia entre los radiales es menor que π radianes, por lo
tanto el receptor realiza un giro a izquierdas; en el segundo caso, donde la diferencia es mayor que esos π
radianes, el giro será a derechas. Esto se ha decidido hacer de esta manera para representar el camino más
corto para realizar dicha trayectoria.
Por último, comentar que hay dos casos no descritos: primero, aquel en el que el ángulo es el mismo
y, por tanto, χ1 − χ0 = 0. Este caso es imposible según el planteamiento descrito, pues resultaría en un
giro instantáneo para volver por el radial por el que se estaba acercando. El segundo es el caso en el que
χ1 − χ0 = π, y se corresponde a una trayectoria en línea recta, por lo que se establece como único punto de
la trayectoria el inicial, dando paso al tramo de alejamiento instantáneamente.

4.3 Resultados de simulación


Una vez descrito el modelo, se valida su funcionamiento con señales generadas de forma ideal. Para ello
se generan señales VOR en banda base, como se observa en la Figura 4.2, estableciendo la fase o ángulo
respecto al norte magnético del receptor desde la estación VOR.
Se calcula la estimación de la fase para intervalos de varios periodos de la señal, en el modelo se decide el
uso de 3 periodos. Esta estimación sirve para su comparación con la fase real dada, siendo posible observar
el comportamiento del receptor diseñado, así como ver el comportamiento estadístico de la correlación entre
ambas señales y determinar el grado de precisión que alcanza.
30 Capítulo 4. Modelo y Simulación del Receptor

A continuación se presentan varios ejemplos, donde se han estudiado distintos casos de trayectorias
dando distintos ángulos para comprobar el funcionamiento del sistema. El resultado en todos es muy similar,
estudiándose el error, el histograma del mismo y comparando gráficamente el resultado de fase obtenido
junto con la fase real del receptor. En la Tabla 4.5 se encuentran los 3 casos que se presentan a lo largo del
subapartado 4.3.

Tabla 4.5 Casos estudiados en simulación del receptor - Señales ideales.

Caso Fase inicial (◦ ) Fase final (◦ ) Descripción


1 30 220 Giro poco brusco al pasar por el VOR,
con cambio de fase mayor a 180◦
2 0 160 Similar a caso 1, algo más cerrado y con cambio de
fase menor a 180◦ . Uso de radial 0.
3 320 60 Giro más cerrado y paso a un radial con menor ángulo

4.3.1 Caso ideal 1: de 30◦ a 220◦

Este primer caso tiene como objetivo describir en detalle el resultado que se obtiene con el modelo del
receptor VOR diseñado. Se ha elegido una trayectoria típica pues, en general, las aeronaves al hacer uso
de las estaciones VOR en ruta realizan giros muy abiertos y sueves, de forma que se pase de un radial al
complementario prácticamente. Por ello, se ha elegido una trayectoria desde el radial 30 hasta el 220, donde
se realiza un cambio de fase de 190 grados.
En la Figura 4.10 se observa tanto la trayectoria real que sigue el receptor como la que se obtiene a la
salida del modelo. También se observan las posiciones inicial y final del mismo, así como la estación VOR
que se está sintonizando, colocada en el origen de coordenadas.

104 Trayectoria estimada vs Trayectoria real


2.5

Estación VOR
Trayectoria Real
2 Trayectoria Estimada
Posición Inicial
Posición Final

1.5

1
Variable x: Norte-Sur (m)

0.5

-0.5

-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5
Variable y: Este-Oeste (m) 104

Figura 4.10 Trayectoria real y estimada - Caso ideal 1.


4.3 Resultados de simulación 31

Se observa que el resultado al principio está alejado de la fase real, pues la correlación es muy baja y el
sistema necesita varias iteraciones para que ésta llegue a un valor suficiente. En poco tiempo es capaz de
alcanzar una correlación alta y, una vez se llega al máximo, mientras la fase continúe siendo la misma, el
resultado del receptor será muy cercano al real.

Se aprecia que, en el momento del giro en la trayectoria, el sistema en ningún momento será capaz de
alcanzar la correlación máxima, ya que la fase de la referencia direccional (modulada en FM para el VOR
Doppler) va cambiando hasta que se consigue llegar al siguiente radial seleccionado. Aún así, partiendo de una
correlación alta (o máxima) del anterior tramo de la trayectoria, en el giro se obtienen valores suficientemente
aproximados del ángulo del receptor.

Al alcanzar el nuevo radial, en pocas iteraciones el modelo alcanza un valor alto de correlación y, por ello,
la fase estimada está muy cerca de la real, quedando así hasta que finaliza el tramo de trayectoria estudiado.
Hay que tener en cuenta en la Figura 4.10 que, aunque parezca que conforme el receptor se aleja de la estación
la estimación de la fase empeora esto no ocurre, simplemente la distancia respecto a la estación es mayor, por
lo que un error en el ángulo provoca un Cross-Track error mayor. En el análisis de errores se comprueba lo
comentado.

Para continuar, en la Figura 4.11 se muestra parte de la señal VOR ideal generada. En la misma se observa
cómo es una señal con modulación FM y AM libre de ruidos, pues es lo que se buscaba al generarla. Por otro
lado, en la figura 4.12 se observa dicha señal en es espectro de la frecuencia, con la señal en 30Hz modulada
en AM y la señal en 9960Hz modulada en FM, con un ancho de banda de 960Hz . Todas las señales VOR
ideales generadas tienen un aspecto similar al mostrado en ambas figuras.

Señal VOR generada

1.6

1.4
Tensión de la señal (V)

1.2

0.8

0.6

0.4

67.05 67.1 67.15 67.2 67.25 67.3 67.35 67.4 67.45


Tiempo (s)

Figura 4.11 Señal VOR ideal generada - Dominio del tiempo.


32 Capítulo 4. Modelo y Simulación del Receptor

Welch Power Spectral Density Estimate


20
X 0.030024
0 Y -6.03174

-20
Power/frequency (dB/Hz)

-40

-60

-80

-100

-120

0 2 4 6 8 10 12
Frequency (kHz)

Figura 4.12 Señal VOR ideal generada - Dominio de la frecuencia.

A continuación se puede ver el resultado de la demodulación del receptor. En las Figura 4.13 se observan
las señales demoduladas y normalizadas en amplitud, para que se puedan comparar entre sí. Se puede observar
la demodulación de ambas se ha realizado sin fallo, pues se ha obtenido la señal sinusoidal que se encontraba
modulada en cada señal sin otras componentes de altas frecuencias. Gracias a ello, la correlación se puede
realizar de forma correcta sin obtener falsos resultados debidos al ruido o mala demodulación.

Señales AM y FM demoduladas - Posición antes de Correlación max


1
Señal AM
Señal FM

0.5
Valor de tensión normalizado

-0.5

-1

-1.5
0 200 400 600 800 1000 1200 1400 1600 1800
Número de muestras

Figura 4.13 Señales AM y FM demoduladas - Caso ideal 1.


4.3 Resultados de simulación 33

Señales AM y FM demoduladas - Posición tras Correlación


1 Señal AM
Señal FM
Valor de tensión normalizado

0.5

-0.5

-1

200 400 600 800 1000 1200 1400 1600 1800


Número de muestras

Figura 4.14 Señales AM y FM desplazadas tras obtención de Correlación máxima - Caso ideal 1.

Asimismo, en la Figura 4.14, encontramos el resultado final del desplazamiento de la señal FM cuando se
ha alcanzado una alta correlación entre las señales y, por tanto, que permite encontrar la fase del receptor. Ésto
se ha conseguido desplazando la señal FM de manera que la correlación con la señal AM fuera aumentando
hasta obtener la máxima posible, almacenando el desplazamiento respecto a la posición original en la
variable Delay. Se puede comprobar que dicha correlación máxima corresponde con que ambas señales están
superpuestas (en fase), lo que permite que el cálculo de la variable Delay sea muy preciso y, por tanto, la
estimación de la fase muy acertada y cercana al valor real.

Una vez comprobado que la demodulación y la correlación se ha realizado de forma correcta, se analizan
los resultados obtenidos. En primer lugar, en la Figura 4.15 se muestra el error cometido en la estimación de
la fase, apreciándose que al principio el error es máximo, pues la correlación es muy baja, pero en menos de
30 iteraciones el sistema alcanza el error mínimo, y oscila entre dicho valor y los más cercanos en correlación.
Cuando se produce el tramo de giro en la trayectoria, el error vuelve a aumentar pues el sistema no es capaz
de alcanzar con suficiente rapidez el cambio de fase continuo que se está produciendo. Cuando se intercepta
el nuevo radial, el resultado del error es el mismo que cuando se llegó a la correlación máxima en el primero,
hasta finalizar.

En la Figura 4.16 se representa el histograma del error (en valor absoluto) en el cálculo de la fase del
receptor, centrado entre [0,10]◦ de error. Analizando los resultados descritos anteriormente, se puede observar
cómo los valores entre 0 y 1 son los que tienen la mayor probabilidad, pues los errores corresponden a los
valores entre los que la estimación va oscilando una vez se alcanza la correlación máxima. Conforme se aleja
de 1, las probabilidades decrecen en gran medida. Esto prueba lo comentado a lo largo del subapartado.

El error comentado en el tramo de giro se debe a que, al ser la fase dependiente del tiempo, aparece una
componente de frecuencia instantánea, desplazando la señal de los 30 Hz en los que debe encontrarse. Es
una fuente de error encontrada que no se ha caracterizado, dejándose para líneas de investigación futuras su
ecualización conociendo la velocidad angular del receptor.
34 Capítulo 4. Modelo y Simulación del Receptor

Error en el cálculo de la Fase (º)


30

25

20
Error cometido (º)

15

10

-5

-10
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Número de estimación

Figura 4.15 Error en estimación de la fase - Caso ideal 1.

Histograma del error en el cálculo de la Fase (º)


0.16

0.14

0.12

0.1

0.08

0.06

0.04

0.02

0
0 1 2 3 4 5 6 7 8 9 10

Figura 4.16 Histograma del error en estimación de la fase - Caso ideal 1.

Con esto, queda analizado el primero de los casos ideales. Se ha visto que el modelo alcanza, con un error
menor a 1◦ , la fase del receptor en pocas iteraciones, así como que no es capaz de obtenerla si existe un
cambio continuo en su fase real. En los siguientes se mostrarán los resultados más sucintamente, pues se
4.3 Resultados de simulación 35

comprueba la similitud con este primero, y se comentan aquellos cambios significativos respecto a éste.

4.3.2 Caso ideal 2: de 0◦ a 160◦

En el siguiente ejemplo, se ha estudiado un caso similar al primero, pero en lugar de pasar de un cuadrante
al complementario, el receptor pasará al siguiente, por lo que el cambio de fase es menor a 180◦ . Por otro
lado, se ha decidido usar el radial 0 para comprobar que, aunque se oscile entre valores de fase muy distintos
(menores a 1◦ y mayores que 359◦ ), el modelo de receptor actúa de forma correcta.

En la Figura 4.17 se puede observar la trayectoria real y la estimada por el modelo del receptor descrito.
Se aprecia un resultado muy similar al caso 1, pues el ángulo del receptor en pocas iteraciones se acerca al
real, y se queda de dicha forma hasta finalizar. Más adelante se comentan los resultados en errores.

104 Trayectoria estimada vs Trayectoria real


2.5
Estación VOR
Trayectoria Real
2 Trayectoria Estimada
Posición Inicial
Posición Final
1.5

1
Variable x: Norte-Sur (m)

0.5

-0.5

-1

-1.5

-2

-2.5
-2000 0 2000 4000 6000 8000 10000 12000
Variable y: Este-Oeste (m)

Figura 4.17 Trayectoria real y estimada - Caso ideal 2.

En el estudio del error cometido, en la Figura 4.18 se puede comprobar lo descrito en el primer caso, pues
al alcanzar la correlación máxima se oscila entre el valor correspondiente en estimación de fase y los más
cercanos a él, hasta llegar al giro donde la correlación disminuye pues el sistema no llega a alcanzar con
suficiente rapidez el ángulo con el que varía. Algo destacable en este caso, respecto al primero, es que al
hacer un cambio a un radial más cercano, el cambio de fase que realiza el receptor en el giro es menor y, por
tanto, el modelo es capaz de estimar valores con mayor precisión.

Se demuestra con esto que, a igualdad de velocidad, el modelo será capaz de estimar con mejor resultado
un cambio de fases que realice el receptor cuanto menor sea la diferencia entre dichas fases.

El histograma observable en la Figura 4.19 nos muestra un resultado similar al visto en el caso 1 ideal,
aunque en este caso hay que destacar que el valor de mayor probabilidad es el correspondiente con un error
nulo y, consecuentemente, la probabilidad de los errores mayores se ve reducida.
36 Capítulo 4. Modelo y Simulación del Receptor

Error en el cálculo de la Fase (º)


30

25

Error cometido (º) 20

15

10

-5
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Número de estimación

Figura 4.18 Error en estimación de la fase - Caso ideal 2.

Histograma del error en el cálculo de la Fase (º)


0.25

0.2

0.15

0.1

0.05

0
0 1 2 3 4 5 6 7 8 9 10

Figura 4.19 Histograma del error en estimación de la fase - Caso ideal 2.

El resto de resultados coinciden con los vistos en el caso 1, por lo que se ignoran para evitar redundancia.
Se concluye el estudio de esta trayectoria y se da paso a la última que se verá en el caso ideal.
4.3 Resultados de simulación 37

4.3.3 Caso ideal 3: de 360◦ a 60◦

El último caso ideal a estudiar es, de nuevo, uno en el que se realiza un cambio de un cuadrante al siguiente.
Esta caso se destaca por pasar de una fase mayor a una menor y por ser el giro más cerrado que los anteriores.
Se comprueba en la Figura 4.20 qeu el resultado es muy similar al visto en otros casos, y la estimación de la
fase del receptor se acerca a la real.

104 Trayectoria estimada vs Trayectoria real

Estación VOR
Trayectoria Real
2
Trayectoria Estimada
Posición Inicial
Posición Final

1.5
Variable x: Norte-Sur (m)

0.5

-1.5 -1 -0.5 0 0.5 1 1.5 2


Variable y: Este-Oeste (m) 104

Figura 4.20 Trayectoria real y estimada - Caso ideal 3.

El caso de la generación de la señal VOR, su demodulación y la obtención de la correlación es exactamente


igual al estudiado en el caso 1, por lo que las figuras mostradas en el Apartado 4.3.1 sirven como referencia
para esta trayectoria también.

Continuando, en el caso de estudio del error, se encuentra un resultado relativamente similar al visto en
anteriormente. En la Figura 4.21 se observa que el error es máximo al principio y disminuye hasta llegar al
mínimo, oscilando entre dicho valor y los más cercano a éste. Al ser un giro más cerrado aún que el visto
en el caso 2, el error en este tramo de la trayectoria no será tan alto como en los giros de las dos anteriores
trayectorias estudiadas.

Para terminar, el mismo resultado que en los 2 casos anteriores se observa en el histograma de la Figura
4.22, con los resultados con mayor probabilidad en los menores valores de error. Conforme se aleja de 1, la
probabilidad decrece en gran medida.
38 Capítulo 4. Modelo y Simulación del Receptor

Error en el cálculo de la Fase (º)


40

30

20
Error cometido (º)

10

-10

-20
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Número de estimación

Figura 4.21 Error en estimación de la fase - Caso ideal 3.

Histograma del error en el cálculo de la Fase (º)


0.25

0.2

0.15

0.1

0.05

0
0 1 2 3 4 5 6 7 8 9 10

Figura 4.22 Histograma del error en estimación de la fase - Caso ideal 3.

En los tres casos mostrados en este apartado el resultado es el mismo en general, y para validar el modelo se
han estudiado otros casos distintos que lo confirman. Por ello, se puede terminar el subapartado afirmando que
4.4 Resultados con señales capturadas 39

el receptor ha sido diseñado correctamente y que el resultado obtenido con señales ideales otorga estimaciones
de fase con un error muy cercano a cero siempre que tenga el número de iteraciones necesarias para alcanzar
la fase del receptor.

4.4 Resultados con señales capturadas

Para finalizar el Capítulo, se analizan los resultados que se obtienen con el modelo de receptor VOR descrito
en el caso de señales VOR reales, que han sido capturadas con un dispositivo RTL-SDR. A lo largo de este
subapartado se muestran los resultados en un primer lugar para una captura de señal VOR con fase estática y,
seguidamente, para una captura en movimiento.

Se estudian para todos los casos la calidad de la señal capturada, así como el resultado de la demodulación
obtenida con el modelo y el error que se comete al comparar con la fase real en la que se realizaron las
capturas. En el Capítulo 5, en el Apartado 5.4, se detalla el procedimiento de obtención de las capturas.

Tabla 4.6 Casos estudiados en simulación del receptor - Señales Reales .

Caso Frecuencia central (MHz) Fs (kHz) Duración (s) Localización


1 113.7 270 25 Radial 319.4
2 113.7 270 90 Radial 319.4 al 313.8

4.4.1 Caso real 1: Captura estática

El primer caso a estudiar es uno básico, donde se comprueba el resultado en la estimación de la fase del
receptor al usar una señal capturada desde un punto estático durante un periodo de 25 segundos.

En primer lugar, se observa la calidad de la señal capturada en el dominio del tiempo y en el de frecuencia.
En la Figura 4.23 se comprueba que la señal obtenida con el dispositivo RTL-SDR tiene la misma forma que
una señal ideal, como la de la Figura 4.11, pero siendo mucho menos homogénea.

Por otro lado, en la siguiente Figura 4.24 se encuentra la señal VOR obtenida en el dominio de la frecuencia.
Se puede comprobar que parte del contenido en frecuencias que se eliminó al generar la señal ideal en este
caso está presente. Además de la señal de audio y código morse (que, recordemos, están en 1020Hz), existen
más componentes en frecuencia diferentes a los ideales, causa de ruido, rebote de señales y otros efectos.
40 Capítulo 4. Modelo y Simulación del Receptor

Señal VOR capturada

140

120

Tensión de la señal (V) 100

80

60

40

20

19.7 19.8 19.9 20 20.1 20.2 20.3 20.4 20.5


Tiempo (s)

Figura 4.23 Señal VOR real capturada - Dominio del tiempo.

Welch Power Spectral Density Estimate


50

40

30
Power/frequency (dB/Hz)

20

10

-10

-20

-30

-40
0 5 10 15 20
Frequency (kHz)

Figura 4.24 Señal VOR real capturada - Dominio de la frecuencia.

Una vez comprobada que la señal VOR obtenida se asemeja con la teórica, se procede a la demodulación
de la señal para obtener las señales AM y FM y, con ellas, la fase del receptor.
4.4 Resultados con señales capturadas 41

Señales AM y FM demoduladas - Posición antes de Correlación max


1
Señal AM
0.8 Señal FM

0.6
Valor de tensión normalizado

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Número de muestras

Figura 4.25 Señales AM y FM demoduladas - Caso real estático.

En la Figura 4.25 se pueden observar ambas señales demoduladas, normalizadas para compararlas co-
rrectamente. El resultado de la demodulación es muy bueno, pues se comprueba que se han obtenido las
señales sinusoidales correctamente, se han eliminado las componentes en altas frecuencias que pueden
afectar a la calidad y, por tanto, se podrá hacer el cálculo de la correlación y la obtención de la fase estimada
esperando resultados similares al caso ideal. A modo de ejemplo, en la Figura 4.26 se observan ambas señales
demoduladas y desplazadas para el cálculo del Delay entre ambas cuando se ha obtenido la correlación
máxima entre ambas.
42 Capítulo 4. Modelo y Simulación del Receptor

Señales AM y FM demoduladas - Posición tras Correlación max


1
Señal AM
Señal FM

0.5

Valor de tensión normalizado

-0.5

-1

-1.5
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Número de muestras

Figura 4.26 Señales AM y FM desplazadas tras obtención de Correlación máxima -Caso real estático.

Con lo anterior, se procede al análisis de resultados. En la Figura 4.27 se ha representado el radial sobre el
que el receptor se encuentra durante la captura de la señal, así como las estimaciones de fase obtenidas con
una correlación mayor a 0.995, junto a la estimación final remarcada. Se observa que las estimaciones de
la fase se acercan al radial del receptor, pero siendo estimaciones con alta correlación se aprecia un error
superior al visto en el caso de señales ideales. De la misma forma, la fase estimada al final, que corresponde
con un valor de correlación alto, indica una fase alejada 7 aproximadamente del radial en el que se encuentra
el receptor.
4.4 Resultados con señales capturadas 43

Fase estimada vs Fase real

2000 Estación VOR


Radial real
Fase Estimada
1800 Fase estimada Final

1600

1400
Variable x: Norte-Sur (m)

1200

1000

800

600

400

200

-1600 -1400 -1200 -1000 -800 -600 -400 -200 0


Variable y: Este-Oeste (m)

Figura 4.27 Radial real y fase estimada - Caso real estático.

Analizando el error que se comete, como se ha descrito previamente y se puede comprobar en la Figura
4.28, éste es significativamente mayor al cometido en el caso real, y oscila alrededor de 7◦ , lo que se observa
en el histograma de la Figura 4.29. Aún así el comportamiento del modelo del receptor es muy parecido al
visto en el caso ideal, en pocas iteraciones alcanza la máxima correlación (que corresponde con ese error
de 7 aproximadamente) y hasta finalizar el procesamiento se mantiene oscilando entre el mismo y los más
cercanos, salvo un par de puntos donde la señal no fue bien capturada.
44 Capítulo 4. Modelo y Simulación del Receptor

Error en el cálculo de la Fase (º)

20

10

Error cometido (º) 0

-10

-20

-30

-40

0 50 100 150 200 250


Número de captura

Figura 4.28 Error en estimación de la fase - Caso real estático.

Histograma del error en el cálculo de la Fase (º)


0.06

0.05

0.04

0.03

0.02

0.01

0
0 2 4 6 8 10 12 14 16 18 20

Figura 4.29 Histograma del error en estimación de la fase - Caso real estático.

Se han estudiado otras capturas estáticas, todas realizadas con un RTL-SDR, y que presentan un resultado
similar al descrito. En la Tabla 4.7 se recogen los resultados:
4.4 Resultados con señales capturadas 45

Tabla 4.7 Resultado de otros casos reales con fase estática.

VOR Fase real del receptor Fase estimada (corr máx) Error (◦ )
SVQ 2.47 353.52 8.23
SVQ 313.8 321.8 8

Ante el resultado descrito, se procede a describir los distintos motivos que pueden causar este error. En
primer lugar, en el Capítulo 3.2 de este documento se observa que el receptor RTL-SDR está compuesto de
varios filtros para la obtención de la señal (Figura 3.4) que, como se comentó previamente, introducen un
desfase adicional en las señales que a priori es desconocido.

Adicionalmente, se ha realizado un estudio de la Distorsión Armónica Total (THD), que proporciona la


distorsión no lineal que el RTL-SDR provoca en las señales AM y FM. Ésta es mostrada en las Figuras 4.30
y 4.31, donde se pueden observar los armónicos y ruido que no representan la señal fundamental y, por tanto,
distorsionan la señal.

THD: -29.42 dB
F
Fundamental
20 Harmonics
DC and Noise (excluded)
10

0
2
Power (dB)

-10

-20

-30
3
-40

-50

0 0.1 0.2 0.3 0.4 0.5 0.6


Frequency (kHz)

Figura 4.30 THD - Señal AM.


46 Capítulo 4. Modelo y Simulación del Receptor

THD: -50.80 dB
0 F
Fundamental
Harmonics
-10
DC and Noise (excluded)
-20

-30

-40
Power (dB)

-50 3
-60
2
-70

-80

-90

-100

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8


Frequency (kHz)

Figura 4.31 THD - Señal FM.

El origen de esta distorsión es desconocido a priori, por lo que se dejará su estudio para lineas futuras de
investigación, pero se puede finalizar este apartado comentando que, sin contar con estas distorsiones, el
modelo de receptor diseñado es capaz de realizar demodulación de la señal de forma muy similar al caso
ideal, y obtener una fase del receptor con un error de 7◦ .

4.4.2 Caso real 2: Captura en movimiento

Para finalizar el apartado, se comprueba la respuesta del modelo de receptor ante una señal capturada con un
dispositivo RTL-SDR en movimiento, es decir, realizando un cambio de fase. La captura en cuestión que se
muestra en este caso va desde el radial 319.4 al 313.8.

El resultado al analizar la señal capturada es el mismo que el mostrado en el apartado anterior, las figuras
son por tanto análogas a 4.23 y 4.24. De la misma forma, la demodulación de las señales AM y FM dan lugar
al mismo resultado, se puede observar en la Figura 4.25.

Se procede por ello al análisis de errores. En primer lugar, se ha generado la trayectoria real seguida que,
junto a las indicaciones de fase inicial y final, permiten el conocimiento del receptor en todo momento. Se
puede observar en la Figura 4.32 la fase que el modelo de receptor ha calculado cuando la correlación alcanza
valores altos (mayores a 0.995), junto a la final. Se observa que la mayoría de estimaciones se encuentran
desplazadas respecto a la trayectoria real.
4.4 Resultados con señales capturadas 47

Fase estimada vs Fase real

Estación VOR
Radial Real Inicial
Radial Real Final
1500 Trayectoria real
Fase Estimada
Fase estimada Final

1000
Variable x: Norte-Sur (m)

500

-500

-1500 -1000 -500 0


Variable y: Este-Oeste (m)

Figura 4.32 Radial real y fase estimada - Caso real en movimiento.

Seguidamente, en la Figura 4.33 se puede comprobar el error que hay en el sistema. Es un comportamiento
muy similar al visto en los casos ideales, pues tanto al principio como al final, instantes donde la fase es
estática, el error es menor (en este caso, oscila alrededor de 7◦ ), pero en el trayecto donde el receptor se
desplaza de una a otra el sistema es incapaz de seguirlo con suficiente rapidez, y la estimación de la fase no
es cercana a la real.

El histograma de la Figura 4.34, centrado en el intervalo de error de 0 a 20 ◦ , muestra un resultado igual al


visto en el caso de capturas estáticas, con una probabilidad mayor para aquellos errores cercanos a 7◦ .
48 Capítulo 4. Modelo y Simulación del Receptor

Error en el cálculo de la Fase (º)


50

45

40

35
Error cometido (º)
30

25

20

15

10

0
0 100 200 300 400 500 600 700 800 900
Número de captura

Figura 4.33 Error en estimación de la fase - Caso real en movimiento.

Histograma del error en el cálculo de la Fase (º)


0.03

0.025

0.02

0.015

0.01

0.005

0
0 2 4 6 8 10 12 14 16 18 20

Figura 4.34 Histograma del error en estimación de la fase - Caso real en movimiento.

Se ha estudiado también la trayectoria opuesta, desplazando el receptor desde el radial 313.8 al 319.4.
Se ha obtenido un resultado idéntico al mostrado, con un error medio de 7◦ cuando el receptor RTL-SDR
mantiene su fase estática y, en cuanto comienza el desplazamiento, el error vuelve a aumentar a los valores
vistos en el ejemplo anterior.
4.4 Resultados con señales capturadas 49

En este apartado se deben tener en cuenta no sólo los errores que provocan distorsión de la señal comentados
en el caso estático, sino también otros errores y distorsiones que se observan en la señal por estar en
movimiento, así como obstáculos en el camino que empeoran la pureza de la captura obtenida. De la misma
forma que las distorsiones comentadas en el primer caso, se deja su estudio para lineas futuras.
Dicho esto, concluye así el estudio del modelo del receptor. Se continúa en el Capítulo 5 con la codificación
del mismo y los resultados numéricos que se han analizado en estos apartados.
5 Codificación en Python y cosimulación

n el desarrollo de este capítulo se muestra la codificación en Python del modelo del receptor VOR
E previamente propuesto, y se describen aquellos cambios y modificaciones que han sido necesarios para
el paso a Python. En los siguientes apartados, se valida dicho código tanto con señales ideales generadas,
como con señales reales captadas con un dispositivo RTL-SDR. Los resultados obtenidos son comparados
con los esperados, para comprobar el error cometido en cada caso.

5.1 Consideraciones de hardware


El objetivo del receptor es procesar las señales que son pasadas, de la forma más rápida posible. Es por ello
que, como todo procesado de señal digital, las operaciones para la demodulación son en todos los casos
sumas, restas y multiplicaciones que se encargan de realizar las mismas funciones que los filtros y el PLL,
descritos en el Apartado 4.1. El objetivo es reducir el número de operaciones para que la estimación de la
fase sea procesada en un intervalo de tiempo limitado.
El diagrama seguido para el desarrollo del receptor se puede observar en la Figura 5.1, con los bloques
enseñados en el Capítulo 4 y que se implementan para el correcto funcionamiento del receptor:

Demodulación de Salida: Señal


la señal AM AM
LPF

Compara Estimación
Señal VOR en -dor de de Fase del
Banda Base fases receptor

Salida: Señal
LPF FM
BPF LPF
Demodulación de (PLL)
la señal FM

VCO

PLL

Figura 5.1 Diagrama de Receptor VOR diseñado.

Para expresar los filtros de dicha forma, hay que tener en cuenta que éstos están definidos mediante una
serie de coeficientes aK y bK (donde K representa el número de coeficientes que hay), que corresponden a la
función de transferencia del filtro. [13] Conociendo éstos coeficientes, que se determinan gracias a la librería
de Python llamada scipy - signal, el filtrado de una señal digital se puede expresar tal que:

N M
y[n] = ∑ bK · x[n − k] − ∑ aK · y[n − k] (5.1)
k=0 k=1

51
52 Capítulo 5. Codificación en Python y cosimulación

Donde, en la Ecuación 5.1, x es la señal a filtrar e y es la señal filtrada. Se ha seguido este principio para la
codificación de los filtros que son necesarios para obtener las partes moduladas en AM y FM de la señal
VOR. Además, para la demodulación FM se ha hecho uso de un PLL tal y como se comenta en el apartado
anterior de este documento. Éste consta de un multiplicador, un filtro paso bajo y un VCO.
El filtro LPF será modelado de la misma forma que el resto, y el multiplicador será, como su nombre
indica, una multiplicación de la salida del filtro con la salida del VCO. Este VCO consiste en una look-up
table nombrada como COS_LUT, que registra los valores de una señal sinuidal para distintas frecuencias. El
objetivo es usar la realimentación, es decir, los resultados a la salida del filtro LPF, para calcular un valor
acumulado Acc que, a medida que itera, será capaz de obtener el valor de la look-up table correspondiente
con la señal modulada en FM en la señal VOR.
La tabla o look-up table COS_LUT se ha generado de la siguiente forma:
1 2
COS_LUT = cos(2π · [0, , , ..., 1]) (5.2)
ACC_MAX ACC_MAX

El valor del Acc que controla la salida del VCO depede de su valor en anteriores iteraciones (será 0 en la
primera), del valor de la salida del filtro LPF del PLL y del valor ACC_MAX dado (se observa en la Tabla
4.4).
Conociendo todo lo anterior se puede generar una función en Python que, dando una señal VOR previamente
capturada o haciendo uso de capturas con el RTL-SDR en tiempo real, implemente los bloques de la Figura
5.1 para obtener así las señales AM y FM.
Con ambas señales demoduladas, para terminar con el receptor se procede a buscar la diferencia de fase
entre ambas. Para ello, se sigue el algoritmo descrito en el Apartado 4.1.3, obteniendo con el Delay entre las
señales AM y FM una estimación de la fase del receptor.

5.2 Aplicación

Para hacer más sencillo el procesamiento de señales ideales y reales, se va a hacer uso de un catálogo
de opciones que permitan elegir las diferentes características y archivos seleccionables para obtener los
resultados directamente sin la necesidad de modificar el archivo de Python con el código fuente [21]. De esta
forma, se consigue que la aplicación del modelo del receptor sea más cómoda para el usuario.
Para ello, se hace uso de la librería de Python llamada argparse. Ésta permite al usuario la definición de
arguments u opciones que se especifican en la línea de comando de la consola del sistema operativo por el
usuario. También, para que no haya ninguna confusión, hay una opción por defecto, llamado help o -h, que en
lugar de correr el código muestra todas las opciones disponibles definidas junto a una pequeña descripción si
se ha dado.
Se muestra a continuación la línea de código para la definición de las opciones y su habilitación:

1 import argparse
2
3 my_parser = argparse.ArgumentParser()
4 my_parser.version = ’1.0’
5
6 my_parser.add_argument(’-c’,action=’store’, type=float, help=’select VOR frequency’)
7 my_parser.add_argument(’-s’,action=’store’, type=float, help=’select sample frequency’)
8 my_parser.add_argument(’-m’,action=’store’, type=str, help=’select mode: emulated_ideal,
emulated_real,rtl_sdr’)
9 my_parser.add_argument(’-o’,action=’store’, type=str, help=’select output file (end with .txt)’)
10 my_parser.add_argument(’-i’,action=’store’, type=str, help=’select input file (end with .mat)’)
11
12 args = my_parser.parse_args()
13 print(vars(args))

Código 5.1 Código con uso de librería argparse y opciones.

Se puede observar en el código anterior que, mediante el comando action = ’store’, se indica que tras cada
opción se debe especificar un valor que será almacenado para ser usado posteriormente. Las opciones dadas
y su funcionamiento se comentan a continuación:
5.3 Captura en tiempo real 53

• -m: selección del modo de entre los 3 disponibles. Se debe escribir una de las tres opciones que se
pueden observar en la ayuda, emulated_ideal, emulated_real o rtl_sdr. Si no se especifica ninguna o se
escribe otro distinto, el modo por defecto es emulated_ideal. Los modos emulated_ideal y emulated_-
real son análogos, pues procesan una señal generada o capturada previamente troceándola, pero se
diferencian en que para el caso emulated_real la señal es una capturada con anterioridad haciendo uso
del rtlsdr y, al usar el modo de demodulación IQ, se procesa el valor absoluto de dicha señal (ya que
hay parte real y parte imaginaria), cosa que en una señal ideal generada en MATLAB no es necesario.
El modo rtl_sdr sirve para el procesamiento en tiempo real de una señal VOR, mostrando en pantalla
el ángulo VOR calculado en cada momento.

• -s: selector de la frecuencia de muestreo de la señal. Es importante que ésta sea la misma que se utilizó
al generar o capturar la señal en los modos emulated_ideal y emulated_real, y será la que se usa para la
captura en tiempo real en el modo rtl_sdr. Se especifica en Hz.

• -c: selección de la frecuencia del VOR. Únicamente es necesario si se ha seleccionado el modo rtl_sdr
para sintonizar la frecuencia correctamente, no es necesario dar un valor en el resto de modos y, de
hacerlo, éste no será usado por el receptor. Se especifica en Hz.

• -i: indicador del nombre de un archivo para guardar los datos de salida. Se da un nombre a elegir por
el usuario, finalizado en .txt. De existir ese archivo, se sobreescribe con la salida nueva, pero si no se
encuentra uno igual en el directorio, se crea un archivo nuevo con dicho nombre. En el caso de que se
elija esta opción, en la consola del sistema no se verán los resultados aparecer en tiempo real, sino que
se guardan directamente en el archivo.

• -o: indicador del archivo con señal VOR generada o capturada para su procesado. Únicamente es
necesario su especificación si se ha elegido alguno de los modos emulated_ideal o emulated_real. Se
debe escribir el nombre del archivo, seguido de su extensión .mat.

Todas las opciones anteriores son completamente opcionales y se pueden especificar en la consola todas
ellas, algunas o ninguna. Es por ello que se han dado valores por defecto por si el usuario no ha escrito el
valor de variables necesarias para el correcto funcionamiento del sistema. Un ejemplo de cómo especificar
en la línea de comandos con las opciones descritas sería el siguiente:

1 python vor_rx.py -c 100e6 -s 270000 -m emulated_ideal -o test1.txt -i ideal100grad300grad.mat

Donde vor_rx.py es el código con el receptor VOR descrito en este apartado de la memoria. Se procesa
la señal ideal guardada en el archivo ideal100grad300grad.mat, a una frecuencia de muestreo de 270 kHz.
Aunque no es necesario, se ha dado la frecuencia de la estación VOR, a 100 MHz. El resultado será guardado
en el archivo de texto test1.txt.

5.3 Captura en tiempo real

Este apartado de la memoria tiene como objetivo la descripción de las capturas realizadas con el RTL-SDR
y procesadas en Python bien en tiempo real o guardadas para su posterior procesamiento. Estas capturas
permiten la obtención de la fase estimada del receptor respecto a una estación VOR requiriendo únicamente
un computador y un dispositivo SDR con una antena correspondiente.
En primer lugar, se comenta la codificación en Python que es necesaria para el procesamiento en tiempo
real, así como la configuración elegida y su justificación. Para finalizar el apartado, se explica el procedimiento
de captura de la señal, la localización elegida y los problemas encontrados y su solución.

5.3.1 Configuración y características de las pruebas

Para comenzar, el uso del RTL-SDR en Python fue comentado en el Apartado 3.4 de este documento. Se
ha usado la interfaz de pyrtlsdr para ello. La cofiguración del mismo se ha realizado como se observa en la
siguiente Tabla 5.1
54 Capítulo 5. Codificación en Python y cosimulación

Tabla 5.1 Configuración de RTL-SDR para capturas.

Frec. de muestreo 270kHz


Frec. central 113.7MHz
Ganancia 40.2dB

Dicha configuración sólo es activada en el momento en que el usuario elige la opción rtl_sdr de entre
las disponibles en el código. En primer lugar, se especifica la frecuencia de muestreo y la frecuencia
central, definidas en 270kHz y 113.7Mhz por defecto, o bien dadas por el usuario mediante las opciones
correspondientes. Por último, la ganancia de la captura debe especificarse, pues por defecto el dispositivo la
tiene activada a 0 dB y la captura en tiempo real de la señal no se realiza correctamente. El valor dado se
comenta posteriormente en este apartado.

5.3.2 Realización de capturas

Una vez configurado el dispositivo y con el modelo de receptor codificado, se procede a su uso para la
obtención de la fase del receptor estimada. Para ello, se debe sintonizar una estación VOR y comprobar que
la señal se parece a la ideal estudiada. Se ha usado el VOR de Sevilla, cuya frecuencia de sintonización es
113.7Mhz, obtenido directamente del AIP [1]. En la foto de la Figura 5.2 se observa la estación.

Figura 5.2 Imagen del VOR de Sevilla.

Para comprobar en primer lugar la señal capturada, se hace uso del software de Airspy SDRSharp,
mencionado también en el Apartado 3.4. Se obtiene la gráfica de la Figura 5.3, donde se puede observar
que se ha sintonizado correctamente la estación VOR y que la señal coincide con la teoría. Adicionalmente,
gracias a SDRSharp se puede obtener directamente el audio que encierra la dicha señal, y que representa en
código morse las letras SVQ que identifican al aeropuerto de Sevilla y a este VOR. Esto se puede observar
justo debajo del espectro, aunque no caben las 3 letras en ese espacio.
5.3 Captura en tiempo real 55

Figura 5.3 Espectro de la señal del VOR de Sevilla.

Con esto, se procede a la captura de señales y procesamiento en tiempo real. Cabe destacar que el proceso
con señales reales se ha tenido que realizar cerca de la estación. Esto se debe a que, aunque tenga un alcance
de cientos de km como se comenta en el Capítulo 2, se necesita visión directa con la estación para recibir la
señal al usar una frecuencia central en la banda de VHF. La estación se encuentra en una zona de campo
abierta y cerca de un polígono industrial, donde se han realizado las capturas.

En primer lugar, se realizaron unas primeras pruebas a una distancia muy cercana a la estación, pues
apenas había 200m entre esta y el receptor. Este fue el primer problema, pues la señal VOR no está pensada
para ser utilizada desde tan cerca, por lo que se consiguió una señal muy saturada y su captura, por tanto, no
fue procesada correctamente.

Conocido lo anterior, se cambió la localización de la captura al polígono industrial mencionado situado a


2km de la estación aproximadamente. Desde ésta, se consigue una visión directa con el emisor. Se volvieron
a capturar señales pero, de nuevo, no aparecían con la forma estudiada y no permitían el uso del receptor
modelado correctamente. Esto se produjo ya que no se había ajustado manualmente la ganancia del dispositivo,
estando a 0dB por defecto. Se probaron varias opciones, pues el SDR sólo soporta cierto valores predefinidos
(observables en el Código 5.2), quedando al final con los 40.2dB que se eligieron en la configuración
anteriormente descrita (Tabla 5.1).

1 Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4
28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6

Código 5.2 Valores de ganancia disponibles para el RTL-SDR.

Así, la señal VOR se pudo obtener correctamente y se realizaron capturas para el procesamiento posterior
así como procesamiento en tiempo real con el código diseñado. Recordar que, como se comenta en el
Capítulo 2, la antena emisora del VOR tiene polarización horizontal, por lo que se coloca la antena en
posición horizontal para obtener correctamente las señales. En la Figura 5.4 se muestran las 2 localizaciones
donde se han realizado capturas en un primer momento, así como el Norte real para la obtención de la fase
real.
56 Capítulo 5. Codificación en Python y cosimulación

Figura 5.4 Localización para capturas estáticas y en movimiento.

Se recuerda que el sistema VOR marca la fase del receptor respecto al Norte magnético, y este difiere del
real un valor, conocido como declinación magnética. Para obtener por tanto la fase real respecto al Norte
magnético, basta con sumarle a la anterior el valor de declinación en la localización del VOR y en el día en
que se ha realizado la prueba. Para este caso, se obtiene directamente de la página del Instituto Geográfico
Nacional [6] el valor que se observa en la Figura 5.5:

Figura 5.5 Valor de la declinación magnética en la localización del VOR y día de realización de pruebas.

Así, finaliza el Apartado de capturas con la configuración y realización de las mismas. Se han realizado
otras capturas usando distintos radiales, siguiendo el mismo procedimiento y configuración al descrito. Los
resultados en errores de las capturas se han mostrado en el Capítulo 4, en el Apartado 4.4, comprobando en
éstos el resultado del modelo del receptor.

5.4 Validaciones

En este último apartado del Capítulo 5 se valida el resultado del modelo codificado en Python, comprobando
que los resultados a la salida coinciden con los esperados, conociendo el comportamiento del modelo
(estudiado en el Capítulo 4).
Por ello, siguiendo el mismo procedimiento que en el anterior Capítulo, se valida el modelo en primer lugar
con una excitación ideal, para un receptor estático y uno en movimiento. Una vez comprobado el resultado,
5.4 Validaciones 57

se procesan capturas reales y se compara con la fase real. Para terminar, se comentan los resultados al hacer
un procesamiento en tiempo real de señales VOR.

5.4.1 Validación con excitación ideal

Para comprobar el correcto funcionamiento del receptor codificado, se procede a la generación de señales
VOR en MATLAB, dando la fase del receptor para una prueba con ángulo respecto a la estación estático, o
bien dar la fase inicial y final para hacer pruebas con la trayectoria comentada en el capítulo anterior de éste
documento (Apartado 4.3).

Generación de señales ideales


La función de MATLAB usada para la generación de una señal VOR en banda base es la siguiente:

1 function [SBbVor] = GenBbVorSigGen(PhiVor,Fs)


2 Wref = 2*pi*9960 / Fs;
3 Wm = 2*pi*30 / Fs;
4 Wp = 2*pi*1020 / Fs;
5 Beta = 480/(2*pi*30); % Indice de Modulación
6
7 n = [0:1:length(PhiVor)-1]’;
8 SBbVor = 1+0.33*cos(Wm*n)+ ... %Referencia Omnidireccional
9 +0.33*cos(Wref*n+Beta*sin(Wm*n+PhiVor)); %+... %Referencia Direccional
10 %+0.2*cos(Wp*n)+0.1*Saudio; %Audio e Identificador Morse
11
12 return

Código 5.3 Generación de Señal VOR ideal en Banda Base.

Donde se ha reformulado la ecuación 2.3 para desplazar la señal a banda base como:
1 t 1 t t
SBbVor(t) = 1 + cos(2π · 30 ) + cos(2π · 9960 + β sin(2π · 30 + θ )) (5.3)
3 Fs 3 Fs Fs

En la ecuación 5.3 se ha omitido el contenido correspondiente a el audio e identificador morse, al igual que
en la función de MATLAB. Esto es debido a que dicha información es irrelevante para el estudio que se ha
llevado a cabo, pues la fase viene dada por los términos correspondientes a las referencias omnidireccional y
direccional moduladas en AM y FM respectivamente. Por ello, y para obtener una señal ideal lo más limpia
de ruido posible el resto de términos son despreciados.
La función recibe como entrada PhiVor, un vector que incluye los ángulos respecto al VOR del receptor
en cada periodo de muestreo, así como la frecuencia de muestreo, Fs que se desea usar. Con esto y con las
trayectorias descritas en el apartado 4 del documento, se puede validar el receptor tanto en MATLAB como
en Python, guardando la señal generada en archivos .mat, que se pueden leer en ambos sistemas. Para leer
estos archivos en Python es necesario importar la librería loadmat, de scipy.io.

Resultados de la validación
Para la validación con una excitación ideal, como se busca simular el procesamiento en tiempo real de
una señal VOR, el procesamiento de la señal ideal generada se hará a trozos. Para ello, se elige el número
de periodos por captura a procesar (PpC, Periods per Capture), y con el número de muestras por periodo
(Saples per Period, SpP) se puede obtener el número de muestras por captura (SpC, Samples per Capture). Si
una señal tiene un número de muestras llamado NoC, el trozo de la señal VOR generada que se procesa será:

s_captured = sVOR[k · SpC, ..., (k + 1) · SpC] (5.4)

Donde k va desde 1 hasta NoC. Se ha elegido un número de PpC igual a 3, por tanto se van procesando 3
periodos de la señal VOR continuamente hasta que se llega al final de esta.
Cabe destacar también en el cálculo de la correlación y el Delay se usará el último periodo de la señal
disponible únicamente. Se ha decidido de esta forma porque al procesar la señal de 3 periodos en 3 periodos
al principio el sistema añade un transitorio en las señales AM y FM demoduladas, que provocan que el
cálculo de la correlación no sea acertado.
58 Capítulo 5. Codificación en Python y cosimulación

Una vez conocido el procedimiento que se ha seguido para el procesado de las señales que se van a pasar,
en cada iteración se mostrará en pantalla o en el archivo de texto, según se especifique en las opciones, los
siguientes elementos:
1. Delay: se pasa el valor de la variable Delay en la iteración previa y el calculado, para observar la mejora
conseguida.
2. xCorr: de la misma forma, se pasan los valores de la Correlación calculada y el previo.
3. EstPhase: por último, se muestra el valor de la estimación del ángulo respecto al VOR que se ha obtenido
para el Delay calculado.
Como se vio en el Apartado 4.3 de este documento, el resultado ideal es el mismo o muy similar para
todos los casos analizados. En primer lugar se muestra un ejemplo con una fase fija. El ángulo respecto al
Norte magnético entre el receptor y el VOR es de 45◦ , y el resultado generado por el receptor de Python es el
siguiente:

1 delay: 0 -> 338, xCorr:0->8.746412e-01, EstPhase: 29.56


2 delay: 338 -> 599, xCorr:8.746412e-01->9.637341e-01, EstPhase: 40.00
3 delay: 599 -> 626, xCorr:9.637341e-01->9.961364e-01, EstPhase: 41.08
4 delay: 626 -> 643, xCorr:9.961364e-01->9.976146e-01, EstPhase: 41.76
5 delay: 643 -> 654, xCorr:9.976146e-01->9.983635e-01, EstPhase: 42.20
6 delay: 654 -> 662, xCorr:9.983635e-01->9.987731e-01, EstPhase: 42.52
7 delay: 662 -> 669, xCorr:9.987731e-01->9.990341e-01, EstPhase: 42.80
8 delay: 669 -> 675, xCorr:9.990341e-01->9.992368e-01, EstPhase: 43.04
9 delay: 675 -> 680, xCorr:9.992368e-01->9.993916e-01, EstPhase: 43.24
10 delay: 680 -> 684, xCorr:9.993916e-01->9.995072e-01, EstPhase: 43.40
11 delay: 684 -> 687, xCorr:9.995072e-01->9.995910e-01, EstPhase: 43.52
12 delay: 687 -> 690, xCorr:9.995910e-01->9.996486e-01, EstPhase: 43.64
13 delay: 690 -> 693, xCorr:9.996486e-01->9.997019e-01, EstPhase: 43.76
14 delay: 693 -> 695, xCorr:9.997019e-01->9.997508e-01, EstPhase: 43.84
15 delay: 695 -> 697, xCorr:9.997508e-01->9.997810e-01, EstPhase: 43.92
16 delay: 697 -> 699, xCorr:9.997810e-01->9.998092e-01, EstPhase: 44.00
17 delay: 699 -> 701, xCorr:9.998092e-01->9.998355e-01, EstPhase: 44.08
18 delay: 701 -> 703, xCorr:9.998355e-01->9.998598e-01, EstPhase: 44.16
19 delay: 703 -> 704, xCorr:9.998598e-01->9.998822e-01, EstPhase: 44.20
20 delay: 704 -> 705, xCorr:9.998822e-01->9.998926e-01, EstPhase: 44.24
21 delay: 705 -> 706, xCorr:9.998926e-01->9.999026e-01, EstPhase: 44.28
22 delay: 706 -> 707, xCorr:9.999026e-01->9.999121e-01, EstPhase: 44.32
23 delay: 707 -> 708, xCorr:9.999121e-01->9.999211e-01, EstPhase: 44.36
24 delay: 708 -> 709, xCorr:9.999211e-01->9.999296e-01, EstPhase: 44.40
25 delay: 709 -> 710, xCorr:9.999296e-01->9.999376e-01, EstPhase: 44.44
26 delay: 710 -> 711, xCorr:9.999376e-01->9.999451e-01, EstPhase: 44.48
27 delay: 711 -> 712, xCorr:9.999451e-01->9.999522e-01, EstPhase: 44.52
28 delay: 712 -> 713, xCorr:9.999522e-01->9.999587e-01, EstPhase: 44.56
29 delay: 713 -> 714, xCorr:9.999587e-01->9.999648e-01, EstPhase: 44.60
30 delay: 714 -> 715, xCorr:9.999648e-01->9.999704e-01, EstPhase: 44.64
31 delay: 715 -> 716, xCorr:9.999704e-01->9.999755e-01, EstPhase: 44.68
32 delay: 716 -> 717, xCorr:9.999755e-01->9.999801e-01, EstPhase: 44.72
33 delay: 717 -> 718, xCorr:9.999801e-01->9.999842e-01, EstPhase: 44.76
34 delay: 718 -> 719, xCorr:9.999842e-01->9.999878e-01, EstPhase: 44.80
35 delay: 719 -> 720, xCorr:9.999878e-01->9.999910e-01, EstPhase: 44.84
36 delay: 720 -> 721, xCorr:9.999910e-01->9.999936e-01, EstPhase: 44.88
37 delay: 721 -> 722, xCorr:9.999936e-01->9.999958e-01, EstPhase: 44.92
38 delay: 722 -> 723, xCorr:9.999958e-01->9.999975e-01, EstPhase: 44.96
39 delay: 723 -> 724, xCorr:9.999975e-01->9.999987e-01, EstPhase: 45.00
40 .
41 .
42 .
43 delay: 725 -> 724, xCorr:9.999993e-01->9.999996e-01, EstPhase: 45.00
44 delay: 724 -> 724, xCorr:9.999996e-01->9.999994e-01, EstPhase: 45.00
45 delay: 724 -> 725, xCorr:9.999994e-01->9.999994e-01, EstPhase: 45.04

Código 5.4 Salida del receptor - Validación con señal ideal estática.

Como era de esperar, no se alcanza el ángulo objetivo del principio (los 100◦ ) hasta la iteración número
39, pero aún así se consigue un resultado con un error menor a 1◦ en apenas 17 iteraciones. De la misma
forma, el resultado es muy similar al visto en el Capítulo 4, donde se analizaron varias trayectorias, en los
tramos en los que el receptor mantiene su fase estática.
5.4 Validaciones 59

Se puede observar que el valor máximo de correlación corresponde con el valor de estimación de la
fase buscado, 45◦ . También que el comportamiento es el descrito en el Capítulo 4 para tramos rectos de
trayectorias, pues a medida que la correlación va aumentando el incremento del ángulo con el que se avanza
hasta conseguir el máximo va siendo cada vez menor. Una vez se alcanza la máxima correlación, el sistema
obtendrá una menor en la siguiente iteración, cosa que hará que cambie de sentido, como se comenta en el
apartado 5.1.
Al haber visto que se ha codificado el receptor correctamente, obteniendo la fase para el ángulo de receptor
fijo, para terminar el análisis de señales ideales con el modelo de receptor VOR diseñado, a continuación
se muestra parte de la salida obtenida al procesar la señal ideal de una trayectoria que va desde el radial o
ángulo respecto al VOR de 0◦ al 160◦ :

1 delay: 0 -> 55, xCorr:0->9.616568e-01, EstPhase: 27.00


2 delay: 55 -> 1796, xCorr:9.616568e-01->8.916610e-01, EstPhase: 15.20
3 delay: 1796 -> 1746, xCorr:8.916610e-01->9.646944e-01, EstPhase: 5.20
4 delay: 1746 -> 1741, xCorr:9.646944e-01->9.958498e-01, EstPhase: 4.20
5 delay: 1741 -> 1738, xCorr:9.958498e-01->9.972908e-01, EstPhase: 3.60
6 delay: 1738 -> 1736, xCorr:9.972908e-01->9.980083e-01, EstPhase: 3.20
7 delay: 1736 -> 1734, xCorr:9.980083e-01->9.984252e-01, EstPhase: 2.80
8 delay: 1734 -> 1733, xCorr:9.984252e-01->9.987931e-01, EstPhase: 2.60
9 delay: 1733 -> 1732, xCorr:9.987931e-01->9.989586e-01, EstPhase: 2.40
10 delay: 1732 -> 1730, xCorr:9.989586e-01->9.991118e-01, EstPhase: 2.00
11 delay: 1730 -> 1729, xCorr:9.991118e-01->9.993815e-01, EstPhase: 1.80
12 delay: 1729 -> 1728, xCorr:9.993815e-01->9.994979e-01, EstPhase: 1.60
13 delay: 1728 -> 1727, xCorr:9.994979e-01->9.996020e-01, EstPhase: 1.40
14 delay: 1727 -> 1726, xCorr:9.996020e-01->9.996938e-01, EstPhase: 1.20
15 delay: 1726 -> 1725, xCorr:9.996938e-01->9.997734e-01, EstPhase: 1.00
16 delay: 1725 -> 1724, xCorr:9.997734e-01->9.998407e-01, EstPhase: 0.80
17 delay: 1724 -> 1723, xCorr:9.998407e-01->9.998957e-01, EstPhase: 0.60
18 delay: 1723 -> 1722, xCorr:9.998957e-01->9.999384e-01, EstPhase: 0.40
19 delay: 1722 -> 1721, xCorr:9.999384e-01->9.999688e-01, EstPhase: 0.20
20 delay: 1721 -> 1720, xCorr:9.999688e-01->9.999870e-01, EstPhase: 0.00
21
22 .
23 .
24 .
25 delay: 1719 -> 1719, xCorr:9.993978e-01->9.993633e-01, EstPhase: 359.80
26 delay: 1719 -> 1719, xCorr:9.993633e-01->9.993269e-01, EstPhase: 359.80
27 delay: 1719 -> 1720, xCorr:9.993269e-01->9.992885e-01, EstPhase: 0.00
28 delay: 1720 -> 1721, xCorr:9.992885e-01->9.993769e-01, EstPhase: 0.20
29 delay: 1721 -> 1722, xCorr:9.993769e-01->9.994585e-01, EstPhase: 0.40
30 delay: 1722 -> 1723, xCorr:9.994585e-01->9.995334e-01, EstPhase: 0.60
31 delay: 1723 -> 1724, xCorr:9.995334e-01->9.996018e-01, EstPhase: 0.80
32 delay: 1724 -> 1725, xCorr:9.996018e-01->9.996640e-01, EstPhase: 1.00
33 .
34 .
35 .
36 delay: 1745 -> 1744, xCorr:9.993239e-01->9.991798e-01, EstPhase: 4.80
37 delay: 1744 -> 1746, xCorr:9.991798e-01->9.988550e-01, EstPhase: 5.20
38 delay: 1746 -> 1747, xCorr:9.988550e-01->9.989931e-01, EstPhase: 5.40
39 delay: 1747 -> 1745, xCorr:9.989931e-01->9.989638e-01, EstPhase: 5.00
40 delay: 1745 -> 1748, xCorr:9.989638e-01->9.983873e-01, EstPhase: 5.60
41 delay: 1748 -> 1749, xCorr:9.983873e-01->9.987119e-01, EstPhase: 5.80
42 delay: 1749 -> 1747, xCorr:9.987119e-01->9.986550e-01, EstPhase: 5.40
43 delay: 1747 -> 1750, xCorr:9.986550e-01->9.979761e-01, EstPhase: 6.00
44 delay: 1750 -> 1752, xCorr:9.979761e-01->9.983129e-01, EstPhase: 6.40
45 delay: 1752 -> 1754, xCorr:9.983129e-01->9.984189e-01, EstPhase: 6.80
46 delay: 1754 -> 1756, xCorr:9.984189e-01->9.985108e-01, EstPhase: 7.20
47 delay: 1756 -> 1758, xCorr:9.985108e-01->9.985891e-01, EstPhase: 7.60
48 delay: 1758 -> 1759, xCorr:9.985891e-01->9.986542e-01, EstPhase: 7.80
49 delay: 1759 -> 1756, xCorr:9.986542e-01->9.985226e-01, EstPhase: 7.20
50 delay: 1756 -> 1760, xCorr:9.985226e-01->9.974756e-01, EstPhase: 8.00
51 delay: 1760 -> 1762, xCorr:9.974756e-01->9.979813e-01, EstPhase: 8.40
52 delay: 1762 -> 1764, xCorr:9.979813e-01->9.979977e-01, EstPhase: 8.80
53 delay: 1764 -> 1761, xCorr:9.979977e-01->9.979963e-01, EstPhase: 8.20
54 delay: 1761 -> 1766, xCorr:9.979963e-01->9.967112e-01, EstPhase: 9.20
55 delay: 1766 -> 1769, xCorr:9.967112e-01->9.974621e-01, EstPhase: 9.80
56 delay: 1769 -> 1772, xCorr:9.974621e-01->9.976394e-01, EstPhase: 10.40
57 delay: 1772 -> 1775, xCorr:9.976394e-01->9.977869e-01, EstPhase: 11.00
58 delay: 1775 -> 1778, xCorr:9.977869e-01->9.979056e-01, EstPhase: 11.60
60 Capítulo 5. Codificación en Python y cosimulación

59 delay: 1778 -> 1780, xCorr:9.979056e-01->9.979962e-01, EstPhase: 12.00


60 delay: 1780 -> 1776, xCorr:9.979962e-01->9.978349e-01, EstPhase: 11.20
61 delay: 1776 -> 1782, xCorr:9.978349e-01->9.959740e-01, EstPhase: 12.40
62 delay: 1782 -> 1786, xCorr:9.959740e-01->9.968665e-01, EstPhase: 13.20
63 delay: 1786 -> 1790, xCorr:9.968665e-01->9.971047e-01, EstPhase: 14.00
64 delay: 1790 -> 1793, xCorr:9.971047e-01->9.972942e-01, EstPhase: 14.60
65 .
66 .
67 .
68 delay: 709 -> 710, xCorr:9.992969e-01->9.994117e-01, EstPhase: 158.00
69 delay: 710 -> 711, xCorr:9.994117e-01->9.995166e-01, EstPhase: 158.20
70 delay: 711 -> 712, xCorr:9.995166e-01->9.996114e-01, EstPhase: 158.40
71 delay: 712 -> 713, xCorr:9.996114e-01->9.996961e-01, EstPhase: 158.60
72 delay: 713 -> 714, xCorr:9.996961e-01->9.997706e-01, EstPhase: 158.80
73 delay: 714 -> 715, xCorr:9.997706e-01->9.998348e-01, EstPhase: 159.00
74 delay: 715 -> 716, xCorr:9.998348e-01->9.998885e-01, EstPhase: 159.20
75 delay: 716 -> 717, xCorr:9.998885e-01->9.999318e-01, EstPhase: 159.40
76 delay: 717 -> 718, xCorr:9.999318e-01->9.999645e-01, EstPhase: 159.60
77 delay: 718 -> 719, xCorr:9.999645e-01->9.999866e-01, EstPhase: 159.80
78 delay: 719 -> 720, xCorr:9.999866e-01->9.999980e-01, EstPhase: 160.00
79 delay: 720 -> 721, xCorr:9.999980e-01->9.999985e-01, EstPhase: 160.20
80 delay: 721 -> 721, xCorr:9.999985e-01->9.999882e-01, EstPhase: 160.20
81 delay: 721 -> 720, xCorr:9.999882e-01->9.999890e-01, EstPhase: 160.00
82 delay: 720 -> 719, xCorr:9.999890e-01->9.999992e-01, EstPhase: 159.80

Código 5.5 Salida del receptor - Validación con señal ideal en movimiento.

A diferencia que en ejemplo con fase estática, se alcanzan los 0◦ correspondientes a la fase inicial del
receptor en la iteración número 20, y se consigue un error menor a 1◦ en 15 iteraciones. El resultado ya se
analizó en el Capítulo 4 para este mismo ejemplo, y se observó que en la transición de un radial a otro, en el
tramo de giro (iteraciones desde la 25 a 64 del Código 5.5 mostrado), se obtienen buenos resultados pero el
sistema puede llegar a de-sincronizar, haciendo que el valor de la correlación baje de 0.999 en ciertos puntos.
El resto de pruebas realizadas con señales VOR ideales en trayectorias y receptores estáticos dan resultados
similares, así que ambos ejemplos mostrados en esta sección sirven para validar el corrector funcionamiento
del receptor VOR diseñado en Python y MATLAB.

5.4.2 Validación con excitación real

Para continuar, se procede a validar la codificación del receptor usando señales reales captadas con un
dispositivo RTL-SDR. Al igual que en el apartado anterior, se trata de una señal completa que se obtiene con
anterioridad, por lo que para su tratamiento se trocea siguiendo la Ecuación 5.4, y se procesan 3 periodos de
la señal en cada iteración.
Hay que tener en cuenta que, al estar la señal proveniente del RTL-SDR modulada en IQ en 8 bits, la señal
recibida será procesada para transformarse en una señal compleja. El modelo codificado del receptor debe
recibir el valor absoluto de dicha señal para un correcto procesamiento de la misma.
En el Apartado 5.3 se comenta en detalle el proceso de captura de la señal, así como la configuración
utilizada para llevarla a cabo, la localización y limitaciones, etc.
Por tanto, en este apartado se muestra parte de los códigos resultantes de los dos ejemplos analizados en el
Capítulo 4, en el apartado 4.4, para dejar constancia de los ángulos obtenidos como estimación de la fase del
receptor. Se muestran solamente algunas lineas de código una vez se ha alcanzado la correlación máxima
para evitar alargar demasiado este apartado del documento.

Validación con señal real - Captura estática


La captura que se trata en el Apartado 4.4 se realiza con el receptor estático, desde el radial 319.4 respecto al
VOR de Sevilla. Se muestra a continuación la salida que se obtiene con el receptor VOR de Python/MATLAB,
que coincide con los resultados analizados en la Simulación del receptor, Apartado 4.4.1.

1 delay: 0->1117, xCorr:0.00000000->0.58610725, EstPhase: 60.72


2 delay: 1117->3367, xCorr:0.58610725->-0.07355498, EstPhase: 150.72
3 delay: 3367->5617, xCorr:-0.07355498->-0.99746800, EstPhase: 240.72
4 delay: 5617->8131, xCorr:-0.99746800->0.06878559, EstPhase: 341.28
5 delay: 8131->8356, xCorr:0.06878559->0.96870859, EstPhase: 350.28
6 delay: 8356->8206, xCorr:0.96870859->0.94464870, EstPhase: 344.28
5.4 Validaciones 61

7 .
8 .
9 .
10 delay: 7859->7877, xCorr:0.99479530->0.99742537, EstPhase: 331.12
11 delay: 7877->7854, xCorr:0.99742537->0.99689461, EstPhase: 330.20
12 delay: 7854->7834, xCorr:0.99689461->0.99709718, EstPhase: 329.40
13 delay: 7834->7826, xCorr:0.99709718->0.99881407, EstPhase: 329.08
14 delay: 7826->7838, xCorr:0.99881407->0.99837879, EstPhase: 329.56
15 delay: 7838->7817, xCorr:0.99837879->0.99713209, EstPhase: 328.72
16 delay: 7817->7809, xCorr:0.99713209->0.99888663, EstPhase: 328.40
17 delay: 7809->7802, xCorr:0.99888663->0.99898760, EstPhase: 328.12
18 delay: 7802->7797, xCorr:0.99898760->0.99933800, EstPhase: 327.92
19 delay: 7797->7793, xCorr:0.99933800->0.99949254, EstPhase: 327.76
20 .
21 .
22 .
23 delay: 7742->7754, xCorr:0.99938449->0.99846059, EstPhase: 326.20
24 delay: 7754->7761, xCorr:0.99846059->0.99895469, EstPhase: 326.48
25 delay: 7761->7768, xCorr:0.99895469->0.99906563, EstPhase: 326.76
26 delay: 7768->7771, xCorr:0.99906563->0.99963144, EstPhase: 326.88
27 delay: 7771->7766, xCorr:0.99963144->0.99923955, EstPhase: 326.68

Código 5.6 Salida del receptor - Validación con señal real estática.

Con 250 capturas, en unas 50 iteraciones el receptor alcanza el valor de correlación máxima y, en ausencia
de fuentes de ruido o interferencias externas, se mantiene alrededor de dicho valor hasta finalizar el proce-
samiento. Hay que recordar que el valor estimado con correlación máxima no coincide con la fase real del
receptor por otras fuentes que distorsionan la señal respecto a la ideal y que, por su complejidad, se deja su
estudio para lineas de futuro.

Validación con señal real - Captura en movimiento


Para finalizar, se muestra la salida obtenida para la captura en movimiento estudiada en la Sección 4.4, en
la que el receptor se desplaza entre los radiales 319.4 al 313.8. De la misma forma que antes, se muestra
parte de la salida en la que el receptor está alcanzando la correlación máxima y también el resultado durante
la trayectoria.
Se observa la salida en el Código 5.7:

1 delay: 0 -> 940, xCorr:0->6.515824e-01, EstPhase: 53.40


2 delay: 940 -> 7303, xCorr:6.515824e-01->2.344434e-02, EstPhase: 307.92
3 delay: 7303 -> 6984, xCorr:2.344434e-02->9.555594e-01, EstPhase: 295.16
4 delay: 6984 -> 7359, xCorr:9.555594e-01->8.612820e-01, EstPhase: 310.16
5 .
6 .
7 .
8 delay: 7792 -> 7799, xCorr:9.984976e-01->9.989807e-01, EstPhase: 327.76
9 delay: 7799 -> 7770, xCorr:9.989807e-01->9.960210e-01, EstPhase: 326.60
10 delay: 7770 -> 7761, xCorr:9.960210e-01->9.987289e-01, EstPhase: 326.24
11 delay: 7761 -> 7771, xCorr:9.987289e-01->9.987079e-01, EstPhase: 326.64
12 delay: 7771 -> 7761, xCorr:9.987079e-01->9.986163e-01, EstPhase: 326.24
13 delay: 7761 -> 7773, xCorr:9.986163e-01->9.984416e-01, EstPhase: 326.72
14 .
15 .
16 .
17
18 delay: 7318 -> 7210, xCorr:9.809359e-01->9.849217e-01, EstPhase: 304.20
19 delay: 7210 -> 7142, xCorr:9.849217e-01->9.905422e-01, EstPhase: 301.48
20 delay: 7142 -> 7739, xCorr:9.905422e-01->7.790977e-01, EstPhase: 325.36
21 delay: 7739 -> 8016, xCorr:7.790977e-01->9.614413e-01, EstPhase: 336.44
22 delay: 8016 -> 8138, xCorr:9.614413e-01->9.829355e-01, EstPhase: 341.32
23 delay: 8138 -> 7914, xCorr:9.829355e-01->9.171170e-01, EstPhase: 332.36
24 delay: 7914 -> 8302, xCorr:9.171170e-01->8.565193e-01, EstPhase: 347.88
25 delay: 8302 -> 7042, xCorr:8.565193e-01->5.333721e-01, EstPhase: 297.48
26 delay: 7042 -> 6440, xCorr:5.333721e-01->7.767084e-01, EstPhase: 273.40
27 delay: 6440 -> 7554, xCorr:7.767084e-01->5.877445e-01, EstPhase: 317.96
28 delay: 7554 -> 7564, xCorr:5.877445e-01->9.985346e-01, EstPhase: 318.36
29 delay: 7564 -> 7409, xCorr:9.985346e-01->9.785475e-01, EstPhase: 312.16
30 delay: 7409 -> 7887, xCorr:9.785475e-01->8.229910e-01, EstPhase: 331.28
62 Capítulo 5. Codificación en Python y cosimulación

31 delay: 7887 -> 7964, xCorr:8.229910e-01->9.892260e-01, EstPhase: 334.36


32 delay: 7964 -> 7859, xCorr:9.892260e-01->9.854768e-01, EstPhase: 330.16
33 delay: 7859 -> 7993, xCorr:9.854768e-01->9.814925e-01, EstPhase: 335.52
34 delay: 7993 -> 7787, xCorr:9.814925e-01->9.240710e-01, EstPhase: 327.28
35 delay: 7787 -> 8197, xCorr:9.240710e-01->8.482429e-01, EstPhase: 343.68
36 delay: 8197 -> 8361, xCorr:8.482429e-01->9.771334e-01, EstPhase: 350.24
37 delay: 8361 -> 8175, xCorr:9.771334e-01->9.311524e-01, EstPhase: 342.80
38 delay: 8175 -> 8005, xCorr:9.311524e-01->9.369272e-01, EstPhase: 336.00
39 delay: 8005 -> 8182, xCorr:9.369272e-01->9.347717e-01, EstPhase: 343.08
40 delay: 8182 -> 7556, xCorr:9.347717e-01->7.683841e-01, EstPhase: 318.04
41 .
42 .
43 .
44 delay: 7676 -> 7665, xCorr:9.989610e-01->9.985452e-01, EstPhase: 322.40
45 delay: 7665 -> 7658, xCorr:9.985452e-01->9.989959e-01, EstPhase: 322.12
46 delay: 7658 -> 7652, xCorr:9.989959e-01->9.993033e-01, EstPhase: 321.88

Código 5.7 Salida del receptor - Validación con señal real en movimiento.

Se observa que, en los tramos en los que el receptor mantiene su fase (al comienzo y al final), el resultado
es el mismo que con la señal estática antes mostrada. El receptor alcanza una correlación alta en pocas
iteraciones (mayor a 0.99 en menos de 10), y se acerca en cada iteración más al valor de fase que permita
obtener una correlación máxima, sin tener en cuenta otros efectos negativos en la captura de la señal que
hagan que se distorsione y la correlación disminuya.
En el momento en que la fase del receptor comienza a variar, se observa que la correlación ya no es
capaz de mantenerse tan elevada y, de una iteración a otra, puede aumentar o disminuir, pero no se consigue
mantener en el valor máximo continuamente como antes. Durante todo este trayecto, el error en el cálculo de
la fase será mayor por tanto y, hasta alcanzar el radial objetivo y dejar el receptor en una posición estática
de nuevo no se consigue estabilizar el sistema y conseguir la fase correspondiente a la correlación máxima
obtenible.
Se puede comprobar que, aunque la estimación de la fase en el tramo de movimiento no es tan precisa, los
valores con mayor correlación son coherentes entre sí, pues se consigue pasar de una estimación de fase de
≈ 328◦ a ≈ 322◦ , coincidiendo en aproximación con el desplazamiento realizado en realidad, sumando un
error de 7◦ comentado en el Capítulo 4. Con esto concluye la validación con capturas del modelo de receptor
VOR codificado en Python y MATLAB.

5.4.3 Resultados del modelo con señales en tiempo real

Los resultado mostrados a continuación corresponden con el procesamiento en tiempo real desde Python
para obtener la fase del receptor. Se exponen dos ejemplos, de manera similar a lo visto a lo largo de este
Apartado.
En el primero de ellos, la fase del receptor se mantiene estática, dejando todo el tiempo disponible para
que mediante la codificación del modelo se alcance la correlación máxima y que ésta se mantenga, dando un
resultado de fase del receptor más acertado.
Para terminar, se muestran los resultados obtenidos al procesar los resultados de una captura en tiempo
real con el receptor en movimiento, para comprobar si el comportamiento es el mismo que el visto en el
procesamiento a posteriori.
La salida en la consola de Python o Windows obtenida para el primer caso se observa en el Código 5.8:

1 delay: 0->1123, xCorr:0.00000000->0.58374822, EstPhase: 60.96


2 delay: 1123->3373, xCorr:0.58374822->-0.15866712, EstPhase: 150.96
3 delay: 3373->5623, xCorr:-0.15866712->-0.98698723, EstPhase: 240.96
4 delay: 5623->7894, xCorr:-0.98698723->0.15881911, EstPhase: 331.80
5 delay: 7894->8009, xCorr:0.15881911->0.98401314, EstPhase: 336.40
6 delay: 8009->7768, xCorr:0.98401314->0.96654581, EstPhase: 326.76
7 delay: 7768->7738, xCorr:0.96654581->0.99574858, EstPhase: 325.56
8 delay: 7738->7720, xCorr:0.99574858->0.99739517, EstPhase: 324.84
9 delay: 7720->7706, xCorr:0.99739517->0.99799840, EstPhase: 324.28
10 delay: 7706->7695, xCorr:0.99799840->0.99846900, EstPhase: 323.84
11 delay: 7695->7687, xCorr:0.99846900->0.99883548, EstPhase: 323.52
12 delay: 7687->7680, xCorr:0.99883548->0.99895667, EstPhase: 323.24
13 delay: 7680->7673, xCorr:0.99895667->0.99911378, EstPhase: 322.96
5.4 Validaciones 63

14 .
15 .
16 .
17 delay: 7654->7659, xCorr:0.99938066->0.99941199, EstPhase: 322.40
18 delay: 7659->7655, xCorr:0.99941199->0.99938285, EstPhase: 322.24
19 delay: 7655->7659, xCorr:0.99938285->0.99933370, EstPhase: 322.40

Código 5.8 Salida del receptor - Resultado en tiempo real con fase estática.

Lo primero que se observa es que el procesamiento para la obtención de la fase es más lento que en la
validación con señales ideales o capturadas. Es comprensible, pues el sistema debe capturar y procesar la
señal en cada iteración, pero aún así se obtiene una estimación de fase cada 2.5 segundos aproximadamente,
para el computador con el que se ha realizado la prueba.
Se observa un resultado muy similar al visto en el Apartado 5.4.1 pues, estando en el radial 313.8, el
sistema al principio tarda una 15 o 20 iteraciones en alcanzar la correlación máxima, pero una vez la consigue
se obtiene el mismo valor de fase aproximadamente hasta finalizar el procesamiento. El error es grande pero
se debe a lo explicado en el Apartado 4.4 de este documento.
Seguidamente, el Código 5.9 muestra parte del resultado del procesamiento en tiempo real para el receptor
en movimiento, pasando del radial 313.8 al 319.4:

1 delay: 0 -> 1078, xCorr:0->6.004870e-01, EstPhase: 59.12


2 delay: 1078 -> 3328, xCorr:6.004870e-01->-1.240558e-01, EstPhase: 149.12
3 delay: 3328 -> 5578, xCorr:-1.240558e-01->-9.843875e-01, EstPhase: 239.12
4 delay: 5578 -> 7947, xCorr:-9.843875e-01->1.224598e-01, EstPhase: 333.88
5 delay: 7947 -> 8082, xCorr:1.224598e-01->9.811609e-01, EstPhase: 339.28
6 delay: 8082 -> 7937, xCorr:9.811609e-01->9.463212e-01, EstPhase: 333.48
7 delay: 7937 -> 7745, xCorr:9.463212e-01->9.732083e-01, EstPhase: 325.80
8 delay: 7745 -> 7715, xCorr:9.732083e-01->9.957512e-01, EstPhase: 324.60
9 delay: 7715 -> 7706, xCorr:9.957512e-01->9.986965e-01, EstPhase: 324.24
10 delay: 7706 -> 7699, xCorr:9.986965e-01->9.990960e-01, EstPhase: 323.96
11 delay: 7699 -> 7695, xCorr:9.990960e-01->9.995043e-01, EstPhase: 323.80
12 delay: 7695 -> 7703, xCorr:9.995043e-01->9.988943e-01, EstPhase: 324.12
13 delay: 7703 -> 7687, xCorr:9.988943e-01->9.978047e-01, EstPhase: 323.48
14 delay: 7687 -> 7679, xCorr:9.978047e-01->9.988691e-01, EstPhase: 323.16
15 delay: 7679 -> 7671, xCorr:9.988691e-01->9.990156e-01, EstPhase: 322.84
16 delay: 7671 -> 7663, xCorr:9.990156e-01->9.990219e-01, EstPhase: 322.52
17 delay: 7663 -> 7674, xCorr:9.990219e-01->9.984949e-01, EstPhase: 322.96
18 delay: 7674 -> 7679, xCorr:9.984949e-01->9.993103e-01, EstPhase: 323.16
19 delay: 7679 -> 7674, xCorr:9.993103e-01->9.992073e-01, EstPhase: 322.96
20 delay: 7674 -> 7682, xCorr:9.992073e-01->9.989947e-01, EstPhase: 323.28
21 delay: 7682 -> 7672, xCorr:9.989947e-01->9.987325e-01, EstPhase: 322.88
22 delay: 7672 -> 7665, xCorr:9.987325e-01->9.991060e-01, EstPhase: 322.60
23 .
24 .
25 .
26
27 delay: 7433 -> 7604, xCorr:9.926554e-01->9.763368e-01, EstPhase: 320.16
28 delay: 7604 -> 7751, xCorr:9.763368e-01->9.795637e-01, EstPhase: 326.04
29 delay: 7751 -> 7429, xCorr:9.795637e-01->9.553126e-01, EstPhase: 313.16
30 delay: 7429 -> 8080, xCorr:9.553126e-01->7.590258e-01, EstPhase: 339.20
31 delay: 8080 -> 6928, xCorr:7.590258e-01->5.736172e-01, EstPhase: 293.12
32 delay: 6928 -> 6727, xCorr:5.736172e-01->9.252770e-01, EstPhase: 285.08
33 delay: 6727 -> 7163, xCorr:9.252770e-01->8.386786e-01, EstPhase: 302.52
34 delay: 7163 -> 7388, xCorr:8.386786e-01->9.162989e-01, EstPhase: 311.52
35 delay: 7388 -> 7562, xCorr:9.162989e-01->9.757710e-01, EstPhase: 318.48
36 delay: 7562 -> 7734, xCorr:9.757710e-01->9.760500e-01, EstPhase: 325.36
37 delay: 7734 -> 7404, xCorr:9.760500e-01->9.542741e-01, EstPhase: 312.16
38 delay: 7404 -> 7559, xCorr:9.542741e-01->9.426022e-01, EstPhase: 318.36
39 delay: 7559 -> 7741, xCorr:9.426022e-01->9.746710e-01, EstPhase: 325.64
40 delay: 7741 -> 7914, xCorr:9.746710e-01->9.758572e-01, EstPhase: 332.56
41 delay: 7914 -> 8050, xCorr:9.758572e-01->9.811092e-01, EstPhase: 338.00
42 delay: 8050 -> 7881, xCorr:9.811092e-01->9.766116e-01, EstPhase: 331.24
43 delay: 7881 -> 7842, xCorr:9.766116e-01->9.945131e-01, EstPhase: 329.68
44 delay: 7842 -> 8015, xCorr:9.945131e-01->9.760879e-01, EstPhase: 336.60
45 delay: 8015 -> 8117, xCorr:9.760879e-01->9.857320e-01, EstPhase: 340.68
46 delay: 8117 -> 7691, xCorr:9.857320e-01->8.424084e-01, EstPhase: 323.64
47 delay: 7691 -> 7404, xCorr:8.424084e-01->9.600634e-01, EstPhase: 312.16
48 delay: 7404 -> 7329, xCorr:9.600634e-01->9.894701e-01, EstPhase: 309.16
64 Capítulo 5. Codificación en Python y cosimulación

49 delay: 7329 -> 7517, xCorr:9.894701e-01->9.739754e-01, EstPhase: 316.68


50 .
51 .
52 .
53 delay: 7810 -> 7795, xCorr:9.996065e-01->9.979613e-01, EstPhase: 327.80
54 delay: 7795 -> 7834, xCorr:9.979613e-01->9.947180e-01, EstPhase: 329.36
55 delay: 7834 -> 7857, xCorr:9.947180e-01->9.967412e-01, EstPhase: 330.28
56 delay: 7857 -> 7824, xCorr:9.967412e-01->9.954491e-01, EstPhase: 328.96
57 delay: 7824 -> 7812, xCorr:9.954491e-01->9.982046e-01, EstPhase: 328.48

Código 5.9 Salida del receptor - Resultado en tiempo real con fase en movimiento.

Un resultado muy similar al de otros apartados, pues en los puntos con fase estática el sistema alcanza
correctamente la correlación máxima y da un valor de fase del receptor fijo, pero en cuanto se comienza
a desplazar la fase cambia en cada nueva iteración, por lo que el modelo del receptor no puede calcular el
Delay de la señal FM correctamente y la correlación disminuye.
Ante estos resultados, se cree conveniente para futuras líneas de investigación encontrar o bien un método
distinto a la correlación para la obtención de la fase del receptor, pues depende mucho del valor anterior y es
difícil conseguir la fase con precisión si va cambiando continuamente; o bien encontrar la manera de acelerar
el procesamiento, de forma que el tiempo de procesamiento de la captura sea mucho menor al desplazamiento
del receptor y, por ello, consiga la correlación máxima antes de que la fase varíe significativamente.
Finaliza de esta forma el Capítulo 5, concluyendo así el desarrollo teórico y experimental de la memoria.
Las conclusiones son expuestas en el siguiente Capítulo 6.
6 Conclusiones y Líneas Futuras

6.1 Conclusiones

El trabajo realizado consiste en la implementación de un receptor digital de señales de navegación VOR


haciendo uso de dispositivos SDR y codificado en Python. Las conclusiones obtenidas en su desarrollo son
presentadas a continuación.
Estudiando en profundidad la señal transmitida por una estación VOR, la información modulada en la
misma y el modelo de receptor embarcado, se desarrolla un demodulador de señales VOR totalmente digital.
No existen otros trabajos académicos al respecto, por lo que supone una novedad.
El receptor ha sido desarrollado con la idea de ser usado con capturas realizadas con un dispositivo SDR.
Estos dispositivos se caracterizan por ser baratos y versátiles, pues su rango de operación es amplio. A su
vez, el desarrollo de la codificación ha sido realizado en Python, lenguaje de programación completamente
gratuito y que viene instalado en la mayoría de computadores y es compatible con cualquier sistema operativo.
Por tanto, el modelo de receptor diseñado es capaz de funcionar con dispositivos de bajo coste.
Por otro lado, se ha hecho uso de la metodología de cosimulación entre MATLAB y Python, desarrollando
el modelo de receptor en ambos, pero usando Python para el procesamiento de señales en tiempo real y
MATLAB para el tratamiento de las salidas obtenidas. Esto permite el desarrollo de una solución muy
eficiente, capaz de generar una estimación de la fase del receptor cada pocos segundos.
Haciendo uso del modelo desarrollado, así como de un dispositivo RTL-SDR, se han realizado pruebas
capturando señales del VOR de Sevilla. La configuración del dispositivo es muy importante para que se
pueda obtener una señal VOR real. Asimismo, el análisis de los resultados del procesamiento de dichas
señales muestran ciertas fuentes de error no previstas en un primer momento al desarrollar el receptor.
Se concluye por tanto con que el trabajo realizado aporta un resultado novedoso, que hace uso de tecnología
y software de bajo coste y que, por ello, es susceptible a fuentes de error que pueden ser estudiadas y
eliminadas en un futuro.

6.2 Líneas Futuras

Se han ido comentando a lo largo de la memoria distintas líneas de futuro respecto a la investigación realizada,
y que suponen un avance en la misma para la mejora del modelo del receptor diseñado.
Se han detectado errores que empeoran los resultados del modelo:

• El primero, visible ya en el procesamiento de señales ideales, supone que si el receptor obtiene cierta
velocidad angular y su fase respecto al VOR es variable con el tiempo, el sistema no es capaz de
calcular el desfase de las señales con la misma precisión que si la fase se mantiene estática y, por ello,
la estimación de la fase del receptor tiene mayor error.
Se debe, en primer lugar, a que la presencia de velocidad angular lleva a la presencia de una frecuencia
instantánea en la señal recibida, desplazando la señal modulada en los 30Hz; y, en segundo lugar, a
que el método de correlación elegido depende del desfase anterior entre las señales omnidireccional
(AM) y direccional (FM), provocando que no se alcance la correlación máxima no se alcance si en
todo momento la señal direccional modifica su fase.

65
66 Capítulo 6. Conclusiones y Líneas Futuras

• Se ha encontrado distorsión en la señal real capturada, provocando efectos en las señales AM y FM


demoduladas que modifican su forma respecto a una señal real y que conducen a que la correlación
entre ambas no proporcione un resultado exacto de la fase del receptor.
• El tiempo de procesamiento es elevado para obtención de resultados en tiempo real, pues al realizar
una captura con el SDR y ser procesada en cada iteración del modelo, el tiempo necesario para obtener
una estimación de la fase aumenta. Esto puede ser un problema en el caso en que se quiera usar el
demodulador VOR en movimiento y con una velocidad alta, como es el caso de la aviación.

Junto a los anteriores errores, cabe destacar que la recepción mejora si se en lugar de hacer uso de un
dispositivo SDR se utiliza otro más adecuado para señales VOR. Recordar que los dispositivos SDR hacen
uso de filtro en la recepción de la señal que modifican y generan retraso en la señal. El estudio de dichos
filtros o el uso de un dispositivo con distinta arquitectura y similares prestaciones de captura mejorarían el
resultado también.
En conclusión, se propone para futuras líneas de investigación el estudio de las fuentes de errores comenta-
das, la mejora del tiempo de procesamiento, y el análisis de diferentes receptores de manera que se puedan
conseguir resultados con un error menor.
Índice de Figuras

2.1 Ejemplo de Estación VOR - Web luizmonteiro [10] 3


2.2 Alcance de estación TVOR 4
2.3 Alcance de estación LVOR 4
2.4 Alcance de estación HVOR 4
2.5 Principio de funcionamiento del sistema VOR 5
2.6 Señal VOR completa en el dominio de la Frecuencia 6
2.7 Patrón de radiación de emisora CVOR 7
2.8 Patrón de radiación cardioide 8
2.9 Estación CVOR 9
2.10 Estación DVOR 10
2.11 Diagrama de Bloques del Receptor VOR 10
2.12 Indicador VOR Clásico 12
2.13 Indicador de Situación Horizontal (HSI) 12

3.1 Ejemplo de dispositivo SDR 13


3.2 Imagen de un dispositivo RTL-SDR comercial 14
3.3 Imagen de un dispositivo HackRF One comercial 15
3.4 Estructura interna del RTL-SDR 15
3.5 Espectro de frecuencias de señal de RF a través de un RTL-SDR 16
3.6 Hardware del dispositivo RTL-SDR usado 17
3.7 Interfaz de la aplicación SDR# 18
3.8 Interfaz de la aplicación CubicSDR 19

4.1 Esquema del modelo de Receptor VOR 21


4.2 Señal VOR en Banda Base en el dominio de la Frecuencia 22
4.3 Diagrama de Bode - Comportamiento en frecuencia del filtro LPF - Demodulación AM 23
4.4 Esquema del Receptor VOR - Tramo de demodulación FM 23
4.5 Diagrama de Bode - Comportamiento en frecuencia del filtro BPF - Demodulación FM 24
4.6 Esquema del PLL empleado en la demodulación FM 25
4.7 Diagrama de Flujo del cálculo de Delay y la Fase estimada 27
4.8 Mapa de aerovías basadas en VOR en el territorio sur de España - App Insignia Enaire 28
4.9 Diagrama de ejemplo de la trayectoria diseñada 28
4.10 Trayectoria real y estimada - Caso ideal 1 30
4.11 Señal VOR ideal generada - Dominio del tiempo 31
4.12 Señal VOR ideal generada - Dominio de la frecuencia 32
4.13 Señales AM y FM demoduladas - Caso ideal 1 32
4.14 Señales AM y FM desplazadas tras obtención de Correlación máxima - Caso ideal 1 33
4.15 Error en estimación de la fase - Caso ideal 1 34
4.16 Histograma del error en estimación de la fase - Caso ideal 1 34
4.17 Trayectoria real y estimada - Caso ideal 2 35
4.18 Error en estimación de la fase - Caso ideal 2 36

67
68 Índice de Figuras

4.19 Histograma del error en estimación de la fase - Caso ideal 2 36


4.20 Trayectoria real y estimada - Caso ideal 3 37
4.21 Error en estimación de la fase - Caso ideal 3 38
4.22 Histograma del error en estimación de la fase - Caso ideal 3 38
4.23 Señal VOR real capturada - Dominio del tiempo 40
4.24 Señal VOR real capturada - Dominio de la frecuencia 40
4.25 Señales AM y FM demoduladas - Caso real estático 41
4.26 Señales AM y FM desplazadas tras obtención de Correlación máxima -Caso real estático 42
4.27 Radial real y fase estimada - Caso real estático 43
4.28 Error en estimación de la fase - Caso real estático 44
4.29 Histograma del error en estimación de la fase - Caso real estático 44
4.30 THD - Señal AM 45
4.31 THD - Señal FM 46
4.32 Radial real y fase estimada - Caso real en movimiento 47
4.33 Error en estimación de la fase - Caso real en movimiento 48
4.34 Histograma del error en estimación de la fase - Caso real en movimiento 48

5.1 Diagrama de Receptor VOR diseñado 51


5.2 Imagen del VOR de Sevilla 54
5.3 Espectro de la señal del VOR de Sevilla 55
5.4 Localización para capturas estáticas y en movimiento 56
5.5 Valor de la declinación magnética en la localización del VOR y día de realización de pruebas 56
Índice de Tablas

4.1 Configuración del filtro LPF de demodulación AM 22


4.2 Configuración de los filtros de demodulación FM 23
4.3 Configuración del filtro LPF del PLL 25
4.4 Configuración del VCO del PLL 25
4.5 Casos estudiados en simulación del receptor - Señales ideales 30
4.6 Casos estudiados en simulación del receptor - Señales Reales 39
4.7 Resultado de otros casos reales con fase estática 45

5.1 Configuración de RTL-SDR para capturas 54

69
Índice de Códigos

3.1 Ejemplo de uso de SDR en Python 19

5.1 Código con uso de librería argparse y opciones 52


5.2 Valores de ganancia disponibles para el RTL-SDR 55
5.3 Generación de Señal VOR ideal en Banda Base 57
5.4 Salida del receptor - Validación con señal ideal estática 58
5.5 Salida del receptor - Validación con señal ideal en movimiento 59
5.6 Salida del receptor - Validación con señal real estática 60
5.7 Salida del receptor - Validación con señal real en movimiento 61
5.8 Salida del receptor - Resultado en tiempo real con fase estática 62
5.9 Salida del receptor - Resultado en tiempo real con fase en movimiento 63

71
Bibliografía

[1] AIP España - Radioayudas para la navegación - En ruta - Sección 4.1. url: https:// aip.enaire.es/
AIP/ contenido_AIP/ ENR/ LE_ENR_4_1_en.html.
[2] Butterworth filter - Wikipedia. Jun. de 2022. url: https:// en.wikipedia.org/ wiki/ Butterworth_filter.
[3] CFI Brief: VOR Service Volume. Mar. de 2015. url: http:// learntoflyblog.com/ 2015/ 03/ 12/ cfi-brief-
vor-service-volumes/ .
[4] EUROPEAN y NORTH ATLANTIC OFFICE. EUR FREQUENCY MANAGEMENT MANUAL for
Aeronautical Mobile and Aeronautical Radio Navigation Services. 2021.a ed. EUR Doc 011, 2013.
[5] Javier Rivero González. Design of DDS: Digital Direct Synthesizers. 1.a ed. 2013.
[6] Instituto Geográfico Nacional - Cálculo de la declinación magnética en la Península y Baleares. url:
https:// www.ign.es/ web/ gmt-declinacion-magnetica.
[7] Francisco Rafael Gavilán Jimenez. Apuntes de Fundamentos de Navegación Aérea. Curso 2019/2020.
2020.
[8] Paul Lutus. arachnoid - Software-Defined Radios. Jul. de 2019. url: https:// arachnoid.com/ software_
defined_radios/ .
[9] MATLAB - Wikipedia. Abr. de 2022. url: https:// es.wikipedia.org/ wiki/ MATLAB.
[10] Luiz Roberto Monteiro de Oliveira. luizmonteiro - Online Simulators - VOR Simulator. 2015. url:
http:// www.luizmonteiro.com/ Learning_VOR_Sim.aspx.
[11] Dr. Francisco Rogelio Palomo Pinto. Apuntes de Sistema de Ayuda a la Navegación. Curso 2021/2022.
2021.
[12] PLL - Wikipedia. Jun. de 2022. url: https:// en.wikipedia.org/ wiki/ Phase-locked_loop.
[13] PLL - Wikipedia. Abr. de 2022. url: https:// es.wikipedia.org/ wiki/ Filtro_digital.
[14] Python - Wikipedia. Ene. de 2022. url: https:// es.wikipedia.org/ wiki/ Python.
[15] Radio definida por software - Wikipedia. Mayo de 2022. url: https:// es.wikipedia.org/ wiki/ Radio_
definida_por_software.
[16] Jonathan Majada Costas Tutor: Joaquín Granado Romero. TFG - Caracterización de dispositivos
RTL-SDR para medida de señales aeronáuticas. 1.a ed. Universidad de Sevilla, 2020.
[17] M B Sruthi y col. «Low cost digital transceiver design for Software Defined Radio using RTL-SDR».
En: 2013 International Mutli-Conference on Automation, Computing, Communication, Control and
Compressed Sensing (iMac4s). 2013, págs. 852-855. doi: 10.1109/ iMac4s.2013.6526525.
[18] Robert W Stewart y col. Software defined radio using MATLAB & Simulink and the RTL-SDR. 2015.
[19] VHF omnidirectional range - Wikipedia. Jun. de 2022. url: https:// en.wikipedia.org/ wiki/ VHF_
omnidirectional_range.
[20] Web Airspy - SDRSharp. url: https:// airspy.com/ quickstart/ .
[21] Web Argparse - Tutorial de argparse y documentación. url: https:// docs.python.org/ es/ 3.8/ howto/
argparse.html.

73
74 Bibliografía

[22] Web CubicSDR - What is CubicSDR? url: https:// cubicsdr.com/ ?page_id=70.


[23] Web Ettus Research - USRP Bus. url: https:// www.ettus.com/ product-categories/ usrp-bus-series/ .
[24] Web HackRF One - HackRF documentation. url: https:// hackrf.readthedocs.io/ en/ latest/ hackrf_one.
html.
[25] Web KiwiSDR. url: http:// kiwisdr.com.
[26] Web Nooelec - NESDR Series. url: https:// support.nooelec.com/ hc/ en-us/ articles/ 360005805834-
NESDR-Series.
[27] Web Noolec - YARD Stick One. url: https:// www.nooelec.com/ store/ yard-stick-one-bundle.html.
[28] Web pyrtlsdr - pyrtlsdr’s documentation. url: https:// pyrtlsdr.readthedocs.io/ en/ latest/ .
[29] Web RTL-SDR - About RTL-SDR. url: https:// www.rtl-sdr.com/ about-rtl-sdr/ .
[30] Web RTL-SDR - Chip R82T2. url: https:// www.rtl-sdr.com/ tag/ r820t2/ .
[31] Web SDRplay - Products. url: https:// www.sdrplay.com/ products/ .
[32] Web Ubertooth One. url: https:// greatscottgadgets.com/ ubertoothone/ .

También podría gustarte