The Witch Navigator Project

The Witch Navigator is an open source project of a GNSS software receiver able to process signals of GPS, GLONASS, Galileo, COMPASS, WAAS, EGNOS, QZSS, and others. You can

  • build a GNSS lab from your notebook
  • process new GNSS signals from various GNSS systems
  • implement and verify advanced signal processing algorithms
  • interconnect receiver cards to get a multi-frequency, multi-constellation, multi-antenna receiver
  • connect external sensors
  • connect it with signal log-and-replay unit

all with

  • a low-cost ExpressCard receiver
  • PC or notebook with a Linux kernel
  • free editable supporting source code.

See a presentation about the Witch Navigator or read a journal article.

Project Objectives

The aim of this project is to develop a GNSS software receiver capable to process most of the present and future GNSS signals. The main design requirements include

  • high performance
  • low cost
  • free of charge development tools
  • dual frequency, dual antenna connector (per ExpressCard)
  • interconnection of several cards to get a multi-frequency, multi-system, multi-antenna receiver
  • connection with external sensors
  • connector for external frequency standard
  • processing of most of the GNSS signals
  • free software support for signal processing algorithms such as acquisition, tracking, positioning for most of the GNSS signals
  • user friendly programming.


The Witch Navigator is intended to be employed in the following applications:

  • education
  • research of the new GNSS signals and signal processing algorithms
  • science
  • small scale applications.

Future Plans

The team is expected to constantly develop new versions of the Witch Navigator. The focus will be placed on

  1. extension of the number of correlators (larger FPGA)
  2. interconnection of several receivers to the large multi-frequency and multi-antenna system
  3. adding a signal log-and-replay unit (reconfigurable quadrature modulator and DAC) for generation of the GNSS signals
  4. patches for the signal processing algorithms, including acquisition, tracking, data decoding, and positioning for new GNSS signals and systems
  5. patches for increasing program stability, and patches for removing bugs
  6. GPU signal acquisition, tracking and signal processing library

While releasing new versions of the Witch Navigator, the programming interface is allowed to undergo only minor changes in order to support cross-version compatibility.


Cooperation on this project is widely welcomed. The Witch Navigator project is an open source project and anybody can contribute. The comments, ideas and files can be shared via user forum. However, the most enthusiastic users may contact the project manager and become an active member regardless of the place they live at. Czech Technical University students have a chance to enroll in various projects concerning the Witch Navigator.


The license of the Witch Navigator software is the General Public License version 2 (GNU 2). This enables the users to freely download, modify and distribute the uploaded files.


The first prototypes of the Witch Navigator receiver boards were manufactured by MESIT přístroje (Uherské Hradiště, Czech republic). Nowadays, the boards are produced by Developement and Implementation Laboratories (LVR) at the Faculty of Electrical Engineering, the Czech Technical University in Prague.

Receiver Capabilities

HW Version Capabilities State Notes
3.0 Interconnection of ExpressCards Under construction Maximum of 8 cards to be connected
2.0 Upgrade to QPSK Universal Correlators Tested 2 * max. 10230 samples in a channel
Clock synthesis stability increased
1.1 Metal shield added Released
Connector for external sensor added
Connector for interconnection of cards added
1.0 2 RF-tunable L-band channels max. 20 MHz bandwidth Released Direct conversion
2 8-bit dual ADCs Each 8-bit I,Q outputs
24 E/L complex BPSK Universal Correlators Any code max. 10230 samples
Signal capture unit 2 20-MBps samples to PC
PCI Express controler DMA to PC, memory write to FPGA
I2C controler Between FPGA and RF tuners
20 MHz stable quartz oscillator Max. 1 ppm

Other Open Source GNSS Projects

There are few other open source GNSS projects. These include ASIC and FPGA-based correlators, (pure) software defined radio receivers, GNSS processing and simulation software, and open hardware projects. There is a link to a portal. We gather some of the useful projects into the following table.

Project Name and Link Description
The Essential GNSS Project GNSS project in C++
RTKLIB RTK-oriented software in C
GNSS SDR Global Navigation Satellite System Software Defined Receiver - Centre Tecnològic de Telecomunicacions de Catalunya (CTTC) in C++
GPS ToolKit Software (GPSTk) GPS position, velocity, time estimation software written in C++
OSGRS Open Source GNSS Reference Server (A-GPS, A-GNSS)
GNSS-SDR Scilab project focused on GPS, GLONASS and COMPASS processing
GPS & GLONASS RX GPS & GLONASS receiver in assembler code
Namuru SDR Fully FGPA-based GNSS receiver

Other Similar Non-Open Source GNSS Projects

Project Name and Link Description
ipexSR RT receiver in Visual C++/Assembler, front-end + pure SDR in PC
SDR receiver of PLAN RT SDR receiver
Precisio SDR receiver - combined HW correlators/PC processing
home.txt · Last modified: 2012/04/25 15:51 by jakubov
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki