UN NAVEGADOR DE INS/GPS ADAPTABLE PROFUNDAMENTE INTEGRADO CON RASTREO DE CODIGO DE INTERVALO EXTENDIDO
Antecedentes de la invención Los sistemas de navegación contemporáneos comúnmente emplean datos de navegación por satélite derivados de receptores de navegación por radio para determinar la localización de una plataforma de navegación. Los datos de satélite frecuentemente se aumentan con datos de sensores adicionales con el fin de mejorar el desempeño del sistema de navegación en situaciones en donde los datos de satélite pueden estar disponibles sólo intermitentemente o pueden estar degradados por interferencia intencional o no intencional . Por ejemplo, se pueden usar datos de sensores inerciales (acelerómetros y giroscopios) para permitir que se mantengan soluciones de navegación completa (posición, velocidad y orientación) en presencia de salidas de datos de satélite durante periodos prolongados de tiempo. Los datos de navegación por radio se generan por receptores específicamente diseñados para recibir y procesar señales de radio transmitidas a partir de una pluralidad de terminales basadas en el espacio o basadas en la tierra. Los sensores de navegación generalmente, pero no necesariamente, se colocan en la misma plataforma de navegación. Dependiendo de la aplicación, el objetivo del sistema de navegación puede ser únicamente determinar la posición, la orientación y velocidad, o un conjunto mayor de parámetros que pueden incluir la orientación de la plataforma de navegación. Si se requiere, los datos de navegación por satélite se pueden usar para realizar calibración de errores de los demás sensores, reduciendo mediante esto los errores del sistema de navegación cuando los datos de satélite están temporalmente no disponibles o corrompidos por la interferencia. Los datos de radionavegación se procesan con el fin de determinar la distancia de la linea visual de la base de navegación a partir de cada transmisor en vista del receptor. Esto se lleva a cabo midiendo el tiempo de llegada de cada señal, y comparándola con el tiempo conocido de transmisión, usando una referencia de tiempo común. Los receptores de navegación por radio contemporáneos usados para este fin generalmente incluyen una antena para recibir las señales de radio, un extremo frontal para amplificar, convertir hacia abajo y filtrar en paso de banda las señales recibidas, y un convertidor de analógico en digital, y un procesador de señales. Es una práctica común en estos receptores generar señales en fase (I) y de banda de base de cuadratura (Q) , las cuales se procesan para remover el ruido y la interferencia. El ruido y la interferencia frecuentemente se reducen de manera significativa por medio de técnicas de extender el espectro en las cuales la señal transmitida se modula mediante un código pseudo aleatorio conocido. El receptor correlaciona la señal recibida con una réplica localmente generada del código y realiza el rastreo del código variando el retraso de tiempo estimado para mantener la correlación en o cerca de su valor pico. De esta manera, se obtiene un mejoramiento significativo en la proporción de señal a ruido. Si la proporción de señal a ruido de entrada es suficientemente alta, entonces es posible realizar el rastreo de fase de la portadora . El rastreo de la portadora exitoso produce precisiones de navegación que son mayores que las alcanzables usando solamente el rastreo del código. El Sistema de Posicionamiento Global (GPS) NAVSTAR, desarrollado por el Gobierno de los Estados Unidos, es un ejemplo de un sistema de navegación por radio contemporáneo. Una constelación de hasta 24 satélites, posicionados en órbitas conocidas con precisión, transmiten señales de variación pseudo aleatorias usadas por receptores especialmente diseñados para calcular la distancia de la linea visual desde el receptor del usuario a cualquier satélite en vista del receptor. Basándose en esta información, se puede obtener una solución de navegación . En los sistemas de navegación modernos basados en el Sistema de Posicionamiento Global, la interferencia puede tener efectos adversos en el rastreo de código y portadora del receptor del Sistema de Posicionamiento Global, dando como resultado un desempeño del sistema de navegación degradado. La interferencia puede ser intencional o no intencional. Ejemplos de interferencia no intencional incluyen: (1) señales fuera de banda a partir de transmisores cercanos con filtración inadecuada de radio frecuencia (rf) , (2) productos armónicos o de intermodulación de varios transmisores llevados por tierra o por aire, (3) productos de intermodulación activos o pasivos de señales u osciladores locales en la misma plataforma que el receptor del Sistema de Posicionamiento Global o' sobre plataformas cercanas, (4) interferencia pulsada a partir de señales de radar en bandas de frecuencias cercanas, (5) interferencia accidental de transmisores sin licencia. Los resultados de la interferencia son una reducción en la proporción de señal a ruido (SAR) en la entrada del receptor. La señal del Sistema de Posicionamiento Global transmitida se puede atenuar adicionalmente mediante árboles, edificios, etcétera, dando como resultado otra reducción de la proporción señal a ruido. Fuentes de interferencia intencional incluyen atascadores de banda angosta y de banda ancha específicamente diseñados para reducir la proporción señal a ruido en la entrada del receptor. Los actuales satélites del Sistema de Posicionamiento Global transmiten en dos frecuencias, Ll = 1575.42 MHZ y L2 = 1227.6 MHZ. Los satélites transmiten sus señales usando técnicas de extensión de espectro y empleando dos diferentes funciones de extensión: (1) un código de común/adquisición (C/A) de 1.023 HZ y sobre Ll solamente y (2) un código de precisión P (Y) de 10.23 MHZ tanto en Ll como en L2. La potencia de señal mínima para las señales del Sistema de Posicionamiento Global recibidas se especifica como sigue; para Ll, C/A = -160 dBW (decibeles con respecto a un Watt), P = -163 dBW; para L2 , P = -166 dBW. Un valor típico de potencia de ruido térmico equivalente a recibido es -131 dBW. De este modo, la recuperación de la señal del Sistema de Posicionamiento Global, aún sin interferencia, no se puede llevar a cabo sin técnicas de diseño especial tales como el espectro extendido. Como se describió anteriormente, la señal del Sistema de Posicionamiento Global se transmite usando técnicas de espectro de extensión estándar en las cuales la señal de ancho de banda se extiende a un ancho de banda mucho mayor usando un código pseudo aleatorio. Correlacionando la señal recibida con una réplica conocida del código pseudo aleatorio y luego filtrando el paso de banda el resultado sobre el ancho de banda de señal angosta, los efectos de la interferencia se reducen significativamente. La ganancia en la proporción de señal a ruido debido al procesamiento del espectro extendido es del orden de 53 dB para el código P (Y) y de 43 dB para el código C/A en el ancho de banda de 50 Hz.
Las salidas de otras fuentes de navegación, (por ejemplo salidas del sistema de navegación inercial (INS) , radares, altímetros, etcétera...) frecuentemente se combinan con salidas del sistema de navegación Del Sistema de Posicionamiento Global para proporcionar soluciones de navegación que se mejoran sobre las resultantes de sistemas que emplean ya sea cualquiera de éstas usadas independientemente. Estas salidas ayudan a mantener una solución de navegación precisa durante intervalos de tiempo limitados durante periodos de producción del Sistema de Posicionamiento Global . El sistema de navegación inercial también se usa para ayudar al receptor del Sistema de Posicionamiento Global en presencia de aceleraciones de plataforma grandes, permitiendo anchos de banda de filtro de rastreo angosto. Las arquitecturas de sistema de navegación basados en el Sistema de Posicionamiento Global actuales se pueden categorizar generalmente como "acopladas de manera holgada" o "acopladas de manera estrecha" . Un sistema acoplado de manera holgada, por ejemplo, puede combinar la solución de navegación generada por un receptor del Sistema de Posicionamiento Global (posición, velocidad, tiempo) con la solución de navegación proporcionada por un sistema de navegación de sistema de navegación inercial (posición, velocidad, orientación) usando un esquema ponderado basado generalmente en un filtro de Kalman. Un mínimo de cuatro satélites se requiere para obtener la solución de navegación del Sistema de Posicionamiento Global. Un sistema acoplado estrechamente calcula un pseudo-rango y, un delta-rango mediciones (integral de la velocidad de Doppler) obtenida por un receptor del Sistema de Posicionamiento Global, y por ejemplo, las combina con la solución de navegación del sistema de navegación inercial. Un sistema de acoplamiento estrecho ofrece la ventaja de obtener una solución de navegación con menos de cuatro satélites a la vista . La vulnerabilidad de los receptores del Sistema de
Posicionamiento Global actuales a la interferencia ha dado como resultado varios diseños para la supresión de la interferencia que generalmente incluyen el uso de antenas de parche y/o procesadores de señales especializados colocados enfrente de la entrada del receptor. Otro enfoque utiliza señales auxiliares a partir de sensores inerciales y/o de otros para permitir el rastreo de portadora/código a anchos de banda más angostos en regímenes muy dinámicos tales como aeronaves. Estos métodos se pueden considerar como adecuados, ya que sólo intentan modificar los sistemas actuales en los puntos fácilmente accesibles dentro del sistema. Como resultado, los sistemas actuales están lejos de lo óptimo en términos de rechazo a la interferencia y precisión de la navegación. Hay una necesidad de un diseño completamente integrado que logre un desempeño casi óptimo.
Sumario de la invención La presente invención se dirige a un aparato y método para obtener soluciones de navegación basadas en el Sistema de Posicionamiento Global confiables y precisas (estimaciones óptimas de la posición actual, tiempo y/u otros parámetros tales como la velocidad y la orientación, según sea apropiado el problema presente) en ambientes de alta interferencia y dinámicos, con un nivel de desempeño que hasta ahora no se ha obtenido . La filosofía del enfoque tomado en la presente invención difiere de las técnicas anteriores; como resultado, la arquitectura del sistema de navegación y los procesos empleados producen mejoramientos significativos en el desempeño del sistema de navegación, tanto en el rastreo de código y de adquisición, como en el rastreo de portadora y de adquisición. Sus mejoramientos son particularmente significativos a proporciones bajas de señal/ruido, en donde los enfoques convencionales son especialmente susceptibles a la pérdida del seguro del código o del seguro de la portadora. La presente invención enfoca el problema como un problema de navegación, en donde la meta global es calcular una estimación óptima, o "mejor", de los componentes de un vector de estado de navegación específico, dado un estimado, inicial del vector de estado y la historia pasada de las mediciones. Las mediciones que se van a usar se denominan en la presente como mediciones "crudas" , que consisten en datos de un mínimo en fase (I) y cuadratura (Q) obtenidas de uno o más correlacionadores que operan sobre señales del Sistema de Posicionamiento Global recibidas. Sensores de navegación adicionales se pueden usar, dependiendo de la aplicación presente, para aumentar el desempeño del sistema de navegación. Estos sensores incluyen, pero no se limitan a, sensores inerciales (giroscopios y acelerómetros) , altímetros, radares y dispositivos electro-ópticos. Usando las mediciones "crudas" de todos los sensores, se evita la pérdida potencial de información debida a las operaciones de preprocesamiento . En una modalidad preferida, el "mejor" estimado es el estimado de varianza mínima, el cual es la media condicional del vector de estado, condicionado en la historia de mediciones pasada. El estimado del vector de estado se actualiza basándose en el uso de ecuaciones diferenciales estocásticas no lineales para la propagación de los primeros dos momentos condicionales del vector de estado, dada la historia de mediciones pasada. La determinación del primer momento condicional denominado de otro modo como la media condicional, requiere el conocimiento del segundo momento condicional, el cual se representa por la matriz de covarianza de error de estimación. Los estimados de la matriz de covarianza media y de error condicional se calculan de manera recursiva en tiempo real en el filtro de navegación descrito en la presente. La técnica de la presente invención no depende de ninguna manera en nociones a priori de filtros de rastreo, ciclos cerrados de fase, ciclos cerrados de retraso, y similares, los cuales se usan comúnmente. En vez de eso, la arquitectura del sistema de navegación y los procesos fluyen naturalmente de la descripción del problema y de la caracterización de las mediciones a partir del Sistema de Posicionamiento Global y de otros sensores. Esto conduce a una arquitectura que es amigable a una integración única de procesador, eliminando las arquitecturas modulares (y subóptimas) de los actuales diseños. Los procesos del filtro de navegación resultantes se alejan significativamente de los algoritmos de filtro de Kalman tradicional y Kalman extendido generalmente usados para la navegación basada en el Sistema de Posicionamiento Global. Las diferencias surgen principalmente del hecho de que las funciones de medición son no lineales. Mientras los diseños previos se basan en técnicas de linealización, la presente invención toma en cuenta por completo las no linealidades de mediciones. Como resultado, la matriz de covarianza de error es conducida por las mediciones y la matriz de ganancia de vector de estado es una función no lineal de la matriz de covarianza de error estimada. Un banco de correlacionadores y una arquitectura de procesamiento basada en técnicas de estimación no lineales se emplean para mantener el rastreo de código a través de ambientes extremadamente atascados. El número de correlacionadores se extienden opcionalmente , para permitir la readquisición de ciclo de código óptimo después de la producción de señal del Sistema de Posicionamiento Global, eliminando la necesidad de readquisición tardada que se emplea por las técnicas de búsqueda directa convencionales. Las producciones de cada correlacionador en el banco de correlacionadores preferiblemente se ponderan para proporcionar una solución de navegación completamente optimizada. La presente invención extiende el rango del error de retraso más allá del rango lineal a través del uso de correlacionadores múltiples. El número de correlacionadores es arbitrario. La necesidad de lógica de modo, que depende de la proporción estimada de portadora/ruido (C/N0) se elimina. Los receptores de corriente emplean filtros de ganancia fijos, dependiendo del modo de operación. La presente invención, sin embargo, permite la operación sin unión a cualquier proporción C/N„, y por lo tanto, no se requiere lógica que conmute el modo . En una primera modalidad, la presente invención se dirige a un sistema para determinar un estado de navegación multidimensional para una plataforma de navegación basada en datos de navegación de radio transmitidos por terminales externas. Un receptor de datos de navegación por radio recibe y amplifica los datos de navegación por radio, los cuales llegan inmersos en ruido. Un banco de rango extendido de correlacionadores extrae los datos de navegación de radio del ruido en un rango extendido de error de retraso. Los correlacionadores procesan los datos de navegación por radio y el ruido para generar funciones de salida que indican el grado de correlación para cada correlacionador en el rango de rango extendido entre los datos de navegación por radio y la señal de réplica conocida generada internamente. Un estimador estima la potencia de la señal de datos de navegación por radio y la potencia de ruido a partir de las funciones de salida de correlacionador. Una unidad de actualización de medición actualiza la estimación del estado de navegación basada en la señal de datos de navegación por radio estimada y las estimaciones de la potencia de ruido y la salida del correlacionador . En una segunda modalidad, la presente invención se dirige a un sistema para determinar un estado de navegación multidimensional para una plataforma de navegación basada en datos de navegación de radio transmitidos por terminales externas y basados en datos inerciales indicadores del comportamiento inercial de la plataforma. Un receptor de datos de navegación por radio recibe y amplifica los datos de navegación por radio, que llegan inmersos en ruido. Un banco de rango extendido de correlacionadores extrae los datos de navegación de radio del ruido sobre un rango extendido de error de retraso. Los correlacionadores procesan los datos de navegación por ruido y el ruido para generar funciones de salida del correlacionador indicadoras del grado de correlación de cada correlacionador en el banco de rango extendido entre los datos de navegación de radio y la señal de réplica conocida generada internamente. Un estimador estima la potencia de la señal de datos de navegación del radio y la potencia del ruido a partir de las funciones de salida del correlacionador. Una unidad de sensor inercial genera datos inerciales indicadores del comportamiento inercial de la plataforma. Una unidad de actualización de medición actualiza el estado de navegación basándose en la potencia de señal de datos de navegación por radio estimadas y la potencia de ruido, las salidas del correlacionador, y los datos inerciales. Los datos de navegación por radio preferiblemente comprenden datos del Sistema de Posicionamiento Global (GPS) , y el receptor de datos de navegación por radio comprende un receptor del sistema de posicionamiento global. El sistema preferiblemente además incluye un propagador para aplicar datos inerciales captados a un modelo dinámico basado en un estado de navegación recientemente actualizado para generar datos inerciales actualizados, los cuales a su vez se proporcionan a la unidad de actualización de mediciones. El estado de navegación multidimensional puede incluir, por ejemplo, información relacionada con la posición de la plataforma, la velocidad, y orientación, los errores de reloj de receptor, los errores de sensor inercial, los retrasos de propagación, y los errores de satélite. En una modalidad preferida, la unidad de actualización de mediciones actualiza el estado de navegación calculando los momentos condicionales del estado de navegación basados en la potencia de la señal de datos de navegación de radio estimadas y la potencia de ruido, las salidas del correlacionador, y los datos inerciales. Los momentos condicionales pueden comprender un primer momento condicional que comprende una media condicional, y un segundo momento condicional que comprende una matriz de covarianza de error condicional . Los momentos condicionales preferiblemente se calculan para incluir no linealidades de la medición . El estimador preferiblemente comprende un estimador de la potencia de la señal para determinar la potencia de la señal de datos de navegación por radio basada en un momento condicional no lineal del estado de navegación, y un estimador de potencia de ruido para estimar la potencia de ruido basada en un momento condicional no lineal del estado de navegación, y la estimación de la potencia de la señal. En un tercer aspecto, la presente invención se dirige a un sistema para determinar un estado de navegación multidimensional para una plataforma de navegación basada en datos de navegación por radio transmitidos por terminales externas. Un receptor de datos de navegación por radio recibe y amplifica los datos de navegación por radio, los cuales están inmersos en ruido. Un banco de correlacionadores extrae los datos de navegación por radio a partir del ruido durante un rango de error de retraso. Los correlacionadores procesan los datos de navegación por radio y el ruido para generar funciones de salida del correlacionador indicadoras del grado de correlación para cada correlacionador entre los datos de navegación por radio y una señal de réplica conocida generada internamente. Un estimador estima la potencia de la señal de datos de navegación por radio y la potencia de ruido a partir de las funciones de salida del correlacionador. La unidad de actualización de mediciones actualiza el estado de navegación basándose en los momentos condicionales del estado de navegación calculados como una función de la potencia de la señal de datos de navegación por radio estimada y la potencia del ruido, y las funciones de salida del correlacionador. En una modalidad preferida, el tercer aspecto de la presente invención además comprende una unidad de sensor inercial para generar datos inerciales indicadores del comportamiento inercial de la plataforma. En esta modalidad, los momentos condicionales del estado de navegación preferiblemente se calculan adicionalmente como función de los datos inerciales. Los momentos condicionales preferiblemente comprenden un primer momento condicional que comprende una media condicional, y un segundo momento condicional que comprende una matriz de covarianza de error condicional. Los momentos condicionales preferiblemente se calculan para incluir las no linealidades de mediciones. El banco de correlacionadores preferiblemente comprende un banco de rango extendido de correlacionadores para extraer los datos de navegación de radio del ruido sobre un rango extendido de error de retraso. En un cuarto aspecto, la presente invención se dirige a un estimador para la señal estimada y la potencia de ruido en un sistema para determinar un estado de navegación mul idimensional para una plataforma de navegación basada en los datos de navegación por radio inmersos en el ruido. La señal de datos de navegación por radio se reciben por un receptor de datos de navegación por radio que incluye un banco de correlacionadores para extraer los datos de navegación por radio del ruido durante un rango de error de retraso. Los correlacionadores procesan los datos de navegación de radio y el ruido para generar funciones de salida de correlacionador indicadoras del grado de correlación para cada correlacionador entre los datos de navegación por radio y una señal de réplica conocida generada internamente. El estimador incluye un estimador de potencia de señal para determinar la potencia de la señal de datos de navegación por radio basadas en un momento condicional del estado de navegación, un estimador de potencia de ruido para estimar la potencia de ruido basada en un momento condicional del estado de navegación, y la estimación de la potencia de señal . En una modalidad preferida del cuarto aspecto de la presente invención, el estimador además incluye un estimador sesgado para determinar una estimación sesgada de cada correlacionador en el banco. En este arreglo, la estimación de la potencia de la señal y la estimación de la potencia del ruido se basan además en la estimación del sesgo. El estimador de sesgo preferiblemente comprende una función alisadora para actualizar la estimación de sesgo de cada correlacionador de acuerdo con una constante de tiempo de alisamiento; y una función mínima para determinar la estimación de sesgo como el valor mínimo de las estimaciones de sesgo alisadas. El momento condicional preferiblemente comprende un primer momento condicional que comprende una media condicional, calculada por medio de un filtro no lineal. La estimación de potencia de ruido resultante preferiblemente comprende un vector, de manera que se calcula una estimación de potencia de ruido independiente para cada correlacionador en el banco correlacionador. El banco de correlacionadores preferiblemente comprende un banco de rango extendido de correlacionadores para extraer los datos de navegación de radio a partir del ruido sobre un rango extendido de error de retraso. Una unidad de sensor inercial preferiblemente se incluye para generar datos inerciales indicadores del comportamiento inercial de la plataforma. El momento condicional del estado de navegación preferiblemente se calcula además como una función de los datos inerciales . En un quinto aspecto, la presente invención se dirige a una unidad de actualización de mediciones para actualizar el estado de navegación y las covarianzas de error del estado de navegación para una plataforma de navegación basada en datos de navegación de radio inmersos en ruido. La señal de datos de navegación de radio se recibe por un receptor de datos de navegación de radio que incluye un banco de correlacionadores para extraer los datos de navegación de radio a partir del ruido sobre un rango de error de retraso. Los correlacionadores procesan los datos de navegación del radio y el ruido para generar funciones de salida de correlacionador indicadoras del grado de correlación para cada correlacionador entre los datos de navegación de radio y la señal de réplica conocida generada internamente. Una unidad de actualización de estado actualiza el estado de navegación como una función de las funciones de salida de correlacionador ponderadas por funciones de ganancia de estado. Las funciones de ganancia de estado se basan en momentos condicionales de funciones no lineales del estado de navegación, y una propagación de datos inerciales de una covarianza de error previo del estado de navegación. Una unidad de actualización de matriz de covarianza de error actualiza la covarianza de error del estado de navegación basándose en momentos condicionales de funciones no lineales del estado de navegación, y además basado en estimaciones de la potencia de señal de datos de navegación de radio y potencia de ruido. En una modalidad preferida, los momentos condicionales comprenden expectativas estadísticas de funciones no lineales del error de posición de la línea visual para cada satélite en vista. De acuerdo con el quinto aspecto, el banco de correlacionadores preferiblemente comprende un banco de rango extendido de correlacionadores para extraer los datos de navegación de radio a partir del ruido sobre un rango extendido de error de retraso. La estimación de potencia de señal de datos de navegación de radio y la estimación de la potencia de ruido preferiblemente se calculan mediante un estimador que comprende un estimador de potencia de señales para determinar la potencia de señales de datos de navegación de radio basado en un momento condicional del estado de navegación; y un estimador de potencia de ruido para estimar la potencia de ruido basada en un momento condicional del estado de navegación, y la estimación de la potencia de señal. En un sexto aspecto, la presente invención se dirige a una unidad de actualización de medición para actualizar el estado de navegación y las covarianzas de error del estado de navegación para una plataforma de navegación basada en datos de navegación de radio llevadas a cabo en la señal portadora de datos de navegación de radio inmersas en ruido. La señal de datos de navegación de radio es recibida por un receptor de datos de navegación de radio que incluye un banco de correlacionadores para extraer los datos de navegación de radio a partir del ruido sobre un rango de error de retraso. Los correlacionadores procesan los datos de navegación de radio y el ruido para generar funciones de salida de correlacionadores indicadoras del grado de correlación para cada correlacionador entre los datos de navegación de radio y una señal de réplica conocida. El banco de correlacionadores incluye un correlacionador inmediato para procesar señales de datos de navegación de radio cerca del desplazamiento de código de datos de navegación de radio. La unidad de actualización de mediciones comprende una unidad de actualización de estado y una unidad de actualización de matriz de covarianza de error. La unidad de actualización de estado actualiza el estado de navegación como una función de la función de salida del correlacionador inmediato ponderado por funciones de ganancia de estado. Las funciones de ganancia de estado se basan en momentos condicionales de una función no lineal del error de la línea visual de los datos de navegación de radio, y una matriz de covarianza de error. La unidad de actualización de matriz de covarianza de error actualiza las covarianzas de error del estado de navegación basados en funciones de ganancia de estado . En una modalidad preferida del sexto aspecto de la presente invención, las funciones de ganancia de estado además se basan en estimaciones de la potencia de señal portadora de datos de navegación de radio y la potencia de ruido, una estimación de bit de datos, una propagación de datos inerciales de un estado de navegación previo, y una matriz de covarianza de error. La potencia de ruido preferiblemente se calcula basada en la potencia de ruido promedio y cuando menos dos funciones de salida de correlacionador no oportunas. La unidad de actualización de estado y la unidad de actualización de la matriz de covarianza de error preferiblemente operan linealmente para una relación relativamente grande de potencia de señal portadora de datos de navegación de radio contra potencia de ruido y operan no linealmente para una relación relativamente pequeña de potencia de señal portadora de datos de navegación de radio contra potencia de ruido. En un séptimo aspecto, la presente invención se dirige a una unidad de actualización de mediciones para actualizar el estado de navegación y las covarianzas de error del estado de navegación para una plataforma de navegación basada en datos de navegación de radio inmersas en ruido. La señal de datos de navegación de radio es recibida por el receptor de datos de navegación de radio que incluye un banco de correlacionadores para extraer los datos de navegación de radio del ruido sobre un rango de error de retraso. Los correlacionadores procesan los datos de navegación de radio y el ruido para generar funciones de salida de correlacionadores indicadoras del grado de correlación para cada correlacionador entre los datos de navegación de radio y una señal de réplica conocida. La unidad de actualización de mediciones comprende una unidad de actualización de estado, una unidad de actualización de matriz de covarianza de error, y una unidad de administración de integridad. La unidad de actualización de estado actualiza el estado de navegación como una función de las funciones de salida del correlacionador ponderadas por funciones de ganancia de estado. Las funciones de ganancia de estado se basan en momentos condicionales de una función no lineal del error de la línea visual de los datos de navegación de radio, una propagación de datos interna de un estado de navegación previo, y una matriz de covarianza de error. La unidad de actualización de matriz de covarianza de error actualiza las covarianzas de error del estado de navegación basados en momentos condicionales de una función no lineal del error de la línea visual. La unidad de administración de integridad mantiene la integridad del estado de navegación y la covarianza de error.
En una modalidad preferida del séptimo aspecto, las funciones de ganancia de estado y las covarianzas de error del estado de navegación se basan adicionalmente en estimaciones de la potencia de la señal de datos de navegación por radio y la potencia de ruido. Los momentos condicionales preferiblemente comprenden funciones no lineales de una covarianza de error de la línea visual, a su vez una función de la covarianza de error del estado de navegación, y la unidad de administración de integridad preferiblemente supervisa y limita los valores de la potencia de señal y ruido. La unidad de administración de integridad preferiblemente además limita la tasa de crecimiento de las covarianzas de error. Los datos inerciales preferiblemente son captados por sensores de datos inerciales y la tasa de crecimiento de las covarianzas de error se limitan a un límite superior basado en la precisión estimada de los sensores inerciales. La unidad de administración de integridad además puede supervisar y mantener la exactitud positiva de la matriz de covarianza de error, y puede además limitar el cambio estimado del estado de navegación. La invención se presta a una variedad de aplicaciones comerciales que dependen de la navegación del Sistema de Posicionamiento Global, incluyendo aeronaves, naves náuticas, personal, y automóviles.
Breve descripción de loa dibujos Los objetos anteriores y otros, características y ventajas de la invención serán aparentes de la descripción más particular de las modalidades preferidas de la invención, como se ilustra en los dibujos acompañantes en los cuales los caracteres de referencia iguales se refieren a las partes iguales en todas las diferentes vistas. Los dibujos no necesariamente están a escala, poniendo el énfasis en la ilustración de los principios de la invención. La Figura 1A es un diagrama en bloques esquemático de un sistema de navegación que emplea los rastreos de código y portadora del Sistema de Posicionamiento Global para proporcionar una solución de navegación, de acuerdo con la presente invención. La Figura IB es un diagrama en bloques del sistema de navegación de la Figura 1A además emplea datos INS durante la propagación y los datos de sensor alternativos durante la actualización de mediciones, de acuerdo con la presente invención. La Figura 2 es una gráfica de una función correlacionadora idealizada Rc(eT) como una función del error de retraso erl en unidades de chips, de acuerdo con la presente invención . La Figura 3 es una gráfica de funciones de correlacionador múltiple en el banco correlacionador de rango extendido, como una función del error de retraso eT, de acuerdo con la presente invención, usando una separación de 1/2 chip. La Figura 4 es una gráfica de datos de medición de correlacionador ejemplar z(j,k) generada por el banco de k correlacionadores , en cada periodo de muestra j, de acuerdo con la presente invención. La Figura 5 es un ejemplo de una pieza de cuatro segmentos de constante de aproximación para Rc2 , de acuerdo con la presente invención. La Figura 6 es un diagrama en bloques de la función de actualización de medición de procesamiento de códigos, de acuerdo con la presente invención. La Figura 7 es un diagrama en bloques de una función de actualización de medición de procesamiento de portadora, de acuerdo con la presente invención. La Figura 8 es un diagrama en bloques de la función de estimación de potencia de ruido y potencia de señal de procesamiento de código, de acuerdo con la presente invención. La Figura 9 es un diagrama de flujo del procesamiento de código de acuerdo con la presente invención. Descripción detallada de las modalidades preferidas I - Vista general El rastreo de código del Sistema de Posicionamiento Global emplea el conocimiento del tiempo de tránsito y la velocidad de la luz para determinar la posición relativa a lo largo de la línea visual de satélite al receptor para permitir precisiones de navegación en todo el mundo especificadas de aproximadamente 100 metros (95 por ciento de probabilidad) para código C/A civil y aproximadamente 20 metros para código de frecuencia dual P(Y) . Estas precisiones frecuentemente se exceden en la práctica, los errores de navegación se pueden reducir aproximadamente 1 metro si los transmisores del Sistema de Posicionamiento Global cercanos, tales como los pseudolitos, se emplean para eliminar los errores de propagación. El rastreo de portadora se mantiene en los sistemas modernos usando mediciones Doppler (velocidad) las cuales reflejan un cambio en la frecuencia portadora de señal recibida. Si el ambiente de interferencia es benigno, entonces el rastreo de la portadora se puede usar para alcanzar precisiones aún mayores de las logradas mediante el rastreo del código, del orden de 1 centímetro. Sin embargo, el umbral de rastreo de la portadora es de aproximadamente 15 dB por debajo del umbral del rastreo del código, haciendo que el rastreo de la portadora sea menos confiable que el rastreo del código. La Figura 1A es un diagrama en bloques esquemático de un sistema de navegación que emplea mediciones de correlacionador de fase adentro y cuadratura para generar una solución de navegación multidimensional , de acuerdo con la presente invención. La Figura IB es un diagrama en bloques del sistema de la Figura 1A, que además incorpora mediciones del arreglo de sensor inercial durante la propagación de datos y datos de sensor alternativos durante la actualización de mediciones, de acuerdo con la presente invención. La Figura 9 es un diagrama de flujo de los pasos de procesamiento para determinar la solución de navegación, y se hará referencia a ella a través de la descripción de las Figuras 1A y IB. Haciendo referencia a la Figura 1A, una señal de radiofrecuencia r(t) es recibida por la antena 20, y puede incluir señales del Sistema de Posicionamiento Global múltiples de satélites corrompidas por ruido e interferencia (véase el paso 200 de la Figura 9) . Las señales del Sistema de Posicionamiento Global pueden comprender señales centradas en Lj (1575.42 MHz) y L2 (1227.6 MHz) de frecuencias portadoras u otras frecuencias tales como Lm, lo cual se está considerando para aplicaciones futuras. El modelo para la señal recibida de interés r(t) a partir de un solo satélite en el tiempo t se puede representar como :
r( = j2S(t - r) C(/-r) D(t -r) cos(<V+ (0) +A') 0)
en donde S(t) representa la potencia de señal recibida; t representa el retraso de tiempo debido al rango de la línea visual y los efectos de la propagación atmosférica; C(t) representa un código pseudo aleatorio, por ejemplo códigos C/A o (P(Y) ; D(t) representa señales de "bits de datos" del Sistema de Posicionamiento Global típicamente transmitidos a una velocidad de 50 Hz (son posibles velocidades hasta de 2 kilobits/segundo) ; coc representa una frecuencia portadora; <p(t) representa el ángulo de fase, que incluye el efecto del desfasamiento Doppler; y J(t) representa el ruido y la interferencia de fondo térmico. La señal recibida r(t) se procesa mediante electrónicos de extremo frontal 22, que operan para remover la energía fuera de la banda de frecuencia de interés. El extremo frontal 22 además desmodula la señal a una frecuencia intermedia más baja a una velocidad que es más dócil al procesamiento. El extremo frontal puede incluir, por ejemplo, un filtro de paso de banda. La señal filtrada se procesa enseguida para generar componentes en fase I(t) y de cuadratura Q(t) de la señal recijbida r(t) . En un sistema estándar, estos componentes están 90° fuera de fase. Los componentes I(t), Q(t) se digitalizan enseguida y se convierten en forma discreta con el muestreador 24. Como un ejemplo, se puede emplear la técnica de "integrar y tumbar" para este propósito. Las señales componentes en fase y de cuadratura digitalizadas y muestreadas se generan a una velocidad de, por ejemplo, 10 MHz. Las señales muestreadas se procesan entonces para remover un desfasamiento Doppler estimado, usando señales de retroalimentación a partir del oscilador numéricamente controlado de procesamiento de portadora (NCO) 28. Las señales resultantes Js, Qs contienen error de fase y son generadas a una velocidad de, por ejemplo, 10 MHz. Las señales en fase y de cuadratura muestreadas en tiempo discreto Is, Qs son procesadas por un banco de correlacionadores 30, que operan para extraer información que pertenece a la transmisión de señal del Sistema de Posicionamiento Global inmerso en ruido e interferencia (véase el paso 202 de la Figura 9) . El banco 30 puede incluir un gran número de correlacionadores, por ejemplo, 100. Los correlacionadores son llevados sobre un intervalo predeterminado, por ejemplo 20 mseg, sincronizados con un intervalo de bits de datos de 50 Hz. Las salidas del k"ésimo correlacionador en el punto de tiempo i-é8imo son representados
??G ' 750 (i, *) = S tJlSÍ D(i) Rc (er (/) + *?) eos e ( ) + fi (/, *) (2a)
Q50 (/, ft) = S tfiSí D(i) Rc (eT ( ) + *?) sen eQ ( ) + ñ Q (/, k) (2b)
en donde J50(i,/c) y Q50(i,k) representan respec ivamente las señales de salida de correlacionador en fase y de cuadratura de 50 Hz de tiempo discreto; 5t = 0.02 segundos, correspondientes a 50 Hz; e, representa el error de retraso en unidades de "chips" ; ? representa el espacio entre correlacionadores en el banco correlacionador en unidades de chips, como se describió anteriormente con referencia a la Figura 3; k representa el número de correlacionador, que varía de - , ... , + ; e0 representa el error de fase de portadora; y Rc representa la función de correlación:
en donde p representa el número de muestras; C(iT) representa el código pseudoaleatorio recibido después del filtrado; Créplica(iT-x) representa el código pseudoaleatorio de réplica retrasado por x, generado dentro del receptor, y l/T es la velocidad de chip ( 1 0 . 2 3 MHz para el código P(Y) , 1 . 023 MHz para el código C/A. Para el código P(Y) , p = 2 04 , 6 0 0 . Los ruidos aditivos ñ1(j,k) y ñg(j,k) representan los efectos del ruido y la interferencia térmica. Una velocidad de datos de 5 0 Hz se usa aquí solamente para ilustración; la invención no se limita a una velocidad de bits de datos de 5 0 Hz . La Figura 2 es una gráfica de la función del correlacionador idealizada Rc(e,) como una función del error de retraso e, en unidades de "chips" . La longitud de un chip es de aproximadamente 3 0 metros para el código P (Y) y 3 0 0 metros para el código C/A. Si el código pseudoaleatorio de la señal de entrada I (i) , Q(i) se correlaciona perfectamente con la señal de réplica generada por el receptor, entonces er = 0 y la salida J C = 1. Si el error de retraso es mayor de + 1 chip o menos de - 1 chip, entonces la salida Rc es 0 . Entre los valores de cero y ± 1 chip de retraso, la función del correlacionador Rc idealmente se comporta linealmente como se muestra en la Figura 2 .
Correlación de rango extendido Los receptores convencionales típicamente emplean tres correlacionadores por canal (temprano, inmediato, atrasado) con una separación de medio chip. Una señal de error se genera diferenciando las salidas de los correlacionadores temprano y retrasado, generando una variable Oí(elos) , el cual es una función del error de posición de navegación a lo largo de la línea visual entre el receptor y el satélite actual elos. Si|eIOS|< 1/2 chip, entonces OÍ es idealmente una función lineal, proporcionando una señal útil para cerrar un ciclo de rastreo de código y para actualizar la solución de navegación. Si |¾os|> 1/2 chip, entonces OÍ es una función no lineal que causa el desempeño de que los receptores convencionales se degraden, ya que la linearidad se asume en estos sistemas. Si |<?l0S|> 3/2 chip entonces OÍ = 0. Con el fin de obtener mediciones útiles para errores de navegación grandes, la presente invención extiende el número de correlacionadores a más de tres, proporcionando mediante esto un "banco de correlacionadores de rango extendido" . El número de correlacionadores empleado en el banco de correlacionadores de rango extendido teóricamente no tiene límite; las salidas de cada correlacionador se procesan de una manera óptima y contribuyen a la solución de navegación de acuerdo con una función de ponderación dependiente de la señal de la corriente y de las estimaciones de potencia de ruido, y una dependencia no lineal fuerte en el error de posición de la línea visual rms estimadas calculadas para cada correlacionador particular. El cálculo de las funciones de ponderación óptima es centrar al objetivo de obtener estimaciones de varianza mínima del vector de estado y emplea teoría de estimación no lineal. Nótese que un banco de tres correlacionadores es igualmente aplicable a los principios de la presente invención. En la práctica, el rango del banco de correlacionador se selecciona para cubrir el error de navegación de posición esperada máximo durante el rastreo de código. Por ejemplo, asúmase un error de posición esperado máximo de 600 metros con rastreo de código C/A y además asuma una separación de 1/2 chip entre correlacionadores adyacentes. Ya que un chip C/A es equivalente a aproximadamente 300 metros, se necesita un total de 9 correlacionadores para manejar errores de posición de ± 600 metros. El error de posición esperado máximo depende de varios factores, incluyendo el intervalo de tiempo máximo que el seguro de códigos espera que se pierda debido a niveles de interferencia excesivamente altos, y la precisión del sensor inercial que proporciona la solución de navegación cuando el seguro de código se pierde. Con diseño apropiado, la .magnitud del error de posición de navegación no excederá el rango del banco de correlacionadores y el sistema de navegación no perderá el rastro, en el sentido de que los errores de navegación de posición rms estimadas rastrearán los errores actuales con precisión razonable. En estas condiciones, la readquisición del rastreo del código se logrará relativamente rápido cuando el nivel de interferencia caiga a un valor que permita la restauración del rastreo de código. Funciones de salida de correlacionador En un sistema de rastreo de código Del Sistema de
Posicionamiento Global no coherente, como se muestra en la
Figura 1A, el error de fase portadora eQ no es de interés. Por esta razón, las funciones de salida del correlacionador
I5Q(i,k), Qso (i,k) se aplican a una operación de detección de la ley de cuadrado 33 para eliminar tanto el error de fase de portadora e9 como el bit de datos D(i) , obviando de este modo la necesidad de un seguro de portadora. El detector de ley de cuadrado 33 opera para proporcionar una suma de cuadrados de las funciones de salida del correlacionador Iso{i,k) , de acuerdo con la relación:
en donde z(j,k) representa la medición de código para el k-ésimo correlacionador con el tiempo de muestra j'-ésimo. La salida z(j,k) es la suma de d término, por ejemplo si d = 5, entonces z(j,k) es una señal de 10 Hz . El parámetro d se usa para fijar la velocidad de entrada de datos de medición de código al procesador 44. Otros valores son posibles, dependiendo de la aplicación y de la velocidad de procesamiento. Por razones de claridad, en la descripción que sigue, el índice de tiempo "i" corresponderá a la velocidad de salida de las funciones de salida del correlacionador en fase y de cuadratura I50(i,k), Q50{i,k) , por ejemplo 50 Hz, y el índice de tiempo nj" corresponderá a la velocidad de procesamiento de código, por ejemplo 10 Hz . Haciendo referencia al paso 204 de la Figura 9, las mediciones z(j,k) se pueden escribir en forma:
z(J,k)=2d5t2 S(J)R (Í, (J) + kA)+n(J,k) (5)
en donde :
»U* -vU,k)+2Stj2S(fiRc (er U)+kAMj,k) (6)
es ruido aditivo, y dj v(j.k)= ? [ñ (U)+ñ ( ,*)] (7) i = d{j - \) + \ q y dj </,*)= ? D(0[fi¡ (/,*)coseTF( + fi (i,k)sm e ( )] (8) i = d(j - \) + l Si se asumne que ñidfk) y ñq(i,k) son procesos de ruido blanco gausiano de media cero independiente con varianza VCj^ para i = d +1 , ... , dj, entonces v(j,k) tiene media
2N(j)d y varianza 4iY2(j)<-í y w(j,k) y media cero y varianza 2N(j)d. Estas propiedades estadísticas se usan en una modalidad preferida de la presente invención para estimar la potencia del ruido, como se describe más adelante. Las Figuras 2 y 3 son gráficas de una función de correlacionador central único y de una pluralidad de funciones de correlacionador idealizados Rc en un banco de correlacionadores 30, respectivamente, como una función del error de retraso er en unidades de chips . El banco de correlacionadores de la Figura 3 se diseña para incluir una pluralidad de funciones correlacionadoras que se traslapan, cada una separada de los correlacionadores adyacentes por ? chips, el rango k correlacionadores se extiende entre -m, ... , +m. En cada periodo de muestra j, las mediciones de código z(j,k) se calculan, y se presentan al procesador 44. Los datos ejemplares para z(j,k) se grafican en la Figura 4. Como se muestra en la Figura 4, los puntos de datos se grafican como una función del número de correlacionador k. Estos datos se generan en cada periodo de muestra j para todos los k correlacionadores. Los datos de mediciones de código sucesivos se almacenan y se usan para calcular un nivel de desviación de ruido 50, como se describió anteriormente. La función de medición de correlacionador dada por la ecuación (5) es la cantidad clave usada para el rastreo de código, y es la entrada para el filtro de función de actualización de medición 40. El primer término surge debido a la señal, mientras que el segundo término surge debido al ruido. La cantidad de señal presente en el correlacionador k-ésimo depende del error de retraso er(j) y el retraso asociado con el correlacionador k-ésimo kA. El componente de señal de la medición se maximiza si el error de retraso es igual al retraso asumido para el correlacionador k-ésimo. De esta manera, una medición implícita del error de retraso es obtenida. Información importante se extrae del conjunto de mediciones sobre todos los correlacionadores basándose en estimaciones de la varianza de error de la línea visual y la potencia de señal potencia de ruido. Esto se lleva a cabo en el filtro de actualización de mediciones 40. II - Actualización de mediciones Estimación de varianza mínima La presente invención se basa en cálculos de la estimación de varianza mínima verdadera del vector de estado de navegación multidimensional x(t) , dado: (1) una estimación del vector de estado en el tiempo inicial t0, (2) una estimación de la matriz de covarianza de error en el error de estimación del vector de estado en el tiempo t0, y (3) la historia de mediciones desde un tiempo inicial t0 hasta el tiempo actual t.
El vector de estado x(t) se presume que satisface la ecuación diferencial estocástica continua: x(t) = f(x,0+9(0 (9) en donde f(x,t) es una función de vector conocida y q(t) es un ruido gausiano blanco de media de vector cero con matriz de densidad espectral de potencia conocida Q(t) . Las mediciones no lineales del estado x(t) están disponibles, de la forma: en donde h(x,t) es una función conocida de x(t) y t, y r (t) es un ruido gausiano blanco de media de vector cero con matriz de densidad espectral de potencia conocida R (t) . Las mediciones pueden estar disponibles continuamente o de manera intermitente . Sea p(x, t) que representa la densidad de probabilidad del x(t) condicionada en la historia de mediciones pasada y las condiciones iniciales, y sea xest(t) cualquier estimación para x(t) . Sea e(t) = xest(t) -x(t) representante del error de estimación en el tiempo t. Entonces la varianza generalizada
se minimiza para cualquier matriz de ponderación de exactitud positiva W(t) , mediante la estimación:
en donde x(t) es tanto la media condicional como la estimación de varianza mínima de x(t) . El objetivo es calcular x(t) en tiempo real o, en escenarios alternativos, durante el post procesamiento. Es preferible calcular la matriz de covarianza condicional:
/>(/)= ¡e(í)e(í P(x, dx , (13) x donde e(t) = x(/)-*(/), en tiempo real, con el fin de especificar adecuadamente la función de densidad de probabilidad convencional gausiana subyacente supuesta . La modalidad preferida de la presente invención calcula aproximaciones a las ecuaciones (12) y (13) en un procesador digital, ya sea en tiempo real o en escenario post procesamiento, mediante lo cual se logra, tan cercanamente como sea posible, el estimador de varianza mínima deseado. El estimador resultante representa un punto de partida significativo de los sistemas acoplados fuertemente actuales y permite el desempeño del sistema de navegación hasta ahora inobtenible a altos niveles de interferencia. Deberá señalarse que la arquitectura del sistema de la invención fluye directamente a partir de la aproximación de las ecuaciones (12) y (13) y no se basa en nociones anteriores con respecto a la existencia de ciclos de rastreo o de módulos de procesamiento distintos. Supervisión de procesamiento Volviendo a la Figura 1A, el procesador 44 recibe las mediciones de código z(j,k) a una velocidad de 10 Hz, por ejemplo, y mediciones del sensor inercial a partir del arreglo de sensor inercial 36 a una velocidad periódica, por ejemplo 100 Hz y, en respuesta, genera, en la función de actualización de medición 40, un vector de estado actualizado x(i), que representa, por ejemplo, una solución de navegación (véase el paso 210 de la Figura 9) . Como un ejemplo, el vector de estado x(i) puede incluir información con respecto a la posición y velocidad del receptor, los errores de reloj del receptor, los retrasos de propagación de atmósfera, errores de satélite, y similares. En una modalidad preferida, junto con el vector de estado x(i) , la función de actualización de medición 40 del procesador 44 genera y mantiene una matriz de covarianza de los errores de estimación P(i), el cual se requiere que estime la calidad de la solución de navegación. Los detalles de operación de la función de actualización de mediciones se describen en detalle más adelante. Las mediciones del código z(j,k) se proporcionan adicionalmente a un estimador 34 que sirve para estimar la fuerza relativa de la potencia de señal S(j,k) , la desviación de ruido b(j,k), y la potencia de ruido N(j,k) a partir de la misma (véase el paso 212 de la Figura 9) . La operación del estimador se describe en detalle más adelante. Las estimaciones se proporcionan a la función de actualización de medición 40, para mejorar la precisión del sistema. Propagación La propagación de la estimación de estado y de la matriz de covarianza de error entre mediciones depende de la sucesión de sensores. La Figura 1A corresponde al caso en donde solamente están disponibles datos del Sistema de Posicionamiento Global . La función de retraso 46 representa memoria para el almacenamiento temporal del vector de estado x (i) y la matriz de covarianza P(i) , y proporciona un vector de estado retrasado (i-l) , así como una matriz de covarianza de error retrasado P(i-l) a la función de propagación 38. La función de propagación 38 aplica el modelo dinámico al vector de estado retrasado, actualizado ('-!) , y a la matriz de covarianza de error P(i-l) para generar un vector de estado "propagado" x' (i) , y la matriz de covarianza de error propagado P_(i) (véase el paso 208 de la Figura 9) . La matriz de covarianza de error propagado P'(i) se requiere para calcular funciones de ponderación usadas en el proceso de actualización de mediciones. El vector de estado propagado x' (i) se calcula como una función del vector de estado actualizado x(i-l) usando el modelo dinámico f de acuerdo con la siguiente relación:
La Figura IB muestra el caso en donde se emplean sensores inerciales. Los datos de sensor inercial, proporcionados por el arreglo de sensores inerciales 36, incluyen mediciones inerciales recientes; por ejemplo, el cambio de vector en velocidad de la plataforma AV i) , así como el cambio de vector en ángulos de orientación ??(?). Estos datos generalmente se miden en el marco del cuerpo usando giroscopios y acelerómetros de strapdown; sin embargo, configuraciones alternativas también son aplicables. Los datos inerciales se aplican al vector de estado actualizado retrasado x(i-l) de acuerdo con la siguiente relación para proporcionar un vector de estado propagado x' (i) : *'() = ?(/-1)+/(?(?-1),??( ,???(0,/-1)?/ (14b)
en donde x'(i) representa el vector de estado propagado; x(i-1) representa el vector de estado actualizado retrasado; f representa el modelo dinámico, una aplicación de las leyes del movimiento y los modelos dinámicos de errores de sensor inerciales, errores de reloj, errores de satélite, y errores atmosféricos que comprenden todos los estados; AV(i) representa el cambio de vector en velocidad en el intervalo i] medido por el arreglo de sensor inercial 36; ??(1) representa el cambio de vector en ángulo de orientación medido por el arreglo de sensor inercial 36; y 5t representa el intervalo de tiempo entre las mediciones. De esta manera, una propagación del vector de estado al siguiente periodo de muestra de medición j se logra. Nótese que esta relación es una implementación de la ecuación (12) anterior. De manera similar, una propagación de la matriz de covarianza de error P(i-l) se genera de acuerdo con la siguiente relación:
en donde P' (i) representa la matriz de covarianza de error propagado, P(i-l) representa la matriz de error de covarianza de error actualizado retrasado, y F representa una matriz derivada de la función f :
para el caso general (solamente del Sistema de Posicionamiento Global) , y
para el caso de datos inerciales, y 1 representa la transpuesta de esa matriz. Nótese que la relación de la ecuación (15) es una implementación de la ecuación (13) anterior. Las ecuaciones (14) -(16) se cumplen si 5fc es suficientemente pequeña, lo cual usualmente se cumple en la práctica. Si 5t no es suficientemente pequeña, entonces 6t se puede dividir en subíntervalos más pequeños y la propagación se lleva a cabo secuencialmente sobre los subintervalos .. Pertenecientes a la relación anterior, las matrices de covarianza de error de estimación se definen como:
/>(/) =s [e(i)e (i)T ] (17) /»(,) =e [e'(i )T]
e(f) = x (/) - * (<) (18) e í) = *·(/)- x(0 en donde e(i) representa el vector de error de estimación de estado justo después de la actualización de mediciones, y e'(i) representa el vector de error de estimación de estado justo antes de la actualización de medición. Procesamiento de código - Actualización de medición del vector de estado Volviendo a las Figuras 1A y IB, y con adicional referencia en toda esta porción de la discusión del diagrama de bloques de la Figura 6, el vector de estado propagado x'(i) y la matriz de covarianza de error propagado P'(i) se aplican a la función de actualización de medición 40, que sirve para generar un vector de estado actualizado x(i) , y una matriz de covarianza de error actualizado P(i) , basado en el vector de estado propagado x'(i) , la matriz de covarianza de error propagado P ' (i) , valores estimados para la señal S y el ruido N de la función de estimador 34, y las mediciones de código z(j,k) . Junto con el vector de estado actualizado x(i) , y la matriz de covarianza de error actualizado P(i) , la función de actualización de medición además calcula el retraso estimado para el procesamiento de rastreo de código xk(j), y la fase estimada (pk(i), para el procesamiento de rastreo de portadora. La ecuación de actualización de medición de código para el vector de estado x(j) como se representa por la porción de cálculo de ganancia de estado 102, el multiplicador 104, y el sumador 106 de la Figura 6 se representa como:
*ü) = **(./) + G, U) Z U) (19)
en donde x ' (j) representa el vector de estado propagado, Gx(j) representa la ganancia de estado definida abajo en la ecuación (21), y Z(j) representa un vector de medición de código compensado para el sesgo estimado; Z(j) = Z(j) - b en donde b(j) es el sesgo estimado y donde 1 se expresa en la ecuación (50) más adelante, y donde
Nótese que la relación de la ecuación (19) es una implementación de la ecuación (12) anterior. La función de ganancia de estado Gx(j) , calculada en el bloque de cálculo de ganancia de estado 102 de la Figura 6, representa mediante la relación (21) en donde = 2S(j) t, S(j) es el valor estimado de S(j) como se expresa más adelante en la ecuación (51) , y en donde
(1) Y j) se representa por:
en donde S = 1, y en donde Nk(j) es la diagonal /c-ésima de la matriz de covarianza de ruido de medición/es imada:
en donde Mc (j) representa el vector
con s=l. (24)
cuyos elementos son el segundo de tres momentos correlacionadores Mc'sl (j) ; s = 0, 1, 2:
(25) a (£)=??-1+—- chips k = - m,...,+m. f n seg
en donde A: representa el índice correlacionador {-m...+m}; ? es el correlacionador separado en unidades de chips ; nse? es el número de segmentos de aproximación en la curva de correlación como se muestra en la Figura 5; Pios(j) representa la varianza del error de la línea visual en el punto de tiempo j'-ésimo: pios(j grU)J P'U)gT{j) (26) en donde gr es un vector determinado basándose en la definición de estado y la geometría de manera que *¡osU)=SrU)T CU) (27) se satisface, en donde e'(j) se definió anteriormente en la ecuación (18) . Por ejemplo si el vector de estado x(j) se representa por:
(28)
entonces en donde el vector unitario usat a partir de la plataforma de navegación hacia el satélite es:
y en donde sat es la posición de satélite, y r ' es la posición de la plataforma de navegación estimada, ambas en el marco coordenado de navegación. Volviendo a la ecuación (25) , pa representa la función de densidad gausiana:
1 a
y Ar es el área bajo el i-ésimo rectángulo de la Figura 5. El área de un rectángulo es aproximadamente igual al área bajo la curva sobre el límite del rectángulo. Se ha encontrado que diez rectángulos son suficientes cuando el error de la línea visual rms excede aproximadamente 0.1 chip para errores de línea visual más pequeños, deberá usarse una aproximación más fina. Usando la aproximación idealizada: ^W=l -| r | ; | r | = l (32) con t en unidades de chips, las áreas de segmento son:
en donde nseg es el número total de segmentos en la aproximación . Como una alternativa a la expresión de la ecuación (25) , los momentos de correlacionadores se pueden determinar de la siguiente manera. Este enfoque funciona bien para cualquier cantidad de error rms, pero los cálculos son más complejos. Para el k-ésimo correlacionador (k=-m, ... , m) , los momentos cero, primero y segundo MCik's> (j) ; s=0 , 1, 2 se puede representar po :
^ cy)-[(*A-i)» + /ef W]/W (*f )
HkA+\)ec (k,j) \ + (??+1)/^(?,7) ] (??-?)^ (*,,)] en donde
y en donde ea(.k,j)=exp -a2(k,j) ,(*,/ exp[-é2 (*,»], .(*,/ exp[-c2 <*,./)], (*?-1)
(??) b(k,j)=
y en donde erf es la función de error estándar:
comúnmente disponible en bibliotecas de software matemáticas. Volviendo a la función de ganancia de estado de la ecuación (21) , u(j) es un vector que representa:
en donde P'(j) es la matriz de covarianza de error propagado, gr(j) se definió anteriormente en la ecuación (27) , y Plos(j) se define anteriormente en la ecuación (26) . Procesamiento de código-Actualización de medición de la matriz de covarianza de error La ecuación de actualización de la matriz de covarianza de error se calcula mediante el bloque de cálculo de peso de covarianza 108, el bloque de cálculo de covarianza 110, y el sumador 112 de la Figura 6 representado por:
en donde los pesos de covarianza se calculan en el bloque 108 de la Figura 6 de acuerdo con la relación:
C,<J)= [^^)?-^??^?]t?(?-?ß()7'(,)G(?^)??/] (4¾
en donde :
en donde y,s> (j) ; s=0,l,2 se definió anteriormente en la ecuación (22); y en donde P'(i) es la matriz de covarianza de error propagado descrito anteriormente, At=dót, y Mc<sl (j) está dada por la ecuación (24) , anterior. Nótese que la relación de la ecuación (41) es una implementación de la ecuación (13) anterior. El parámetro para el retraso estimado para el procesamiento de rastreo de código xk(j), proporcionado por el código NCO 42, se genera en la función de actualización de medición de acuerdo con la relación:
en donde bclk es una estimación del sesgo de reloj , el cual es un componente del vector de estado x(i) . El parámetro de retraso estimado xk(j) se proporciona al procesamiento del código NCO en un intento de alinear el código de réplica con el código recibido. Procesamiento de código-Estimación de señal y ruido
Volviendo a las Figuras 1A y IB, y con referencia en todo esto a la siguiente discusión de la Figura 8, el estimador 34 es responsable para estimar el sesgo de ruido b(j,k), la potencia de señal S(j,k), y la potencia de ruido N(j,k), basándose en los datos de medición de código Z(j,k) . Con respecto a la estimación de sesgo de ruido b(j,k), se supone que el ruido en todos los correlacionadores es estadísticamente el mismo. Sin embargo, algunas de las mediciones de correlacionador incluyen potencia de señal además del ruido. La estimación de sesgo se puede calcular de acuerdo con los siguientes pasos. Primero, la estimación de sesgo en cada correlacionador se actualiza usando una ecuación de alisamiento en el bloque 114 de la Figura 8:
bk U)=abk(j-\)+Q-a)z(j,l) k=-m m
en donde :
-?
en donde b es la constante de tiempo de alisamiento, ejemplo 1 segundo. El sesgo está presente en todos correlacionadores , y es de signo positivo. La potencia de señal está presente solamente sobre algunos de los correlacionadores, también con un signo positivo. El sesgo se estima así en el bloque 116 como:
La potencia de señal se estima en la función 118 como sigue Se calcula la estimación de mínimos cuadrados:
en donde
y en donde
Esta estimación se alisa en la función 120 para filtrar el ruido, usando una ecuación de alisamiento :
(51)
en donde el parámetro de alisamiento se define anteriormente en la ecuación (46) . La estimación del vector de potencia de ruido:
calcula en el bloque 122 de acuerdo con la relación
Esta técnica sirve completamente para el hecho de que hay una cierta cantidad de señal en algunos de los correlacionadores y ninguna en otros, en otras palabras, el término Rc en la ecuación (6) se aproxima a cero para errores fuera del rango de los correlacionadores. Procesamiento de portadora-Actualización de medición del vector de estado y matriz de covarianza El rastreo de la portadora se realiza usando las señales de cuadratura Q50(i,k) de 50 Hz como se vieron anteriormente en la ecuación (2b) . El vector de estado preferiblemente se actualiza mediante el bloque de cálculo de ganancia 124, el multiplicador 126, y el sumador 128 de la Figura 7, usando las salidas solamente del correlacionador inmediato (k=0) . Solamente la salida del correlacionador inmediato se necesita para el procesamiento de la portadora debido a que, la longitud de onda pequeña de la señal de la portadora, solamente son lecturas discernibles de error pequeño; por ejemplo, la longitud de onda portadora Lx es de 19 centímetros, que está dentro de la longitud de chip de código de 300 metros, y los errores mayores que esto conducen a ambigüedades de la fase portadora. El vector de estado se actualiza usando: La matriz de ganancia Gy(i) se calcula en el bloque 124 y se representa por:
en donde ,H(i) es el vector de medición
/( -*/ 2¿(0 ½e 2 ga(fT (56) en donde D(i) es la estimación de bits de datos (véase Ecuación (63) más adelante), y en donde:
y en donde fcarr es la frecuencia portadora, fco<¡e es Ia velocidad de chips de código pseudoaleatorio, _7r(i) se da anteriormente por la Ecuación (27) ; y
(58) <V<)2 en donde s? ? (i)2 es la varianza de error de fase estimada a lo largo de la línea visual:
De lo anterior, se puede determinar que conforme la estimación del filtro de error de fase RMS a lo largo de la línea visual se vuelve más pequeño, por ejemplo del orden de 0.1 radianes, el parámetro exp (?? 1 (i) 2) ¡2 de la Ecuación (56) se vuelve uno, como lo hace el parámetro p(i) de la Ecuación (58) . Por lo tanto se sigue, que conforme el límite de la señal SNR aumenta y el error de fase RMS disminuye, la operación de estas funciones se aproximan a la operación del filtro de Kalman, muy adecuado para la operación en el régimen de SNR alto. Sin embargo, un filtro caracterizado por las ecuaciones anteriores también demostraría una disminución ventajosa en la ganancia de medición conforme aumenta el error de fase RMS . Esto da como resultado una mitigación ventajosa correspondiente del problema de la ambigüedad de fase presente en los receptores tradicionales. Las mediciones caracterizadas por las Ecuaciones (2a) y (2b) anteriores dependen del cos(eg) y sen(é¾) , y por lo tanto no contienen información relevante al fenómeno no lineal del "deslizamiento del ciclo" . Esta ambigüedad presenta un problema serio en receptores contemporáneos . Una manera de mitigar este problema es comparar resoluciones de múltiples satélites, y usar consideraciones geométricas de esferas que se intersectan, una estimación del grado de deslizamiento del ciclo se puede determinar. Sin embargo esta técnica es complicada y tardada, y por lo tanto cara . La presente invención ataca este problema incorporando un filtro el cual se aproxima al comportamiento de un filtro de Kalman lineal y el SNR se vuelve grande, pero opera como un filtro no lineal de valores bajos de SNR, permitiendo una caracterización no lineal del problema de deslizamiento de ciclo no lineal. De esta manera, la presente invención toma en cuenta, estadísticamente, el problema de deslizamiento de ciclo. La estimación de matriz de covarianza se actualiza en el bloque 130 de la Figura 7 usando la relación: P(i)=[l-Gy (/)//(/)]/>·(/). (60) en donde Gy(i) y H(i) se mostraron anteriormente en las Ecuaciones (55) y (56), respectivamente. Procesamiento de portadora-Estimación de potencia de ruido La estimación de potencia de ruido de portadora Ncarr se calculó bajo el supuesto que el banco correlacionador es lo suficientemente amplio de manera que sólo el ruido aparece en los dos correlacionadores extremos. Con este supuesto, la estimación de varianza de ruido instantáneo es :
La estimación de ruido usada en el filtro se obtiene del alisamiento: Ncarr {í)=aNCarr (0+(l-< V{J) (62) Procesamiento de portadora-Estimación de bit de datos Los bits de datos D(i) comprenden una señal de 50 Hz usada para identificar la fuente de satélite y la efemeris de satélite. Usando la Ecuación (2a) , asumiendo que el error de fase ee(i) y el ruido son suficientemente pequeños, entonces en una modalidad preferida, se calcula el bit de datos como: £)(/)=í gn(/50 ( ,0)) (63)
Otras técnicas, más sofisticadas, conocidas para los expertos en la técnica también se pueden aplicar para determinar el bit de datos. Procesamiento de portadora-Determinación de fase estimada El parámetro para la fase estimada del procesamiento de rastreador de portadora (pk(i) , proporcionado por la portadora NCO 28, se genera por el procesador de escala 41 de acuerdo con la relación:
2*f ** 0 r c.arr A (i) radianes (64) code
en donde ik(j) se mostró anteriormente en la Ecuación (44) . El parámetro de fase estimada <$k(i) se proporciona a la portadora NCO 28 en un intento de alinear la fase estimada con la fase verdadera . III - Administración de integridad de filtro La existencia de interferencia no modelada, ya sea intencional o no intencional, en la señal del Sistema de Posicionamiento Global de potencia baja, puede causar degradación de desempeño durante la operación real. Además, los procesos del filtro son una aproximación en tiempo discreto a las ecuaciones de filtrado no lineales de tiempo continuo exactas; como consecuencia, los efectos de la cuantificación de tiempo se introducen los cuales pueden conducir a la no exactitud positiva de la matriz de covarianza estimada. Con el fin de preservar la integridad de las soluciones de navegación bajo una amplia variedad de escenarios operativos, incluyendo explosiones de ruido no modeladas, y bajo las restricciones del procesamiento de tiempo discreto, se prefieren varias modificaciones de los procesos vía una unidad de administración de integridad de filtro 47 (véanse las Figuras 1A y IB) en forma de un subproceso que supervisa y maneja varios aspectos de comportamiento de la unidad de actualización de mediciones 40. Respecto a la estimación de potencia de señal, el denominador de la Ecuación (48) cambia a 2At5t. En su forma original, el denominador se puede volver tan pequeño en- valores muy pequeños de la varianza de línea visual estimada Plos(j), dando como resultado pesos Gx(j) que son demasiado grandes en magnitud. Para preservar la integridad de la matriz de covarianza de error P, el parámetro Cp(j) , definido en la Ecuación (42) se usa para determinar la forma de corrección. Si Cp(j) > 0 entonces P(j) > P'(j) , y el efecto de la incorporación de la medición es hacer que la matriz de covarianza de error estimada sea más exacta positiva. A partir de argumentos físicos, se puede poner un límite superior en el aumento relativo en P que se conforme con la realidad. En vista de esto, la Ecuación de actualización de covarianza (15) cambia a P(J)=P'U)+fR U)«U)»U)T Cp(j) (65)
en donde
y el parámetro dPlimit se fija dependiendo de la aplicación; por ejemplo, un valor típico para dPlirait es 0.1. Si Cp(j)<0, entonces el efecto de la incorporación de medición es hacer que la matriz de covarianza de error estimada sea menos exacta positiva. En este caso, es necesario asegurar que P(j) siga siendo positiva semidefinida después de la actualización de mediciones. Esto se lleva a cabo fijando:
en donde
En el caso en donde la matriz de covarianza estimada se modifica a partir de su valor nominal, como se describió anteriormente, entonces la matriz de ganancia Gx(j) igualmente es modificada cambiando el proceso de la Ecuación (21) a: GxU)=-fR j)p U)u(j)r (1) U)T (70) Consideraciones físicas ponen un límite superior en la magnitud del cambio en la posición estimada la cual se conforma a la realidad durante la actualización de las mediciones. El cambio estimado en los tres componentes de posición de la estimación del vector de estado en la actualización de mediciones se calculan como sigue. A partir de la Ecuación (19) , el cambio en la posición estimada en una medición es:
en donde ir es el índice de la posición 3x1. El vector de posición actualizado se calcula así como: ?U)=r'U)+frV)dr(J) (72) en donde :
El parámetro dr2imit se fija de acuerdo con la aplicación; por ejemplo, un valor típico para drlimit puede ser 0.1 chips para procesamiento de código. Aunque esta invención se ha mostrado y descrito particularmente con referencia a las modalidades preferidas de la misma, se entenderá por los expertos en la técnica que varios cambios en la forma y en los detalles se pueden hacer en la misma sin apartarse del espíritu y alcance de la invención como se define por las reivindicaciones anexas. Por ejemplo, nótese que los cálculos anteriores se pueden realizar tanto en un vector o en una matriz. Los principios de la invención se aplican igualmente bien a ambos enfoques. Adicionalmente , la presente invención se puede implementar en cualquiera de varias configuraciones de hardware/software, por ejemplo en un microprocesador digital, procesadores de señales digitales especializados, arreglos de puerto programables , circuitos integrados específicos de aplicación a clientes (ASICs), u otros medios convenientes. Nótese que aunque para los propósitos de la discusión, se usan 50 Hz como una velocidad de procesamiento para el procesamiento de la portadora, y se usan 10 Hz para el procesamiento del código, otras velocidades son igualmente aplicables a la presente invención. Nótese además que aunque las frecuencias de transmisión L: y L2 se dan como ejemplos anteriormente, la presente invención es igualmente aplicable a frecuencias de transmisión futuras, por ejemplo Lm. Adicionalmente , aunque se usa una separación de 1/2 chip anteriormente en el ejemplo de la Figura 3, la invención además pertenece a una separación de correlacionadores arbitraria.