• No se han encontrado resultados

Análisis e implementación de un algoritmo de mitigación del efecto Doppler para receptores GPS, en un arreglo de compuertas lógicas programables en campo (FPGA), utilizando el procesador Soft Leon

N/A
N/A
Protected

Academic year: 2020

Share "Análisis e implementación de un algoritmo de mitigación del efecto Doppler para receptores GPS, en un arreglo de compuertas lógicas programables en campo (FPGA), utilizando el procesador Soft Leon"

Copied!
167
0
0

Texto completo

(1)

UNIVERSIDAD NACIONAL DE INGENIERÍA

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

ANÁLISIS E IMPLEMENTACIÓN DE UN ALGORITMO DE

MITIGACIÓN DEL EFECTO DOPPLER PARA

RECEPTORES GPS, EN UN ARREGLO DE

COMPUERTAS LÓGICAS PROGRAMABLES EN CAMPO

(FPGA), UTILIZANDO EL PROCESADOR SOFT LEON

TESIS

PARA OPTAR EL TÍTULO PROFESIONAL DE:

INGENIERO DE TELECOMUNICACIONES

PRESENTADO POR:

JEAN GERARD LEÓN HUACA

PROMOCIÓN

2011-I

LIMA – PERÚ

(2)

ANÁLISIS E IMPLEMENTACIÓN DE UN ALGORITMO DE

MITIGACIÓN DEL EFECTO DOPPLER PARA

RECEPTORES GPS, EN UN ARREGLO DE COMPUERTAS

LÓGICAS PROGRAMABLES EN CAMPO (FPGA),

(3)

Dedicatoria:

(4)
(5)

SUMARIO

La presente tesis trata sobre el análisis e implementación de un algoritmo de mitigación del efecto Doppler para receptores GPS, en un Arreglo de Compuertas Lógicas Programables en Campo (FPGA), utilizando el procesador Soft LEON, el cual ha sido realizado en base a los conocimientos actuales sobre los algoritmos de seguimiento. Este algoritmo sigue la señal adquirida y de esa forma realiza una correcta demodulación de la señal.

Este algoritmo consta de varios filtros de seguimiento de fase, frecuencia Doppler y retardo del código PRN lo cual permite procesar la información y correge las señales recibidas. Finalmente, la señal corregida es demodulada y es usada para la detección de la posición del receptor orbitando en el espacio.

(6)

ÍNDICE

SUMARIO...…...v

CAPÍTULO I INTRODUCCIÓN ... 1

1.1 Planteamiento del problema de tesis ... 1

1.2 Objetivo general ... 2

1.3 Objetivos específicos ... 2

1.4 Justificación ... 2

1.5 Alcances y delimitaciones ... 3

1.6 Recapitulación ... 3

CAPÍTULO II CONCEPTOS DE SISTEMA DE POSICIONAMIENTO GLOBAL ... 5

2.1 Introducción ... 5

2.2 Componentes de un sistema GNSS ... 5

2.3 Posicionamiento del sistema ... 6

2.4 Fundamentos de espectro ensanchado ... 7

2.5 Señales del Sistema GPS ... 8

2.5.1 GPS L1 C/A ... 8

2.5.2 GPS L5 ... 10

2.5.3 Generación de los códigos C/A para GPS ... 10

2.6 Señales del Sistema Galileo ... 10

2.6.1 Galileo E1 OS ... 11

2.6.2 Galileo E5a ... 11

(7)

2.7 Desafíos de la implementación en el espacio de un receptor GNSS ... 12

2.7.1 Efecto Doppler ... 12

2.7.2 Multitrayecto ... 14

2.7.3 Interferencia ... 14

2.7.4 Centelleo ionosférico ... 15

2.8 Procesamiento de la señal GNSS recibida ... 16

2.8.1 Principio de adquisición ... 17

2.8.2 Principio de seguimiento ... 18

CAPÍTULO III ANALISIS DEL ALGORITMO DE MITIGACION DEL EFECTO DOPPLER PARA GPS PROPUESTO ... 21

3.1 Introducción ... 21

3.2 Filtro de entrada ... 21

3.3 Correlación e integración ... 21

3.4 Lazo de seguimiento en fase y frecuencia ... 23

3.4.1 Discriminador de fase ... 24

3.4.2 Discriminador de frecuencia ... 25

3.4.3 Filtro de lazo ... 26

3.4.4 Oscilador controlado digitalmente (NCO) ... 27

3.5 Lazo de seguimiento del retardo de código ... 28

3.5.1 Discriminador de código ... 29

3.5.2 Factor de escala ... 30

3.5.3 Oscilador controlado digitalmente (NCO) ... 31

3.6 Generador de códigos réplica ... 31

3.7 Detectores de bloqueo ... 31

3.7.1 Detector de bloqueo de fase ... 32

3.7.2 Detector de bloqueo de código ... 32

(8)

3.8 Detección de la transición de los bits de datos ... 35

3.9 Demodulación de la señal ... 36

CAPÍTULO IV IMPLEMENTACIÓN DEL ALGORITMO DE MITIGACIÓN DEL EFECTO DOPPLER PARA GPS EN UN FPGA ... 37

4.1 Introducción ... 37

4.2 El Procesador LEON ... 37

4.3 Arquitectura del Procesador LEON ... 39

4.3.1 El procesador LEON con arquitectura SPARC V8 ... 39

4.3.2 Interfaces de memoria ... 39

4.3.3 Registro de estado del AHB ... 40

4.3.4 Enlaces SpaceWire ... 40

4.3.5 Unidad temporizadora ... 40

4.3.6 Control de interrupción ... 40

4.3.7 UART ... 40

4.3.8 Puerto entrada/salida de propósito general ... 40

4.3.9 Ethernet ... 41

4.3.10 Controlador de Área de Red (CAN-2.0) ... 41

4.3.11 Controlador VGA ... 41

4.3.12 Interfaz de teclado PS/2 ... 41

4.3.13 Generador de reloj ... 41

4.4 Características del Procesador LEON ... 41

4.4.1 Tolerancia a fallas ... 41

4.4.2 Librería GRLIB ... 41

4.4.3 Creación de Código C ... 42

4.5 Entorno de desarrollo ... 42

4.5.1 Plugin del Procesador LEON para el entorno Eclipse ... 42

(9)

4.6 Arquitectura propuesta ... 44

4.7 Escenario de pruebas ... 45

4.7.1 Herramientas utilizadas ... 45

4.7.2 Síntesis del Procesador LEON en el FPGA ... 46

4.7.3 Configuración de la transmisión serial ... 48

4.7.4 Generación de la señal GPS desde el computador ... 54

CAPÍTULO V ANÁLISIS DE RESULTADOS ... 59

5.1 Síntesis del Procesador LEON en la Tarjeta Digilent Spartan 3E-1600 Development Board ... 59

5.2 Implementación del algoritmo de seguimiento en el Procesador LEON ... 59

CONCLUSIONES Y RECOMENDACIONES ... 63

ANEXO A HOJA DE DATOS DE LA DIGILENT SPARTAN 3E-1600 DEV. BOARD ... 64

ANEXO B CÓDIGO BARE C DEL ALGORITMO DE SEGUIMIENTO GNSS ... 66

ANEXO C CÓDIGO C DEL GENERADOR DE SEÑALES GPS ... 135

ANEXO D CÓDIGO C DE LA TRANSMISIÓN SERIAL ... 145

(10)

ÍNDICE DE FIGURAS

Figura 2.1 Componentes de un sistema GNSS 6 Figura 2.2 Proceso de generación de la señal con espectro ensanchado 8

Figura 2.3 Constelación del sistema GPS 9

Figura 2.4 DEP de la señal GPS L1 C/A 9

Figura 2.5 Generador de código C/A 10

Figura 2.6 Densidad espectral de potencia para BOC(1,1) 13 Figura 2.7 Frecuencia Doppler recibida por un receptor GNSS 14 Figura 2.8 Señal reflejada y bloqueada por un satélite (obstáculo) 15 Figura 2.9 Distribución Nakagami-m para m=2 17 Figura 2.10 Proceso de adquisición de la señal 18 Figura 2.11 Primer método del algoritmo de adquisición 19 Figura 2.12 Segundo método del algoritmo de adquisición 19 Figura 2.13 Sistema de seguimiento típico 20

Figura 3.1 Etapa de correlación 22

Figura 3.2 Correlación e integración de la señal 23 Figura 3.3 Salida de los diferentes discriminadores del filtro de lazo Costas 24 Figura 3.4 Comparación de la salida de los diferentes discriminadores de frecuencia 26 Figura 3.5 Filtro de lazo para el filtrado de señal y frecuencia 27 Figura 3.6 Diagrama del cálculo de la banda de ruido 27 Figura 3.7 Sistema global de filtro de fase y frecuencia 28

Figura 3.8 NCO de la portadora 28

Figura 3.9 Comparación de la salida de los diferentes discriminadores de código 30 Figura 3.10 Salida completa del discriminador de código 30 Figura 3.11 Generación del factor de escala 31 Figura 3.12 Generación de a través de un oscilador controlado

digitalmente (NCO) 31

(11)

Figura 3.14 Detector de bloqueo de fase 33 Figura 3.15 Detector de bloqueo de código 34 Figura 3.16 Relación entre el valor de bloqueo y la tasa C/N0 estimada. 34

Figura 3.17 Demodulación de la señal 36

Figura 4.1 Diagrama de bloques del procesador LEON3 para una tarjeta

Spartan3 1500 39

Figura 4.2 Entorno de desarrollo de una aplicación para el procesador LEON

en Eclipse. 43

Figura 4.3 Conexión al procesador LEON a través de un puerto serial utilizando

GrmonRCP 43

Figura 4.4 Arquitectura propuesta para el sistema de seguimiento 44 Figura 4.5 Diagrama del escenario de pruebas del algoritmo de seguimiento 45 Figura 4.6 Escenario de pruebas del algoritmo de seguimiento 46 Figura 4.7 Ventana principal de la configuración del Procesador LEON 46 Figura 4.8 Ventana de configuración de la unidad de punto flotante. 47

Figura 4.9 Ventana de Xilinx ISE 48

Figura 4.10 Opción Synthesize-XST en Xilinx ISE 48 Figura 4.11 Diagrama de bloques del APBUART 49 Figura 4.12 Registro de datos del APBUART 49 Figura 4.13 Registro de estado del APBUART 50 Figura 4.14 Registro de control del APBUART 51 Figura 4.15 Registro escalador del APBUART 51 Figura 4.16 Trama de datos de un envío serial para una tramas de datos sin

paridad (a) y con paridad (b) 52

Figura 4.17 Configuración del puerto serial en el computador 54 Figura 4.18 Salida del programa de adquisición de señales GNSS 56 Figura 4.19 Detección del desfasaje y la frecuencia Doppler para la señal

con PRN 1 57

Figura 4.20 Detección del desfasaje y la frecuencia Doppler para la señal

con PRN 2 57

Figura 4.21 Detección del desfasaje y la frecuencia Doppler para la señal

con PRN 15 58

(12)

Figura 5.2 Gráfica desviación estándar de la frecuencia Doppler (Hz)

vs el valor C/N0 estimado (dB-Hz) 62

Figura 5.3 Gráfica desviación estándar del retardo (us) vs el valor C/N0

(13)

ÍNDICE DE TABLAS

Tabla 2.1 Tamaño de los códigos para la señal Galileo E5a 12 Tabla 3.1 Discriminadores de fase para un filtro de lazo Costas 24

Tabla 3.2 Discriminadores de frecuencia 25

Tabla 3.3 Discriminadores de código 29

Tabla 4.1 Registros del APBUART 49

Tabla 4.2 Valores a ingresar en el archivo “Parameters.txt” 55

Tabla 4.3 Señales GPS de prueba 56

Tabla 5.1 Resultados de la síntesis del Procesador LEON 59

Tabla 5.2 Parámetros de la prueba 60

Tabla 5.3 Resultados de la implementación del algoritmo de seguimiento en el

(14)

CAPÍTULO I INTRODUCCIÓN

1.1 Planteamiento del problema de tesis

Un satélite posee una posición en el espacio, es decir el lugar donde se encuentra, y una actitud, la cual es la rotación de objeto específico respecto a un objeto de referencia el cual ha sido bien definido en el espacio [1]. La actitud es determinada por el satélite gracias a los giroscopios, sensores de luz y tierra. En la actualidad, la posición de los satélites es determinada por los radares en la estación terrena. Sin embargo, la implementación de estos radares es a la vez cara y poco precisa, dando a cada satélite un gran volumen por el cual se puede localizar la posición del satélite (con aristas de pocos kilómetros), y reduciendo la densidad de los satélites.

Por esta razón, se implementó un sistema que permita dar una posición precisa logrando la extensión de los receptores GNSS (Sistema Global de Navegación por Satélite) desde la Tierra (el conocido GPS) al espacio. En el año 1998, se desarrolló un nuevo enfoque que permita aprovechar las ventajas de los receptores GNSS (en forma específica GPS) para la implementación en satélites [2].

Se escogió como primera opción la implementación de un Sistema GNSS sobre un satélite debido a las múltiples ventajas que posee: autonomía, reducidos costos de operación, mayor precisión, control más eficiente de la posición en el espacio, menor consumo de energía, mayor duración de las misiones y más satélites en el mismo volumen [3].

Sin embargo, debido a la alta velocidad de desplazamiento de los satélites de Órbita Baja Terrestre (LEO) (aproximadamente 50 minutos respecto a las 6 horas de rotación alrededor de la tierra), el efecto Doppler que afecta la señal recibida es del orden de magnitud más grande que el efecto Doppler sobre la Tierra [2]. En consecuencia, se necesita un desarrollo especial para un receptor LEO GNSS.

(15)

el Sistema de Navegación Galileo (Unión Europea) [4] y el Sistema Compass o Beidou (China) [5]. Dentro de las etapas de desarrollo del sistema Galileo y el sistema Compass, el Sistema Galileo tendrá compatibilidad con el Sistema GPS, por ejemplo el uso de similares rango de frecuencia entre los dos sistemas, logrando así un mayor número de satélites para realizar sus cálculos. Por lo tanto, se espera que el Sistema Galileo se utilice a nivel mundial en dispositivos receptores tales como teléfonos móviles, computadoras personales, etc.

Desde el año 2000, se han desarrollado varios proyectos de investigación en la comunidad científica sobre receptores GNSS para microsatélites (cuyo peso es entre 10 a 100 Kg), en diferentes países como Italia, Australia, China y Francia [6] [7] [8] [9] [10] . Sin embargo, la mayoría de ellos sólo plantean la implementación de una interfaz a nivel físico, ocasionando grandes gastos a largo plazo en recursos económicos, personal técnico y tiempo para la actualización y corrección de fallas del dispositivo. Como consecuencia directa de esto, los componentes del receptor GNSS del microsatélite serán rápidamente desactualizados.

Debido a esto, el presente estudio tiene como finalidad la implementación de un sistema de seguimiento para un receptor GNSS a nivel hardware – software, el cual posee una parte del algoritmo de seguimiento dentro de un dispositivo (procesador) como software y a través de la configuración del procesador en VHDL, lo cual servirá para acelerar algunos procesos que no son eficientes a nivel de software.

1.2 Objetivo general

Estudiar, analizar, simular, optimizar e implementar un algoritmo de seguimiento GNSS para pequeños satélites.

1.3 Objetivos específicos

La presente tesis tiene como objetivos específicos lo siguiente:

Implementación y optimización del algoritmo de seguimiento en lenguaje C dentro del

Procesador LEON.

Configuración y síntesis del Procesador LEON en VHDL.

Implementar el algoritmo de seguimiento en un FPGA Digilent Spartan 3E-1600

Development Board.

1.4 Justificación

(16)

beneficiará a la comunidad académica ya que cubrirán tópicos que no han sido mayormente analizados en detalle y se están pasando por alto en otras investigaciones, como son la flexibilidad del sistema, permitir la incorporación de otros sistemas GNSS y la reducción de costos de implementación a largo plazo.

1.5 Alcances y delimitaciones

La presente tesis tiene los siguientes alcances:

Proporcionar un sistema de seguimiento a nivel de hardware-software (código C dentro

de un Procesador y configuración del Procesador en VHDL).

Proporcionar flexibilidad de modificación del código C lo cual permita adaptarlo a otros

sistemas GNSS (Galileo, Compass o GLONASS), dejando las implementaciones de estos sistemas GNSS a futuros trabajos de investigación.

Sin embargo, la presente tesis tiene las siguientes delimitaciones:

Solamente se analizará la etapa de seguimiento de un receptor GNSS, dejando las otras

etapas a futuros trabajos de investigación.

Se analizará solamente el efecto Doppler en el receptor GNSS debido a que es el mayor

responsable de la degradación de las señales recibidas.

Estará orientada a GPS debido a que es el sistema GNSS mayormente usado; sin

embargo, se van a dar ciertas modificaciones que se pueden realizar para realizar la implementar en el sistema Galileo.

1.6 Recapitulación

(17)
(18)

CAPÍTULO II

CONCEPTOS DE SISTEMA DE POSICIONAMIENTO GLOBAL

2.1 Introducción

Durante los últimos 15 años han existido y existen muchos tópicos interesantes dentro de los Sistemas GNSS, como son:

a) La puesta en operación del sistema GPS en 1993, cuando 24 satélites GPS estuvieron operando en órbitas asignadas y disponibles tanto para uso militar como para uso civil. b) El nuevo sistema europeo satelital Galileo.

c) La modernización de los sistemas satelitales de los Estados Unidos de Norteamérica, GPS.

d) La reconstrucción del sistema de satélites rusos GLONASS.

Debido a esto, la definición de sistemas GNSS es la interoperatividad y compatibilidad técnica entre los diversos sistemas de navegación, como son GPS, Galileo y Glonass, para ser usados en el campo civil sin tener en cuenta las barreras limítrofes propias de cada país a fin de promover el bienestar y comodidad de la sociedad [11].

2.2 Componentes de un sistema GNSS

El sistema GNSS consiste de tres segmentos [12]:

a) Segmento de espacio: Consiste de un grupo o constelación de satélites1 en órbita que circulan la Tierra aproximadamente dos veces al día. A fín de proveer una cobertura adecuada de las señales en tierra, debe haber entre 20 y 30 satélites dentro de una constelación y deben estar distribuidos entre tres y seis diferentes planos orbitales.

b) Segmento de control: Consiste de un sistema de estaciones de seguimiento localizadas alrededor del mundo, las cuales constantemente recepcionan las señales de los satélites. Estas usan esta información para calcular las órbitas exactas y las correcciones de la deriva del reloj2 para todos los satélites y transmite la información al satélite respectivo.

1 Algunos autores prefieren llamar a los satélites vehículo espacial (SV) en vez de satélite.

2 Se entiende por deriva de reloj a un conjunto de fenómenos que ocasionan una desincronización de un reloj

(19)

c) Segmento de usuario: Consiste de los receptores GNSS y los usuarios. Los receptores GNSS reciben las señales de los satélites y con esa información obtienen su posición, velocidad y tiempo estimado.

En la figura 2.1 se observa cada uno de los componentes del sistema GNSS. El segmento de espacio cuenta con una etapa: la constelación de satélites. El segmento de control cuenta con tres etapas: red de estaciones de monitoreo, estaciones de control y estaciones de subida. El segmento de usuario cuenta con cuatro etapas: antena, receptor, procesador de rango y procesador de navegación.

Figura 2.1 Componentes de un sistema GNSS

La función que cumple el segmento de usuario son las siguientes [13]: a) La antena convierte las señales de radio a señales eléctricas.

b) El receptor demodula las señales usando un reloj el cual le proporciona un tiempo de referencia.

c) El procesador de rango utiliza los algoritmos de adquisición y seguimiento para determinar la distancia entre la antena a cada uno de los satélites de las cuales provienen las señales recibidas.

d) El procesador de navegación utiliza la medición de distancia para calcular la posición, velocidad y tiempo del receptor.

2.3 Posicionamiento del sistema

(20)

utilizando sus ranging code3 y la información del mensaje.

Cuando el receptor y los satélites están sincronizados, el alcance ρ desde el satélite hasta el

receptor se obtiene del producto de la velocidad de la luz y de la diferencia entre el tiempo de llegada y el tiempo de transmisión de la señal. De esta forma, el alcance ρ es expresado

según la ecuación (2.1).

= ,− , ( 2.1)

Donde el índice j es utilizado para denominar el número del satélite o el canal receptor. En este modelo, no son considerados los errores de la fuente de transmisión [13].

Sin embargo, el receptor y el satélite no están realmente sincronizados, por lo cual la diferencia entre y es una función que depende del alcance del satélite al receptor y del desplazamiento del reloj del receptor, tal como se muestra en la ecuación (2.2).

= ,− , + ∗ ( 2.2)

Donde b sería el desplazamiento del reloj y es conocido como el pseudo alcance [14].

Finalmente, se debe considerar que la cantidad mínima de satélites para realizar el posicionamiento del receptor son cuatro [15].

2.4 Fundamentos de espectro ensanchado

Un sistema de espectro ensanchado posee las siguientes características [14]:

a) La información es modulada en la portadora de tal forma que posea un gran ancho de banda respecto a la tasa de transmisión de la información.

b) El transmisor utiliza una señal determinística para modular la señal de la información y de esa forma ensanchar el espectro de la señal transmitida. A esta señal determinística se le conoce como código PRN (ruido pseudo aleatorio).

c) El receptor realiza la correlación de la señal recibida con una copia del código PRN en el proceso de modulación de la información.

En la figura 2.2 se muestra el proceso de generación de la señal con espectro ensanchado. Respecto a los códigos PRN, estos son una secuencia finita de bits las cuales deben cumplir las siguientes condiciones4 [14] [16] [17]:

a) Propiedad de balance: En cada periodo de un código PRN, la diferencia de la cantidad de símbolos ‘+1’ respecto a la cantidad de símbolos ‘-1’ es 1.

3 Se llama ranging code al identificador que es enviado desde el transmisor y es utilizado para determinar el

tiempo de transmisión que una señal demora desde el transmisor hacia el receptor.

4 Estas propiedades se les conocen también como propiedades de Golomb. Sin embargo, existen más

(21)

b) Ejecución: Se llama ejecución de longitud k a una secuencia de k idénticos dígitos, es decir sea la secuencia , , … , en cualquier secuencia de código PRN tal que

≠ = ⋯ = ≠ .

Figura 2.2 Proceso de generación de la señal con espectro ensanchado

En cualquier código PRN, la mitad de las ejecuciones tienen longitud 1, la cuarta parte de las ejecuciones tienen longitud 2, la octava parte de las ejecuciones tienen longitud 3, la dieciseisava parte de las ejecuciones tienen longitud 4 y así sucesivamente hasta que estas fracciones den un número entero de ejecuciones. También, en cada caso, el número de ejecuciones de -1’s es igual al número de ejecuciones de +1’s.

c) Autocorrelación: La autocorrelación de la secuencia PRN de longitud N está dado por la ecuación (2.3).

#$ = % 1 − |$| ( 1

) + 1* , +,-, |$| ≤ /0 −) , +,-, /1 0 ≤ |$| ≤ ) − 1 /0

( 2.3)

2.5 Señales del Sistema GPS

El Sistema GPS fue creado por el Departamento de Defensa de los Estados Unidos. Consiste de 24 satélites posicionados en seis planos orbitales de la Tierra con un radio orbital aproximado de 26600 Km. En la figura 2.3 se muestra una representación de la constelación del Sistema GPS.

A continuación se presentan las principales señales del Sistema GPS.

2.5.1 GPS L1 C/A

La señal GPS L1 C/A se emite en la frecuencia: fL1=1575.42MHz = 154*10.23MHz, siendo 10.23 MHz la frecuencia de referencia de los relojes atómicos ubicados en los satélites a bordo.

(22)

Figura 2.3 Constelación del sistema GPS

y es una secuencia pseudo aleatoria con buena auto correlación y propiedades de ortogonalidad. Este código es una secuencia de Oro (Gold Code) y puede ser reconstituida localmente por un generador de código. La señal GPS L1 C/A es llamada también BPSK-R(1). El valor ‘1’ de BPSK-R(1) se toma respecto a un valor de referencia, que en este caso es la frecuencia de 1.023 MHz.

Su Densidad Espectral de Potencia (DEP) en banda base es mostrado en la figura 2.4 y la envolvente del PSD es representada según la ecuación (2.4).

12 3⁄ 5 = /2. 7895/2 ( 2.4)

(23)

2.5.2 GPS L5

La señal GPS L5 se emite en la frecuencia: fL5=1176.45MHz = 115*10.23MHz. La señal GPS L5 es una modulación QPSK compuesta de dos modos:

Modo en fase, conteniendo el mensaje de navegación. Modo en cuadratura, no conteniendo datos.

A señal GPS L5 tiene un periodo de 10 ms y está codificado por un código de corrección de errores. El periodo de los bits del mensaje de navegación es de 20 ms.

2.5.3 Generación de los códigos C/A para GPS

Para la generación de los códigos C/A para GPS se tiene el esquema mostrado en la figura 2.5 [15].

Figura 2.5 Generador de código C/A

Como se puede apreciar, el generador de código C/A es la suma de dos señales G1 y G2. Las señales G1 y G2 son obtenidas mediante la operación xor de los valores almacenados dentro de sus respectivos registros. Finalmente, se debe recalcar que cada código C/A es diferente para cada satélite GPS.

2.6 Señales del Sistema Galileo

(24)

promedio de 29601.297 Km.

A continuación se presentan las principales señales del Sistema Galileo.

2.6.1 Galileo E1 OS

La señal Galileo E1 OS se emite en la frecuencia: fE1=1575.42MHz

Además, la expresión analítica de la señal Galileo E1 OS para el k ésimo satélite está dado por la ecuacion (2.5).

= √; ∙ ∙ = ∙ ∙ >9?@A B ( 2.5)

Donde:

√;: amplitud de la señal compleja

= : señal de datos

: código de dispersión

: subportadora, = 7C878 2E50 o = 7C8F 2E50

50: frecuencia de la subportadora

5G: frecuencia de la portadora

H: fase de la señal

Este tipo de señal es llamada también BOC(m,n) con n = fKL⁄fMN y m = fL⁄fMN, siendo fMN la frecuencia de referencia del código de dispersión GPS L1 C/A: fMN=1.023 MHz. Por ejemplo, la señal BOC(1,1) tiene una frecuencia de subportadora fKL=1.023 MHz y código de dispersión fL=1.023 MHz.

La señal Galileo E1 OS es la combinación de dos modulaciones BOC. Esta señal es conocida también como CBOC(3,1,1/11) y está en función de las modulaciones BOC(1,1) y BOC(6,1). Esta señal tiene un código de dispersión de 4092 chips a 1.023 MHZ y un pseudo periodo de 4 ms.

Finalmente, su densidad espectral de potencia en función de BOC(1,1) y BOC (6,1) se muestra en la ecuación (2.6).

Φ2QR25 =1011 ΦQR2, 5 +11 Φ1 QR2T, 5 ( 2.6)

2.6.2 Galileo E5a

La señal Galileo E5a se emite en la frecuencia: fE5a=1176.45MHz.

La señal Galileo E5a es una modulación QPSK compuesta de dos modos:

(25)

Los códigos de dispersión de la señal Galileo Ea5 tienen una frecuencia de 10.23MHz, una longitud de 10230 chips y un pseudo-periodo de 1 ms. Cada modo es entonces un BPSK-R (10).

El mensaje de navegación sobre Galileo Ea5-I se emite en una secuencia binaria a 50 b.s-1. Además, los dos modos, Galileo Ea5-I y Galileo Ea5-Q, se modulan como códigos secundarios. En la tabla 2.1 se muestra una ampliación de lo explicado [4].

Tabla 2.1 Tamaño de los códigos para la señal Galileo E5a

Componente Periodo de pseudo

código (ms)

Tamaño del código primario (chips)

Tamaño del código secundario (chips)

E5a-I 20 10230 20

E5a-Q 100 10230 100

2.6.3 Densidad Espectral de Potencia

La densidad espectral de potencia de la modulación BOC en banda base está dado por la ecuación (2.7).

UQR25 =

V WW W X WW W Y

50Z

sin ( E525

0* sin (E550 *

E5 cos ( E525

0*

_

9

, 8 =2550

0

+,-50Z

sin ( E525

0* sin (E550*

E5 cos ( E525

0*

_

9

, 8 =2550

0

7`+,-( 2.7)

En la figura 2.6 se muestra la densidad espectral de potencia para la modulación BOC(1,1). Como se puede observar, la densidad espectral de potencia es diferente a la densidad espectral de potencia de la señal GPS L1 C/A en cuanto a la cantidad de lóbulos principales (GPS L1 C/A posee un lóbulo principal y BOC(1,1) posee dos lóbulos principales).

2.7 Desafíos de la implementación en el espacio de un receptor GNSS

La señal GNSS es afectada por múltiples interferencias las cuales van a degradar la calidad de recepción de la señal. En esta sección del capítulo se revisarán alguna de las principales interferencias que ocurren en los receptores GNSS a nivel de órbitas LEO.

2.7.1 Efecto Doppler

(26)

usuario o receptor. La velocidad v se calcula utilizando la información de las efemérides5 y el modelo de la órbita del receptor. En la figura 2.7 se muestra la curva de la frecuencia Doppler recibida por un receptor GNSS la cual depende del tiempo. Además, a medida que el satélite esté más próximo al receptor, la frecuencia Doppler disminuirá; y a medida que el satélite esté más lejos del receptor, la frecuencia Doppler aumentará [15].

Figura 2.6 Densidad espectral de potencia para BOC(1,1)

Se puede aproximar la frecuencia 5 utilizando la ecuación clásica Doppler, la cual se muestra en la ecuación (2.8).

5 = 5ab1 −cd e∙ , ( 2.8)

Donde 5a es la frecuencia transmitida por el satélite, cd es la velocidad relativa del satélite respecto al receptor GNSS, , es el vector unitario que sigue la dirección de la línea de vista del receptor al satélite y c es la velocidad de la luz.

Para un receptor en órbita LEO, el rango de la frecuencia Doppler es desde -42 KHz hasta 42 KHz, lo cual es bastante respecto al rango de la frecuencia Doppler en tierra que es desde -4KHz hasta 4 KHz. Sin embargo, la ventaja del receptor en el espacio respecto a un receptor en tierra es que el movimiento del receptor es muy predecible, lo cual el patrón de búsqueda puede ser considerablemente reducido utilizando los datos del almanaque6 GNSS [18].

5 Es una tabla de valores que proporciona la posición de los objetos en el espacio.

6 Los datos del almanaque es la información sobre la posición de los satélites. Cada satélite transmite

(27)

Figura 2.7 Frecuencia Doppler recibida por un receptor GNSS

El efecto Doppler tiene un importante efecto en el sistema de seguimiento por lo cual el sistema de seguimiento debe ser lo suficientemente robusto y veloz para detectarlo y seguirlo ante cualquier cambio en la frecuencia Doppler, ya que la tasa de cambio de la frecuencia Doppler es normalmente ±62 Hz.s-1.

2.7.2 Multitrayecto

El multitrayecto puede suceder si la señal se refleja en la superficie del equipo receptor. Además, debido a que los satélites tienen formas complejas y el diseñador sólo se ha preocupado en obtener una buena antena, el efecto multitrayecto podría ser perjudicial por una mala ubicación de la antena dentro del receptor [19].

También existe otra forma, aunque no es tan común, de conseguir el efecto multitrayecto. Este caso sucede si la señal a recibir pasa a través de un obstáculo, por ejemplo un satélite, y este refleje la señal a recibir, siendo este caso el más crítico para el sistema receptor. En la figura 2.8 se ilustra el caso en el cual se transmiten dos señales, sin embargo una de ellas es bloqueada por un satélite y la otra es reflejada en múltiples señales debido a la presencia de un satélite que actúa como obstáculo.

2.7.3 Interferencia

Debido a que los receptores GNSS procesan la información en base a una señal RF, estas señales son vulnerables a interferencias RF, ya sea en forma involuntaria o intencional7. La interferencia normalmente se clasifica como interferencia de banda ancha e interferencia de banda angosta. Esta definición depende del ancho de banda de la señal GNSS, siendo interferencia de banda ancha cuando el ancho de banda de la interferencia es más grande que el ancho de banda de la señal GNSS e interferencia de banda angosta cuando el ancho

(28)

de banda de la interferencia es menor que el ancho de banda de la señal GNSS.

También puede darse el caso que exista interferencia entre señales del mismo tipo, por ejemplo dos señales GPS interfiriéndose entre sí en la etapa de recepción. A este tipo de interferencia se conoce como interferencia intrasistema.

Figura 2.8 Señal reflejada y bloqueada por un satélite (obstáculo)

Además de la interferencia intrasistema, puede darse el caso en que una señal de otro sistema GNSS interfiera con la señal GNSS deseada, por ejemplo una señal del sistema Galileo interfiera con otra señal del sistema GPS. Este tipo de interferencia se le llama interferencia entre sistemas.

2.7.4 Centelleo ionosférico

La ionósfera es una capa de la atmósfera de la Tierra que comienza a partir de los 50 km de altura hasta varios kilómetros de la Tierra. En esta capa, la radiación solar incidente separa una fracción de componentes neutros en iones cargados positivamente y electrones libres. Además, la máxima densidad de electrones libres ocurre a 350 km [15].

(29)

El centelleo ionosférico causa una perturbación tanto en la amplitud como en la fase de la señal. El modelo de la señal recibida en presencia de centelleo es mostrado en la ecuación (2.9) [15].

- = √2f ∙ gf ∙ cosh + i + gi + 8 ( 2.9)

Donde:

f es la potencia de la señal recibida. h es frecuencia de la portadora (rad/s).

es la señal normalizada transmitida.

i es la fase de la señal transmitida. 8 es ruido.

√gf es un valor escalar que caracteriza el desvanecimiento en la amplitud debido al

centelleo.

gi es la variación de la fase debido al centelleo (rad).

gf se modela generalmente siguiendo la distribución Nakagami-m cuya función de densidad de probabilidad está dado por la ecuación (2.10) [20].

+gf = 2`jΓ` gfjk.l>jno, gf ≥ 0 ( 2.10)

Cuya media es 1 y varianza es 1 `⁄ . La intensidad de la amplitud de desvanecimiento debido al centelleo ionosférico se caracteriza mediante el índice Uq, el cual es la inversa de la desviación estándar de gf y cuyo valor está dado en la ecuación (2.11).

Sin embargo, debido a la propiedad de la distribución Nakagami-m, el índice Uq debe ser

menor o igual a √2.

Uq = 1

√` ( 2.11)

En la figura 2.9 se muestra la distribución Nakagami-m para m = 2.

La variación de la fase debido al centelleo ionosférico se modela normalmente como una distribución gaussiana, tal como se muestra en la ecuación (2.12).

+gi = 1

√2Ers> ns9ut

vt ( 2.12)

Donde rs es la desviación estándar de la variación de la fase.

2.8 Procesamiento de la señal GNSS recibida

(30)

Doppler, diferentes retardos y diferentes atenuaciones. En la ecuación (2.13) se muestra la recepción de un receptor GNSS.

Figura 2.9 Distribución Nakagami-m para m=2

8 = w xyzy8/− $y y8/− $y >9?@{|}~ a€| y∈ƒ,⋯,@„

+ …8/

( 2.13)

Donde:

$y: Retardo de la señal del satélite α debido a la propagación de la señal

xy: Atenuación de la señal del satélite α

zy: Secuencia de bits (datos) del satélite α

y: Señal PRN del satélite α

†k: Fase de la portadora

5‡y: Frecuencia Doppler del satélite α

ˆ‰: Frecuencia intermedia

/: Tasa de muestreo de la señal …: Ruido aditivo gaussiano

En esta sección del capítulo, se explican los conceptos básicos de las etapas de adquisición y seguimiento. En el capítulo 3 se explicará con mayor detalle cómo se procesa la señal GNSS recibida frente al efecto Doppler dentro del sistema de seguimiento.

2.8.1 Principio de adquisición

La etapa de adquisición permite encontrar una buena estimación de la frecuencia Doppler

(31)

Un ejemplo de búsqueda se muestra en la figura 2.10, en la cual se busca la señal en una grilla formada por las frecuencias y los retardos de código de la señal [19]. En este método se realiza la búsqueda manteniendo la frecuencia fija y buscando a través de todos los posibles retardos hasta encontrar el que tenga mayor valor. A este método se conoce como búsqueda serial.

Figura 2.10 Proceso de adquisición de la señal

Sin embargo, el método de búsqueda serial es muy lento y puede tomar una cantidad considerable de minutos para detectar la presencia de la señal.

Por otra parte, existen otros métodos más eficaces los cuales permiten detectar la señal en un menor tiempo. Por ejemplo se encuentra el método de adquisición utilizando la transformada rápida de Fourier (FFT) desarrollado por D. Akopian, el cual analiza los inconvenientes de un receptor GPS basado en FFT y propone un FFT más eficiente, reduciendo cálculos innecesarios y produciendo una respuesta más rápida. Para este caso propone dos métodos [21]:

El primer método procesa en forma serial la señal y agrupa la búsqueda para varias frecuencias alrededor de una sola afín de optimizar el número de cálculos. Además se usa una matriz de corrección de Doppler. El diagrama del algoritmo se presenta en la figura 2.11.

El segundo método elimina la necesidad del uso de una matriz de corrección Doppler, sin embargo hace uso de una FFT de tamaño variable. El diagrama del algoritmo se presenta en la figura 2.12.

2.8.2 Principio de seguimiento

(32)

señal $̂ del sistema de adquisición, estos valores entran al sistema de seguimiento como parámetros iniciales. Esta fase permite demodular el mensaje de navegación satelital y medir los pseudo alcances.

Figura 2.11 Primer método del algoritmo de adquisición

Figura 2.12 Segundo método del algoritmo de adquisición

El sistema de seguimiento realiza el seguimiento de los cambios del retardo de código, fase y la frecuencia Doppler para obtener una estimación más precisa de estos parámetros a través del tiempo. Los cambios de la fase y la frecuencia Doppler estimados sirven para corregir los errores de la portadora y, de esta forma, decodificar el mensaje. El estimado del retardo de código sirve para calcular el pseudo alcance y, de esta forma, obtener la posición del receptor.

Compensación de la frecuencia

(frecuencia sin corregir) Re-arreglo en una matriz FFT de filas Compensación en frecuencia epoch FFT de columnas

FFT de la réplica Corrección del código Doppler IFFT de las columnas Entrada

Œ Salida

E

nt

ra

da

Œ

FFT de tamaño

))9 para la

longitud de la integración

coherente

Posibles ámbitos de los bucles:

1. Satélites

(33)

En la figura 2.13 se muestra un sistema de seguimiento típico. En este sistema se utilizan filtros de realimentación para obtener los estimados de los parámetros.

Figura 2.13 Sistema de seguimiento típico

Un filtro de realimentación básico tiene tres componentes: unidad de mezcla, unidad de control y unidad de realimentación. La unidad de mezcla utiliza el valor estimado obtenido del filtro , y la entrada al sistema , para obtener una señal que está en función del error del parámetro estimado a seguir Ž. Luego, la señal Ž se ingresa hacia la unidad de control, la cual usará un discriminador para obtener una señal de error ŽG. Finalmente, la señal ŽG

se ingresa hacia la unidad de realimentación, la cual usa la señal ingresada para actualizar el valor estimado ,.

(34)

CAPÍTULO III

ANALISIS DEL ALGORITMO DE MITIGACION DEL EFECTO DOPPLER PARA GPS PROPUESTO

3.1 Introducción

Dentro de un sistema receptor GNSS, el receptor GNSS debe generar un código PRN idéntico al código PRN de la señal recibida para realizar la correlación. Cuando las fases de la señal GNSS y del código PRN generado coinciden, se produce un valor máximo en la correlación. Sin embargo, cuando el desfasaje entre ellos es mayor que un chip o un bit dentro de un código PRN, se produce un valor mínimo en la correlación. Este método es utilizado para detectar la señal GNSS en el proceso de seguimiento.

Sin embargo, debido al efecto Doppler y al ruido del canal, se produce la distorsión de la señal recibida y, por consiguiente, el sistema de seguimiento debe realizar el seguimiento de la frecuencia Doppler y la corrección de la señal recibida. De esta forma se obtiene la demodulación de la señal GNSS.

3.2 Filtro de entrada

Antes de realizar el procesamiento de la señal GNSS recibida, esta señal debe pasar por un filtro FIR pasa bajo, el cual se va a encargar de filtrar las señales arriba de la frecuencia de los lóbulos principales de las señales GPS L1 C/A y Galileo E1 OS. En la ecuación (3.1) se muestra la función de transferencia del filtro. Este filtro tiene una frecuencia de corte en 2.5 MHz aproximadamente.

 =0.0399 0.0498 0.11279 0.0136— 0.3093q

0.5277l 0.3093T 0.0136™ 0.1127š

0.0498› 0.0399k

( 3.1)

3.3 Correlación e integración

Una vez generados los códigos PRN réplicas en el receptor, se realiza la correlación e integración de las señales recibidas.

(35)

la ecuación (3.2).

-œž = w ,œ8ž ∙ œ8 ž

Ÿ

 k

,  ∈ œ) 1 , ) 1 ž ( 3.2)

Debido a las propiedades del código PRN, se puede detectar la forma de onda de la señal incluso en presencia de ruido.

Para lograr tal fin, se utilizan tres códigos PRN las cuales se correlacionan con las señales de entrada. Estos códigos PRN se conocen como códigos ;Gd¡jG , ;¢d£¤, ;£ ¢ y están

espaciados cada uno en ±1/2 chip. Esto permite saber si la señal está adelantada o retrasada en el tiempo.

La figura 3.1 ilustra la correlación de estos tres códigos PRN con la señal entrante. Cuando la señal muestre un valor 1 en la correlación con ;Gd¡jG , la señal recibida estará

sincronizada y no presenta error. Sin embargo, puede suceder que la señal entrante presente valor 1 en la correlación diferente del código ;Gd¡jG y exista error. También,

puede suceder que se presenten dos valores máximos en la correlación que sean diferentes de 1. En cualquiera de los dos casos, se está produciendo un mal seguimiento y es debido a que la señal sufrió una alteración en el canal de transmisión. Por lo tanto la señal GNSS debe ser corregida y sincronizada con el código PRN ;Gd¡jG [15].

Para disminuir el error de la señal, se implementa el sistema de integración. En este sistema, existen dos tipos de integraciones: la primera integración, la cual tiene una duración de 1ms; y la segunda integración, la cual tiene una duración variable.

(36)

La duración de la segunda integración depende del instante de sincronización

‰8,8U¥8ℎ-F y del tiempo de integración / . Sin embargo, la duración de la segunda integración debe ser entre 1 ms y 5 ms, esto se hace con el fin de que no sea ni tan pequeño ni tan grande respecto a la duración de una señal GNSS, por ejemplo la señal GPS L1 C/A tiene un periodo de 20 ms el periodo.

Finalmente, se obtienen seis salidas:

I¨, I©, Iª, Q¨, Q© y Qª: Son las salidas de la segunda integración.

I©¬K y Q©¬K: Son las salidas de la integración a 1 ms

El diagrama completo del sistema de correlación e integración se muestra en la figura 3.2.

3.4 Lazo de seguimiento en fase y frecuencia

Esta etapa realiza el seguimiento de la señal en banda base a través de un filtro de lazo cerrado de fase PLL y a través de un filtro de lazo cerrado de frecuencia FLL. El PLL es más preciso que el FLL y reproduce la fase exacta de la señal; sin embargo el PLL es más sensitivo a la dinámica de la señal recibida que el FLL. Por otro lado, el FLL solo logra una aproximación de la frecuencia de la señal.

Como se explicó en el capítulo 2, el sistema de seguimiento tiene una unidad de control, el cual usa un discriminador. En nuestro caso, debemos utilizar dos discriminadores: discriminador de fase y discriminador de frecuencia. En la siguiente sección se tratará el discriminador de código.

(37)

3.4.1 Discriminador de fase

En caso del seguimiento de una señal compuesta, se utiliza un filtro de lazo Costas como PLL si se desea que el sistema sea inmune a las rotaciones de fase de π rad [15]. En la

figura 3.3 se muestran los discriminadores de fase utilizados en un filtro de lazo Costas [15] [19].

De la relación de los discriminadores de fase mostrados en la tabla 3.1, se utiliza el último discriminador debido a su independencia de la amplitud de la señal, posee la salida óptima para altas y bajas SNR, y no produce errores de división entre cero. A pesar que la carga computacional del discriminador sea alta respecto a los otros discriminadores, ese factor se compensa con la capacidad de procesamiento del dispositivo. En la figura 3.3 se muestra la salida de los cuatro discriminadores.

Figura 3.3 Salida de los diferentes discriminadores del filtro de lazo Costas

Tabla 3.1 Discriminadores de fase para un filtro de lazo Costas

Discriminador

Salida de error de

fase

Características

­®¯× ±®¯ sin2i

Cercano al valor óptimo para bajo SNR.

Envolvente proporcional a la amplitud al cuadrado de la señal.

Moderada carga computacional.

­®¯

× ¯²³´±®¯ sin i

Cercano al valor óptimo para alto SNR.

(38)

­®¯⁄±®¯ tan i

No es tan bueno como los anteriores pero funciona bien para altas y bajas SNR.

Envolvente no dependiente de la amplitud de la señal. Alta carga computacional.

Error al dividir por cero en ±90o.

·¸¹º­®¯±®¯ i

Óptimo a bajas y altas SNR.

Envolvente no dependiente de la amplitud de la señal. Posee la más alta carga computacional.

3.4.2 Discriminador de frecuencia

El discriminador de frecuencia es más robusto a los errores debido a las transiciones de los bits de datos en la fase de transición. Es decir, el discriminador de frecuencia permite al sistema de seguimiento seguir la señal hasta el momento de la transición de los bits, cuando el mensaje es encontrado. En la tabla 3.2 se muestran los diferentes tipos de discriminadores de frecuencia [15] [19].

De la relación de discriminadores de frecuencia mostrados en la tabla 3.2, se utiliza el último discriminador debido a su independencia de la amplitud de la señal y posee la salida óptima para altas y bajas SNR. A pesar que la carga computacional del discriminador sea alta respecto a los demás, ese factor se compensa con la capacidad de procesamiento del dispositivo. En la figura 3.4 se muestra la salida de los tres discriminadores para un / de 10 ms.

Tabla 3.2 Discriminadores de frecuencia

Discriminador

Salida de error de frecuencia

Características

»¼¼ ½²´¾

singi /

Cercano al valor óptimo para bajo SNR. Envolvente proporcional a la amplitud al cuadrado de la señal.

Mínima carga computacional.

»¼¼ × ¯²³´¾

½²´¾ sin/ 2gi

Cercano al valor óptimo para alto SNR. Envolvente proporcional a la amplitud de la señal.

(39)

·¸¹º¾ »¼¼

½²´¾

gi /

Óptimo a bajas y altas SNR.

Envolvente no dependiente de la amplitud de la señal.

Posee la más alta carga computacional. Donde:

»¼¼ = ±®œ´ − ºž∗ ­®œ´ž ±®œ´ž ∗ ­®œ´ ºž

¾ = ±®œ´ ºž ∗ ±®œ´ž ­®œ´ ºž ∗ ­®œ´ž

Y

±®œ´ ºž, ±® en el instante ´ º . ½²´¾

±®œ´ž, ±® en el instante ´. ½²´¾

Siendo ½²´¾ el tiempo de integración de la señal.

Figura 3.4 Comparación de la salida de los diferentes discriminadores de frecuencia

3.4.3 Filtro de lazo

El filtro de lazo FPLL reduce el ruido a fin de producir una estimación confiable del error entre la señal recibida y la réplica del código PRN. En la figura 3.5 se muestra el filtro de lazo a usar. Las entradas a este filtro son el discriminador de fase ¿--fÀÀ y el discriminador de frecuencia ¿--ˆÀÀ, obteniendo como salida h¢dd¡d [15].

El filtro a utilizar es un filtro de tercer orden y depende de la banda de ruido del filtro ÁG.

La banda de ruido de un sistema lineal, con función de transferencia Â2E5 , es el ancho de banda (en Hertz) de un filtro pasa bajo rectangular ficticio con la misma área que tiene

|Â2E5 |9.

(40)

Figura 3.5 Filtro de lazo para el filtrado de señal y frecuencia

Figura 3.6 Diagrama del cálculo de la banda de ruido

Primeramente se realiza el cálculo del área bajo |Â2E5 |9. En la ecuación (3.3) se muestra el cálculo del área bajo |Â2E5 |9.

,->,à = Ä |Â2E5 |9=5 Å

Å ( 3.3)

Ahora, si se fija el filtro pasa bajo ficticio con altura 0 y ancho G, el área bajo ese

filtro sería lo mostrado en la ecuación (3.4).

,->,@£ d¡ @0 0¡= 2ÁG0 ( 3.4)

Igualando las ecuaciones (3.3) y (3.4) se obtiene el valor del ancho de banda de ruido, el cual es mostrado en la ecuación (3.5).

ÁG =20 Ä |Â2E5 |1 9=5 Å

Å (3.5)

Finalmente, los parámetros del filtro en función de ÁG se calculan de la siguiente forma:

hkG = ÁG⁄0.7845, hk@ = ÁG⁄0.53, ,9 = 1.414, ,— = 1.1 y — = 2.4. Finalmente, el

diagrama general del discriminador y del filtro de lazo FPLL se muestra en la figura 3.7.

3.4.4 Oscilador controlado digitalmente (NCO)

(41)

-F = ‰oœ8 − 1žÆoœ8ž − ‰oœ8žÆoœ8 − 1ž

=F = ‰oœ8 − 1ž‰oœ8ž − Æoœ8 − 1žÆoœ8ž

Figura 3.7 Sistema global de filtro de fase y frecuencia

radianes y este error debe ser normalizado en el tiempo. En el sistema mostrado en la

figura 3.8, la salida del NCO, ΦÇG, se multiplica con la señal de entrada para obtener la

corrección de fase.

Figura 3.8 NCO de la portadora

Donde:

ˆ= : Frecuencia Doppler encontrada en la fase de adquisición.

h¢dd¡d: Salida del filtro de lazo FPLL.

ˆ0¡dd: Corrección de frecuencia en caso de colisión sobre una frecuencia equivocada.

: Señal de entrada.

3.5 Lazo de seguimiento del retardo de código

(42)

compensa el cambio del pseudo periodo debido al efecto Doppler.

3.5.1 Discriminador de código

Existen principalmente dos tipos de discriminadores de código: el discriminador de código coherente y el discriminador de código no coherente. Los discriminadores de código coherentes son una combinación lineal de una señal y requieren menos carga computacional, sin embargo son menos precisos en las salidas. Los discriminadores de código no coherentes no son una combinación lineal de las señales y requieren mayor carga computacional respecto a los discriminadores coherentes, sin embargo poseen mayor precisión que los discriminadores coherentes. También existe una combinación de estos dos tipos los cuales son llamados discriminadores de código cuasi coherentes. En la tabla 3.3 se muestran los diferentes tipos de discriminadores de código [15] [19].

Tabla 3.3 Discriminadores de código

Discriminador Características

º

È (±É±− ±® Ê

+­É­− ­Ê

® *

Potencia cuasi coherente del producto interno.

Uso los tres correlacionadores (Early, Late y Prompt). Baja carga computacional.

En ausencia de ruido, produce un valor cercano a la salida del error verdadero si se tiene como entrada un error entre +0.5 y – 0.5 chip.

º ËÉ

Ë− ÊË

ÉË+ ÊË

Potencia no coherente Early – Late. Moderada carga computacional.

En ausencia de ruido, produce un valor similar al anterior discriminador si se tiene como entrada un error entre +0.5 y –0.5 chip.

º ËÉ − ÊÉ + Ê

Envolvente Early – Late no coherente independiente de la amplitud de la señal.

Alta carga computacional.

En ausencia de ruido, produce el valor de error verdadero si se tiene como entrada un error entre +0.5 y – 0.5 chip.

(43)

Ì = ͱÉË+ ­ÉË

Î = ͱÊË+ ­ÊË

De la relación de discriminadores de código mostrados en la tabla 3.3, se utiliza el último discriminador debido a que es el más preciso para obtener el error de retardo de código. Sin embargo, a pesar que la carga computacional del discriminador sea alta respecto a los demás discriminadores de código, ese factor se compensa con la capacidad de procesamiento del dispositivo. En la figura 3.9 se muestra la salida de los tres discriminadores.

Figura 3.9 Comparación de la salida de los diferentes discriminadores de código

Finalmente, el valor de salida del discriminador ¿--zÀÀ se multiplica por el factor 4Á0, siendo Á0 el ancho de banda del ruido del filtro (medido en Hz). Además, el valor de Á0 depende de la salida del detector de bloqueo de fase. Finalmente, la salida es h0¡‡¢¢dd¡d. La figura 3.10 ilustra lo explicado.

Figura 3.10 Salida completa del discriminador de código

3.5.2 Factor de escala

En la figura 3.11 se muestra el diagrama de la generación de Φ‡Ï.

(44)

La salida Φ‡Ï se normaliza por TÑ, el cual es el periodo de muestreo. En la ecuación

(3.6) se muestra la función Φ‡Ï.

Figura 3.11 Generación del factor de escala

Φ‡Ï = 52E50¡‡¢

k/d2Eˆ= + 2Eˆ0¡dd+ h¢dd¡d ( 3.6)

3.5.3 Oscilador controlado digitalmente (NCO)

Finalmente, para obtener los códigos ;Gd¡jG , ;¢d£¤, ;£ ¢ primero se pasan las señales de

entrada Φ‡Ï y h0¡‡¢ ¢dd¡d a través de un oscilador controlado digitalmente NCO y,

junto con la frecuencia del código, se obtiene la salida ΦÇ0¡‡¢. En la figura 3.12 se muestra el proceso explicado anteriormente.

Figura 3.12 Generación de Ç a través de un oscilador controlado digitalmente (NCO)

3.6 Generador de códigos réplica

Finalmente, ΦÇ0¡‡¢ se almacena en memoria y a través de un shift register, utilizando el espaciamiento entre cada código (=0¡dd), se obtienen los códigos ;Gd¡jG , ;¢d£¤, ;£ ¢.

=0¡dd es la fracción de un chip y debe ser un múltiplo de la frecuencia de muestreo. En la

figura 3.13 se muestra el diagrama del generador de códigos réplica.

3.7 Detectores de bloqueo

(45)

Figura 3.13 Generación de los códigos PRN

alguna salida que esté fuera del rango definido, el detector de bloqueo tratará de corregirlo.

3.7.1 Detector de bloqueo de fase

Para adaptar los parámetros del filtro, necesitamos recolectar dos tipos de información: el bloqueador de fase optimista y el bloqueador de fase pesimista.

El bloqueador de fase optimista decide rápido y su cambio de decisión es lento, sin embargo la salida no es tan confiable como el bloqueador de fase pesimista, el cual decide más lento que el bloqueador de fase optimista pero cambia más rápido que el bloqueador de fase optimista [15].

El funcionamiento del detector de bloqueo de fase es de la siguiente forma: Cuando se active el bloqueo de fase, ‰o j será de valor máximo y Æo j será de valor mínimo. Esto se realiza debido que la fase de la envolvente de la señal está más cercano al eje I y cuando ocurre el jitter en la fase, la fase de la envolvente oscilará alrededor del eje I.

En la figura 3.14 se muestra el diagrama completo del detector de bloqueo de fase. En esta etapa, las señales ‰o j y Æo j pasan por un filtro pasa bajo y la señal ‰o j se multiplica con un factor de escala 9 dando dos tipos de salidas, las cuales llamaremos A y B respectivamente.

Luego, las entradas A y B pasan por un comparador y, dependiendo de los valores obtenidos, se decide si el valor de A es mayor o menor que B. Si el valor de A es mayor que el valor de B, el bloqueo de fase optimista se activa y si el valor de A es menor o igual al valor de B, el bloqueo de fase pesimista se desactiva.

Además, se incorporan dos contadores f y f9 los cuales sirven para activar el bloqueador de fase optimista y desactivar el bloqueador de fase pesimista en caso se alcance una cantidad superior a un valor fijo.

Los valores típicos a utilizar son:  = 0,0247, 9 = 0,666, Ào = 50 y ÀR = 240.

3.7.2 Detector de bloqueo de código

(46)

estimación de la relación C/N0 y producir una inestabilidad del sistema.

Figura 3.14 Detector de bloqueo de fase

Dentro de esta etapa, el sistema compara la potencia recibida de dos fuentes diferentes: una fuente en banda ancha y la otra en banda estrecha. En la ecuación (3.7) se muestra el cálculo de la potencia en banda ancha y en la ecuación (3.8) se muestra el cálculo de la potencia en banda estrecha [22].

ÒÁf = (w ‰9+ Æ

9 Ó

  * ( 3.7)

)Áf = (w ‰9

Ó

  *+ (w Æ

9 Ó

  * ( 3.8)

Donde:

‰: Salida de la etapa de integración a 1 ms (‰o j).

Æ: Salida de la etapa de integración a 1 ms (Æo j).

Ô: Periodo de suma.

Para el caso de una señal GPS C/A, el valor de M es 20 debido a que se tienen que sumar periodos de 1 ms cada uno para obtener el periodo de la señal GPS C/A. Para el caso del sistema Galileo E1 OS, 20 ms corresponden a 5 periodos del código CBOC (3,1,1/11). Luego, se toma la relación de las potencias )Áf y ÒÁf, y los resultados obtenidos se

suman para obtener el valor del detector de bloqueo. La ecuación (3.9) muestra lo explicado anteriormente.

Õ̂Ÿo =Ö w1 ÒÁf)Áf ×

  ( 3.9)

(47)

código.

Donde / es igual a 1 ms.

; )k

Ø

= 10logk(/1Ô − Õ̂Õ̂Ÿo− 1

Ÿo* ( 3.10)

Figura 3.15 Detector de bloqueo de código

En la figura 3.16 se muestra la relación entre el valor de bloqueo y la tasa C/N0 estimada y

Figura 3.16 Relación entre el valor de bloqueo y la tasa C/N0 estimada.

3.7.3 Detector de bloqueo falso

La implementación del detector de bloqueo falso es necesario en caso que el sistema de seguimiento esté trabajando con una frecuencia falsa, la cual ronda alrededor de los 100 Hz respecto a la frecuencia verdadera. Además, otra razón es debido a que el detector de bloqueo de fase no detecta la falsa frecuencia en el siguiente caso:

Bloqueo de fase optimista: falso Bloqueo de fase pesimista: falso.

Esto se produce debido a que la salida del discriminador de frecuencia es generalmente de un valor bajo y el filtro no puede procesar el error de frecuencia correctamente, obteniendo una incorrecta recuperación del mensaje de la señal.

(48)

de las transiciones falle. Para obtener la salida de la frecuencia corregida se integra los valores de h0¡‡¢¢dd¡d, tal como se muestra en la ecuación (3.11).

ˆ0¡dd =55k 0¡‡¢

1

Ö w h0¡‡¢¢dd¡d7

×

  ( 3.11)

Un valor común para la integración de h0¡‡¢¢dd¡d es 1s. Además, como se están trabajando con muestras con un periodo de 5 ms, entonces el valor de Ö será 200.

@ÜÝ{Þ es un factor de escala de la frecuencia de modulación respecto a la frecuencia del

código PRN de la señal GNSS.

3.8 Detección de la transición de los bits de datos

Este módulo es utilizado solamente por la señal GPS L1 C/A debido a que señal Galileo E1 OS tiene los modos piloto y datos.

Si la tasa C/N0 está por debajo de los 35-36 dBHz, el método de búsqueda de tiempo de transición mediante histogramas falla. Debido a esto, en esta etapa se propone un método basado en búsqueda de energía de la señal. Este método tiene la ventaja de obtener una rápida convergencia hacia un valor óptimo y una rápida actualización en tiempo real del instante de transición de los integradores. Además, este método reduce la duración de la fase de transición, debido a que la salida de los discriminadores son valores extremos si los integradores acumulan códigos PRN rápidamente sobre la transición del bit. La rápida acumulación de códigos PRN es causado por la inversión de polaridad de los códigos PRN. Por lo tanto, la convergencia en tiempo real del instante de transición permite sincronizar en tiempo real los integradores y por consiguiente reducir los valores extremos de los discriminadores.

Ahora, el método de búsqueda energía funciona de la siguiente manera:

Por cada muestra ‰o j y Æo j en un instante n, ‰ y Æ respectivamente, se tienen las ecuaciones (3.12) y (3.13).

U~ = w ‰

›

 k ( 3.12)

Uß = w Æ

›

 k ( 3.13)

Estas dos salidas se utilizan para obtener el módulo U tal como se muestra en la ecuación (3.14).

(49)

Si se desea hacer 20 veces este proceso, se obtendrá 20 posibles alternativas  en el instante de transición de los datos. Ya que existen 20 pseudo periodos de código dentro de cada bit de información, se deben sumar todas esas 20 posibles alternativas tal como se muestra en la ecuación (3.15).

 = w U,

9k

( 3.15)

De esa forma se obtiene la alternativa que posea mayor nivel de energía. Cuando aquel nivel se estabilice durante un tiempo lo suficientemente largo (por lo menos 1 segundo), se obtendrá el instante de transición y por lo tanto se podrá realizar una adecuada sincronización. La ecuación (3.16) resume lo explicado.

7 = |à  jàà (3.16)

Finalmente, se debe utilizar un filtro pasa bajo con el fin de variar dinámicamente el instante de transición. Una alternativa es mostrada en la ecuación (3.17).

‰8,8U¥8ℎ-F =14 w 7£

—

£ k ( 3.17)

3.9 Demodulación de la señal

En esta última etapa, la señal ‰o j se integra por un periodo de 20 ms y finalmente pasa a un bloque de decisión el cual posee dos salidas:

Si la entrada es mayor o igual a cero, su salida es ‘0’. Si su entrada es menor que cero, su salida es ‘1’.

De esta forma, se obtiene la información deseada.

Finalmente, la figura 3.17 muestra el diagrama de bloques de la demodulación de la señal.

(50)

CAPÍTULO IV

IMPLEMENTACIÓN DEL ALGORITMO DE MITIGACIÓN DEL EFECTO DOPPLER PARA GPS EN UN FPGA

4.1 Introducción

El uso de procesadores a nivel de software en sistemas embebidos ha proporcionado una gran ventaja respecto a los procesadores a nivel de hardware, debido a que permite su portabilidad a diferentes dispositivos. En la actualidad existen una gran variedad de estos tipos de procesadores, siendo el Procesador LEON uno de los más utilizados para aplicaciones espaciales.

Los procesadores a nivel de software permiten incluir programas escritos en lenguaje C/C++ para poder ser ejecutados gracias a la creación de los compiladores cruzados, permitiendo de esta forma que el programador se preocupe en cómo opera el algoritmo y no se preocupe tanto por su implementación en hardware.

En este capítulo se tratará acerca del Procesador LEON, la implementación del algoritmo de mitigación del efecto Doppler y el escenario de prueba del algoritmo.

4.2 El Procesador LEON

SPARC (Scalable Processor ARChitecture o Arquitectura de Procesador Escalable) es una arquitectura CPU basado en el conjunto de instrucciones (ISA), derivado del conjunto de instrucciones reducido para computadoras (RISC). SPARC permite ser implementado en una amplia gama de chips y sistemas y está orientada a diferentes aplicaciones, desde uso comercial hasta trabajos de ingeniería.

El procesador del SPARC posee tres componentes:

Unidad de punto flotante (FPU): Tiene 32 registros de punto flotante de 32 bits. Un

valor de doble precisión ocupa un par de registros correlativos, y un valor de cuádruple precisión ocupa un grupo alineado de 4 registros.

Las instrucciones de carga/descarga en punto flotante son utilizadas para mover los datos entre la FPU y la memoria. Las direcciones de memoria son calculadas por la IU.

Coprocesador (CP): El coprocesador tiene su propio conjunto de registros que son de 32

(51)

opcional.

Unidad entera (IU): Ejecuta instrucciones aritméticas enteras y calcula las direcciones

de memoria para la carga y almacenamiento de información. También, este componente mantiene el contador de programa y la ejecución de las instrucciones de control para la Unidad de punto flotante (FPU) y el Coprocesador (CP).

Además, cada componente del SPARC posee sus propios registros. Para mayor información sobre SPARC, consultar [23].

La especificación Arquitectura Avanzada para Bus de Microcontroladores AMBA define un estándar de comunicación sobre chips para microcontroladores embebidos de alto rendimiento.

El estándar define tres tipos de buses:

Bus Avanzado de Alto Rendimiento (AHB): Este bus es para módulos del sistema que

requieran un alto rendimiento y trabajen a altas frecuencias de reloj.

El bus AHB actúa como un backbone y soporta de forma eficiente la conexión de

procesadores, memorias internas y externas y periféricos con funciones macroceldas de baja potencia.

Bus Avanzado del Sistema (ASB): Este bus es para módulos de sistema de alto

rendimiento y es adecuado cuando no se requiera de un alto rendimiento comparado con el bus AHB. El bus ASB soporta los mismos periféricos que el bus AHB.

Bus Avanzado para Periféricos (APB): Este bus es para periféricos de baja potencia. El

bus APB ha sido optimizado para un mínimo consumo de energía y una reducida complejidad de las interfaces para la conexión con los periféricos. Además, puede ser usado con el bus AHB o ASB.

Para mayor información sobre la especificación AMBA consultar [24].

Figure

Figura 2.1 Componentes de un sistema GNSS  La función que cumple el segmento de usuario son las siguientes [13]:
Figura 2.2 Proceso de generación de la señal con espectro ensanchado
Figura 2.3 Constelación del sistema GPS
Figura 2.5 Generador de código C/A
+7

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)