Die PNT -Integritätsbibliothek bietet Benutzern eine Methode zur Überprüfung der Integrität der empfangenen GPS -Daten und der Signale, wodurch die Widerstandsfähigkeit gegen den potenziellen GPS -Signalverlust verbessert wird. Die Software ist ein skalierbares Framework für die Erkennung von PNT-Manipulationen auf GNSS-basiertem PNT, das basierend auf den verfügbaren Daten unterschiedliche Schutzniveaus bietet. Die Bibliothek soll dem GNSS-Empfänger und dem GNSS-basierten Timing-Server-OEMs zur Verwendung in der zukünftigen Entwicklung oder Integration in vorhandene Produkte und Plattformen zur Verfügung gestellt werden. Weitere Details zur PNT -Integritätsbibliothek finden Sie unter der pnt_integrity_library_guide.pdf- und pnt ReadMe zu Systemkomponenten, Algorithmen und Überprüfungen. Ein verwandtes Tool ist das DIY-Toolkit in der PNT-Integrität, das beschreibt, wie ein perspektivischer Endbenutzer der PNT-Integritätsbibliothek ein Demonstrations-Toolkit mit COMSWARE (Commercial-off-the-the-the-telf-Hardware) zusammenstellen kann.
Diese Bibliothek ist unter der BSD 3-Clause-Lizenz lizenziert. Die Bibliothek enthält Quellcode, die von IS4S und Dritten entwickelt wurden. In den unauffälligen Quelldateien finden Sie die anwendbaren Copyright -Informationen.
Copyright (c) 2020 Integrated Solutions for Systems (IS4S), Inc
Copyright (c) 2017, ETHZ ASL (geodetic converter)
Copyright (c) 2009, Ben Hoyt (inih)
Umverteilung und Verwendung in Quellen- und Binärformen mit oder ohne Modifikation sind zulässig, sofern die folgenden Bedingungen erfüllt sind:
Diese Software wird von den Inhabern und Mitwirkenden des Urheberrechts "wie sie" bereitgestellt, und alle ausdrücklichen oder impliziten Garantien, einschließlich, aber nicht beschränkt auf die impliziten Garantien für Handelsfähigkeit und Eignung für einen bestimmten Zweck, werden abgelehnt. In keinem Fall haftet der Urheberrechtsinhaber oder die Mitwirkenden für direkte, indirekte, zufällige, besondere, beispielhafte oder Folgeschäden (einschließlich, aber nicht beschränkt auf die Beschaffung von Ersatzwaren oder -dienstleistungen; Verlust von Nutzung, Daten oder Gewinne; Oder geschäftliche Unterbrechung) wie auch immer und auf jegliche Haftungstheorie, sei es in Vertrag, strenge Haftung oder unerlaubte Handlung (einschließlich Fahrlässigkeit oder anderweitig), die in irgendeiner Weise aus der Verwendung dieser Software entstehen, auch wenn die Möglichkeit eines solchen Schadens empfohlen wird.
Dieses Repository enthält das CMake -Projekt der obersten Ebene zum Erstellen der IS4S -PNT -Integritätsbibliothek, der Benutzeroberfläche und deren Abhängigkeiten.
Systemanforderungen
Die PNT-Integritätsbibliothek ist plattformübergreifend unter Verwendung von C ++ geschrieben. Es wird erwartet, dass es auf einer Vielzahl von Plattformen arbeitet, aber auf folgenden Betriebssystemen getestet wurde:
Die folgenden zusätzlichen Tools sind erforderlich, um die Bibliothek zu erstellen:
Abhängigkeiten
Die PNT -Integritätsbibliothek ist so konzipiert, dass sie so wenige Abhängigkeiten von Drittanbietern wie möglich benötigen, um das Aufbau einer Vielzahl von Plattformen zu unterstützen. Zusätzlich zu den im Paket bereitgestellten Bibliotheken sind zwei Abhängigkeiten erforderlich. Das Eigen (https://eigen.tuxfamily.org) C ++ - Vorlagenbibliothek für lineare Algebra ist in der Basis -PNT -Integritätsbibliothek erforderlich. Das FFTW -Paket (http://fftw.org) ist optional erforderlich und wird für die Verwendung der Akquisitionsprüfung benötigt. QT (https://www.qt.io) ist erforderlich, um die Benutzeroberfläche zu erstellen und auszuführen
Beide Pakete können nach Anweisungen auf ihren jeweiligen Websites installiert werden. Eigen ist ein Nur-Header-Paket und kann durch das Herunterladen einer Version von der Projektwebsite und durch Extrahieren in einen lokalen Ordner installiert werden. FFTW -Binärdateien stehen für eine Reihe von Plattformen auf der Projektwebsite zur Verfügung.
Alternativ kann ein Paketmanager verwendet werden, um die Abhängigkeiten zu installieren. Für macOS wird der Homebrew -Paketmanager (https://brew.sh) empfohlen. Der Paketmanager von Schokolady (https://chocolatey.org) wird für Windows empfohlen. Anweisungen zur Installation der erforderlichen und optionalen Abhängigkeiten mithilfe von Paketmanagern in den unterstützten Betriebssystemen finden Sie in den folgenden Abschnitten.
Ubuntu / Debian
Installieren Sie Eigen durch Ausführen:
sudo apt install libeigen3-dev
Installieren Sie optional FFTW durch Ausführen:
sudo apt install libfftw3-dev
Installieren Sie QT5 auf Ubuntu durch Ausführen:
sudo apt install qtdeclarative5-dev qtwebengine5-dev libqt5charts5-dev
Macos
Installieren Sie Eigen durch Ausführen:
brew install eigen
Installieren Sie optional FFTW durch Ausführen:
brew install fftw
Installieren Sie QT5 auf macOS durch Ausführen:
brew install qt
Wenn Sie beim Finden von QT auf CMake -Build -Fehler stoßen, kann dies helfen:
export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/[version]/
Fenster
Installieren Sie Eigen durch Ausführen:
choco install eigen
Schokolady unterstützt keine Binärdateien für FFTW. Sie können direkt von der Projektwebsite heruntergeladen und installiert werden: http://www.fftw.org/install/windows.html (http://www.fftw.org/install/windows.html), um Anweisungen zur Installation von QT on zu installieren Windows -Plattform klicken Sie hier.
Gebäude
Extrahieren Sie das Release -Archiv:
unzip release.zip
Generieren Sie Build -Dateien mit CMAKE
cd release
mkdir build
cmake ../
Standardmäßig werden Unix -Makefiles für das Paket generiert. Projektdateien können für andere Build-Systeme oder -IDES generiert werden, indem ein alternativer CMake-Generator ausgewählt wird (https://cmake.org/cmake/help/v3.15/manual/cmake-generators.7.html). Erstellen Sie die Bibliotheken durch Ausführen:
make
Die Bibliotheken können optional durch Ausführen des Benutzersystems installiert werden:
make install