PNT Integrity Library

PNT Integrity Library

The PNT Integrity Library provides users a method to verify the integrity of the received GPS data and ranging signals, thereby improving resiliency against potential GPS signal loss. The software is a scalable framework for GNSS-based PNT manipulation detection that offers varying levels of protection based on the available data. The library is to be provided to GNSS receiver and GNSS-based timing server OEMs for use in future development or integration into existing products and platforms. More details on the PNT Integrity Library can be found under the PNT_Integrity_Library_Guide.pdf and PNT ReadMe on system components, algorithms, and checks. A related tool is the PNT Integrity DIY Toolkit, which describes how a perspective end-user of the PNT Integrity Library can assemble a demonstrational toolkit with commercial-off-the-shelf (COTS) hardware.

License

This library is licensed under the BSD 3-Clause License. The library contains source code developed by IS4S and third parties. Refer to the invidual source files for applicable copyright information.

Copyright (c) 2020 Integrated Solutions for Systems (IS4S), Inc
Copyright (c) 2017, ETHZ ASL (geodetic converter)
Copyright (c) 2009, Ben Hoyt (inih)

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of IS4S, Ben Hoyt, ETHZ ASL, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Build Instructions for the PNT Integrity Library

This repository contains the top level CMake project for building the IS4S PNT Integrity Library, User Interface, and their dependencies.

System Requirements

The PNT Integrity Library is written in a cross-platform manner using C++. While it is expected to work on a wide variety of platforms, it has been tested with on the following operating systems:

  • Ubuntu Linux 16.04, 18.04 & 20.04
  • MacOS 10.15
  • Windows 10

The following additional tools are needed to build the library:

  • CMake 3.5 or greater
  • C++14 compliant compiler (e.g. Clang 3.3+, GCC 4.7+, MSVC 2015+)

Dependencies

The PNT Integrity Library is designed to require as few third party dependencies as possible to support building on a wide variety of platforms. Two dependencies are required in addition to the libraries provided in the package. The Eigen (https://eigen.tuxfamily.org) C++ template library for linear algebra is required by the base PNT Integrity library. The FFTW (http://fftw.org) package is optionally required and is needed to use the acquisition check. QT (https://www.qt.io) is required to build and run the user interface

Both packages can be installed following instructions on their respective websites. Eigen is a header-only package and can be installed by downloading a release from the project web site and extracting to a local folder. FFTW binaries are available for a range of platforms from the project web site.

Alternatively, a package manager can be used to install the dependencies. For MacOS the Homebrew (https://brew.sh) package manager is recommended. The Chocolatey (https://chocolatey.org) package manager is recommended for Windows. Instructions on installing the required and optional dependencies using package managers on the supported
operating systems are provided in the following sections.

Ubuntu / Debian

Install Eigen by running:

sudo apt install libeigen3-dev

Optionally install FFTW by running:

sudo apt install libfftw3-dev

Install Qt5 on Ubuntu by running:

sudo apt install qtdeclarative5-dev qtwebengine5-dev libqt5charts5-dev

MacOS

Install Eigen by running:

brew install eigen

Optionally install FFTW by running:

brew install fftw

Install Qt5 on MacOS by running:

brew install qt

If you encounter CMake build errors when finding QT this may help:

export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/[version]/

Windows

Install Eigen by running:

choco install eigen

Chocolatey does not support provide binaries for FFTW. They can be downloaded and installed
directly from the project website: http://www.fftw.org/install/windows.html
(http://www.fftw.org/install/windows.html)
For instructions on installing Qt on Windows platform click here.

Building

Extract the release archive:

unzip release.zip

Generate build files using cmake

cd release
mkdir build
cmake ../

By default, this will generate Unix Makefiles for the package. Project files can be generated for
other build systems or IDEs by selecting an alternative CMake generator
(https://cmake.org/cmake/help/v3.15/manual/cmake-generators.7.html).
Build the libraries by running:

make

The libraries can be optionally installed to the user’s system by running:

make install
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值