The GNSS receiver and simulator group is working on the institutes sophisticated analysis software MuSNAT.

MuSNAT stands for Multi Sensor Navigation Analysis Tool and complements conventional GNSS receiver functionality (acquisition, tracking, position computation) by

The MuSNAt software can be downloaded here: MuSNAT Core

(For getting a licence key message contact Georg Betz, LRT 9.2 /

The MuSNAT Analyzer for visualizing data can be dowloaded here: MuSNAT Analyzer

A test dataset showing the multi-GNSS multi-frequency capability can be downloaded here: AnalyzerDatabaseFile

A test dataset showing deep GNSS/INS integration (GPS L1 C/A plus XSens IMU) can be downloaded here: AnalyzerDatabaseFile

An example of a RINEX file can be found here: RINEX OBS file


For a more detailed installation guide and instructions on different configuration parameters and file formats, please refer to the MuSNAT User Manual available online at

The current version of the User Manual is prepared for standard (AllGnss) processing.


It is recommended to run MuSNAT with administrator rights as various log files are opened during the processing also in the folder of the executable. The default path (e.g., c:\Program File\MuSNATCore\) is monitored by Windows, which may cause problems if do not grant administrator rights. Alternatively, do install MuSNAT in a folder that is not controlled by Windows, e.g., at c:\MuSNAT.

The standard installer is MuSNATCoreInstaller.exe and does not use CUDA nor Qt. Nevertheless, for various linking compatibilities CUDA and Qt DLLs are included in this installer. They are not used by MuSNAT but loaded at startup.

The MuSNAT-Core version contained in the CUDA installer (available on request) does make use of CUDA to accelerate acquisition and tracking (both features are experimental).

MuSNAT is typically used for:

  • GNSS signal and channel analysis
  • Signal quality monitoring
  • GNSS receiver and navigation algorithm development
  • Integration with other navigation technologies such as INS or LiDAR (loose to ultra-tight coupling)
  • RTK and PPP.
  • Galileo signal authentication (OS-NMA/SCA)
  • Spoofing and jamming detection
  • Antenna array processing
  • New signals like B1C, L1C, …
  • Pseudolite signals


A GNSS software receiver is a complete GNSS receiver but performs all signal processing on generic computer instead of using a chip. A frontend is used to convert the analog GNSS signal into digital samples and thus to connect the computer to a GNSS antenna.



MuSNAT setup


MuSNAT is developed as a Visual Studio 2017 C++/C# project making use of various acceleration techniques like Intel IPP and CUDA. The receiver (=MuSNAT-Core) is configured with an XML-File and started with a simple GUI.




Screenshots of MuSNAT-Core


The MuSNAT-Core logs all GNSS related data including channel wise correlation or tracking loop data plus all sensor data into an SQL database. A dedicated graphical user interface (=MuSNAT-Analyzer) then allows to visualize all data in a time synchronous way to identify relationships between signal and senor data artefacts and positioning performance.



Screenshots of MuSNAT-Analyzer


MuSNAT supports all GNSS and all frequencies as well as inertial (gyro, accelerometer) and camera data. To read in IF samples, the standard developed by the Institute of Navigation is supported as described on The software was tested with a maximum sample rate of 200 MHz and 12 separate GNSS frequency bands but is in principle unlimited. The processing speed is high and on a today’s desktop several hundreds of channels can be processed in real-time.

With the help of MATLAB various processing results at signal processing, sensor data or PVT level can also be visualized. Very often acquisition and tracking log files give deeper insight into the GNSS signal processing.


MATLAB visualization of Galileo E1 CBOC acquisition



MATLAB visualization of a Galileo E1 CBOC multi-correlator during tracking


With the help of the source code integrated RTKLIB ( precise carrier phase positioning in RTK and PPP mode can be performed using the software receiver generated multi GNSS and multi frequency observations.


By reverting the data flow inside the receiver, MuSNAT is also able to generate a full constellation GNSS-Signal with variable signal power and navigation message, which can then be broadcast using a digital-to-analog converter. MuSNAT realizes thus the GNSS-transceiver concept.
MuSNAT provides various modes for combined processing of GNSS and inertial data, including loose, close and ultra-tight (or deep) coupling. GNSS input data can be provided either as IF sample stream or be reading in RINEX observation files directly. Inertial data is either read in real-time via USB for XSens IMUs, or read from an time-stamped ASCII file for post-processing.
MuSNAT is capable of processing GNSS and inertial data from Android smartphones captured with the GNSS/IMU-LoggerThe two images below show processing results of loosely coupled GPS/INS processing with data from a Samsung Note 8 smartphone captured while walking a street back- and forward.


MuSNAT-Analyzer visualization of smartphone GPS (C/A only)+IMU data and resulting trajectory in loose coupling (carrier phase not used)
MuSNAT GNSS/INS-filter states for loosely coupled smartphone data
The deeply coupled GNSS/INS mode of MuSNAT is realized via vector tracking. The GNSS/INS filter replaces the individual tracking loops and the resulting mutual aiding of all channels together with the IMU keeps channels permanently in lock even during signal outages as shown in the figure below.
Results from a deeply coupled GNSS/INS run (GPS C/A + MEMS IMU) showing prompt correlator values and Doppler discriminator during partial signal blockings
Spoofng detection is a field, which is investigated at the institute. The MuSNAT receiver can provide output parameters, which are useful to analyze spoofing attacks. Some of these are the C/N0, the power, The Code Minus Carrier and the Double-Peak detection in the acqusition (following plots, at 110 s the parameter jumps because of the spoofing attack start):
1.png 2.png
3.png 4.png

Today Real Time Kinematic (RTK) is the most precise and accurate GNSS positioning technique. When used in a sensor fusion, as in the MuSNAT loosely coupled RTK/INS mode, it allows to calibrate the IMU biases during operation very precisely and even during short signal outages the user trajectory may be recovered precisely and smoothly. MuSNAT uses the open source software suite “RTKLib” as RTK engine, and the RTK/INS filter is implemented within the RTKLib as product of a cooperation with the Tokyo University of Marine Science and Technology (TUMSAT).


RTK/INS trajectory of a land vehicle with velocities up to 100 km/h, GPS L1/L5 & Galileo E1/E5a, XSens Mti-G IMU

For the use of unknown GNSS signals for navigation purposes, MuSNAT can estimate unknown signals from high gain dish antennas or from an arbitrary number of normal antennas. In case of several antennas, the different antenna signals are synchronized within MuSNAT and do not need to be co-located. The main results are chip sequences for post-processing in single antenna receivers. The figure shows an example of estimated chips for GPS M-Code in an I/Q plot.