La Biblioteca de Integridad PNT proporciona a los usuarios un método para verificar la integridad de los datos GPS recibidos y las señales de rango, mejorando así la resistencia contra la posible pérdida de señal GPS. El software es un marco escalable para la detección de manipulación PNT basada en GNSS que ofrece niveles variables de protección basados en los datos disponibles. La biblioteca se proporcionará al receptor GNSS y los OEM del servidor de tiempo basado en GNSS para su uso en futuros desarrollo o integración en productos y plataformas existentes. Se pueden encontrar más detalles sobre la biblioteca de integridad PNT en PNT_integrity_library_guide.pdf y PNT Readme en componentes del sistema, algoritmos y verificaciones. Una herramienta relacionada es el kit de herramientas de bricolaje de integridad PNT, que describe cómo un usuario final de la biblioteca de integridad PNT puede ensamblar un kit de herramientas de demostración con hardware comercial (COTS).
Esta biblioteca tiene licencia bajo la licencia BSD 3 cláusula. La biblioteca contiene código fuente desarrollado por IS4S y terceros. Consulte los archivos de origen invidual para obtener información de derechos de autor aplicable.
Copyright (c) 2020 Integrated Solutions for Systems (IS4S), Inc
Copyright (c) 2017, ETHZ ASL (geodetic converter)
Copyright (c) 2009, Ben Hoyt (inih)
Redistribución y uso en formularios de origen y binarios, con o sin modificación, se permiten siempre que se cumplan las siguientes condiciones:
Este software es proporcionado por los titulares de derechos de autor y contribuyentes "tal como es", y cualquier garantía expresa o implícita, incluidas, entre otros, las garantías implícitas de comerciabilidad y idoneidad para un propósito particular se renuncian. En ningún caso, el titular o los contribuyentes de los derechos de autor serán responsables de los daños directos, indirectos, incidentales, especiales, ejemplares o consecuentes (incluidas, entre otros, la adquisición de bienes o servicios sustitutos; pérdida de uso, datos o ganancias; O interrupción comercial), sin embargo, causó y en cualquier teoría de responsabilidad, ya sea en contrato, responsabilidad estricta o agravio (incluida la negligencia o de otra manera) que surja del uso de este software, incluso si se le aconseja la posibilidad de dicho daño.
Este repositorio contiene el proyecto CMake de nivel superior para construir la biblioteca de integridad PNT IS4S, la interfaz de usuario y sus dependencias.
Requisitos del sistema
La biblioteca de integridad PNT está escrita de manera multiplataforma utilizando C ++. Si bien se espera que funcione en una amplia variedad de plataformas, se ha probado en los siguientes sistemas operativos:
Se necesitan las siguientes herramientas adicionales para construir la biblioteca:
Dependencias
La Biblioteca de Integridad PNT está diseñada para requerir la menor cantidad de dependencias de terceros como sea posible para admitir la construcción de una amplia variedad de plataformas. Se requieren dos dependencias además de las bibliotecas proporcionadas en el paquete. La biblioteca de plantilla C ++ Eigen (https://eigen.tuxfamily.org) C ++ para álgebra lineal es requerida por la biblioteca de integridad PNT Base. El paquete FFTW (http://fftw.org) se requiere opcionalmente y es necesario para usar la verificación de adquisición. Se requiere QT (https://www.qt.io) para construir y ejecutar la interfaz de usuario
Ambos paquetes se pueden instalar siguiendo instrucciones en sus respectivos sitios web. Eigen es un paquete solo de encabezado y se puede instalar descargando una versión del sitio web del proyecto y extrayendo a una carpeta local. Los binarios FFTW están disponibles para una gama de plataformas del sitio web del proyecto.
Alternativamente, se puede usar un administrador de paquetes para instalar las dependencias. Para MacOS, se recomienda el Administrador de paquetes Homebrew (https://brew.sh). Se recomienda el Administrador de paquetes de chocolate (https://chocolatey.org) para Windows. Las instrucciones sobre la instalación de las dependencias requeridas y opcionales utilizando los administradores de paquetes en los sistemas operativos compatibles se proporcionan en las siguientes secciones.
Ubuntu / Debian
Instale Eigen ejecutando:
sudo apt install libeigen3-dev
Opcionalmente instale FFTW ejecutando:
sudo apt install libfftw3-dev
Instale QT5 en Ubuntu ejecutando:
sudo apt install qtdeclarative5-dev qtwebengine5-dev libqt5charts5-dev
Macosa
Instale Eigen ejecutando:
brew install eigen
Opcionalmente instale FFTW ejecutando:
brew install fftw
Instale QT5 en MacOS ejecutando:
brew install qt
Si encuentra errores de compilación de CMake al encontrar QT, esto puede ayudar:
export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/[version]/
Windows
Instale Eigen ejecutando:
choco install eigen
Chocolatey no admite proporcionar binarios para FFTW. Se pueden descargar e instalar directamente desde el sitio web del proyecto: http://www.fftw.org/install/windows.html (http://www.fftw.org/install/windows.html) para obtener instrucciones sobre la instalación de Qt en Plataforma de Windows Haga clic aquí.
Edificio
Extraiga el archivo de lanzamiento:
unzip release.zip
Generar archivos de compilación usando cmake
cd release
mkdir build
cmake ../
De forma predeterminada, esto generará UNIX Makefiles para el paquete. Los archivos del proyecto se pueden generar para otros sistemas de compilación o IDE seleccionando un generador CMake alternativo (https://cmake.org/cmake/help/v3.15/manual/cmake-generators.7.html). Construya las bibliotecas ejecutando:
make
Las bibliotecas se pueden instalar opcionalmente en el sistema del usuario ejecutando:
make install