La bibliothèque PNT Integrity fournit aux utilisateurs une méthode pour vérifier l'intégrité des données GPS reçues et des signaux allant, améliorant ainsi la résilience par rapport à la perte de signal GPS potentielle. Le logiciel est un cadre évolutif pour la détection de manipulation PNT basée sur GNSS qui offre différents niveaux de protection en fonction des données disponibles. La bibliothèque doit être fournie au récepteur GNSS et aux OEM de serveur de synchronisation GNSS pour une utilisation dans le développement ou l'intégration futur dans les produits et plateformes existants. Plus de détails sur la bibliothèque d'intégrité PNT peuvent être trouvés sous le PNT_INTEGRITY_LIBRARY_GUIDE.PDF et PNT Readme sur les composants, les algorithmes et les vérifications du système. Un outil connexe est la boîte à outils PNT Integrity DIY, qui décrit comment un utilisateur final en perspective de la bibliothèque d'intégrité PNT peut assembler une boîte à outils de démonstration avec du matériel commercial-off-the-stand (COTS).
Cette bibliothèque est sous licence en vertu de la licence BSD 3 clause. La bibliothèque contient le code source développé par IS4S et des tiers. Reportez-vous aux fichiers source inviduaux pour les informations sur le droit d'auteur applicables.
Copyright (c) 2020 Integrated Solutions for Systems (IS4S), Inc
Copyright (c) 2017, ETHZ ASL (geodetic converter)
Copyright (c) 2009, Ben Hoyt (inih)
La redistribution et l'utilisation dans les formulaires source et binaire, avec ou sans modification, sont autorisées à condition que les conditions suivantes soient remplies:
Ce logiciel est fourni par les détenteurs de droits d'auteur et les contributeurs "tels quels" et toutes les garanties expresses ou implicites, y compris, mais sans s'y limiter, les garanties implicites de qualité marchande et d'adéquation à un usage particulier sont déclinées. En aucun cas, le titulaire ou les contributeurs du droit d'auteur ne sera pas responsable des dommages directs, indirects, accessoires, spéciaux, exemplaires ou consécutifs (y compris, mais sans s'y limiter, l'achat de biens ou de services de substitution; perte d'utilisation, de données ou de bénéfices; Ou interruption d'entreprise) cependant causée et sur toute théorie de la responsabilité, que ce soit dans le contrat, la responsabilité stricte ou le délit (y compris la négligence ou autrement) surgissant de quelque manière que ce soit de l'utilisation de ce logiciel, même si elle est informée de la possibilité de tels dommages.
Ce référentiel contient le projet CMake de niveau supérieur pour la construction de la bibliothèque d'intégrité IS4S PNT, de l'interface utilisateur et de leurs dépendances.
Exigences du système
La bibliothèque PNT Integrity est écrite de manière multiplateforme en utilisant C ++. Bien qu'il fonctionne sur une grande variété de plates-formes, elle a été testée sur les systèmes d'exploitation suivants:
Les outils supplémentaires suivants sont nécessaires pour créer la bibliothèque:
Dépendances
La bibliothèque PNT Integrity est conçue pour nécessiter le moins de dépendances à des tiers que possible pour soutenir la construction sur une grande variété de plates-formes. Deux dépendances sont nécessaires en plus des bibliothèques fournies dans le package. La bibliothèque de modèles C ++ de la bibliothèque C ++ pour l'algèbre linéaire est requise par la Base PNT Integrity Library. Le package FFTW (http://fftw.org) est éventuel et est nécessaire pour utiliser la vérification d'acquisition. QT (https://www.qt.io) est nécessaire pour créer et exécuter l'interface utilisateur
Les deux packages peuvent être installés en suivant des instructions sur leurs sites Web respectifs. Eigen est un package d'en-tête uniquement et peut être installé en téléchargeant une version depuis le site Web du projet et en extraction dans un dossier local. Les binaires FFTW sont disponibles pour une gamme de plates-formes à partir du site Web du projet.
Alternativement, un gestionnaire de packages peut être utilisé pour installer les dépendances. Pour MacOS, le gestionnaire de package Homebrew (https://brew.sh) est recommandé. Le gestionnaire de package chocolaté (https://chocolatey.org) est recommandé pour Windows. Des instructions sur l'installation des dépendances requises et facultatives à l'aide des gestionnaires de packages sur les systèmes d'exploitation pris en charge sont fournies dans les sections suivantes.
Ubuntu / Debian
Installez Eigen en fonctionnant:
sudo apt install libeigen3-dev
Installez éventuellement FFTW en fonctionnant:
sudo apt install libfftw3-dev
Installez QT5 sur Ubuntu en fonctionnant:
sudo apt install qtdeclarative5-dev qtwebengine5-dev libqt5charts5-dev
Macos
Installez Eigen en fonctionnant:
brew install eigen
Installez éventuellement FFTW en fonctionnant:
brew install fftw
Installez QT5 sur macOS en fonctionnant:
brew install qt
Si vous rencontrez des erreurs de construction CMake lors de la recherche de QT, cela peut aider:
export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/[version]/
Fenêtre
Installez Eigen en fonctionnant:
choco install eigen
Chocolatey ne supporte pas de fournir des binaires pour FFTW. Ils peuvent être téléchargés et installés directement à partir du site Web du projet: http://www.fftw.org/install/windows.html (http://www.fftw.org/install/windows.html) pour les instructions sur l'installation de QT sur QT sur Platform Windows Cliquez ici.
Bâtiment
Extraire les archives de libération:
unzip release.zip
Générer des fichiers de construction à l'aide de CMake
cd release
mkdir build
cmake ../
Par défaut, cela générera UNIX MakeFiles pour le package. Les fichiers de projet peuvent être générés pour d'autres systèmes de construction ou IDE en sélectionnant un autre générateur CMake (https://cmake.org/cmake/help/v3.15/manual/cmake-generators.7.html). Construisez les bibliothèques en fonctionnant:
make
Les bibliothèques peuvent être installées éventuellement sur le système de l'utilisateur en exécutant:
make install