SyDR is an open-source Software Defined Radio (SDR) for GNSS processing developed in Python. SyDR's goal is to provide a controlled environment for testing new processing algorithms, for benchmarking purposes.
The software is still at the very early development stages, with limited testing of the software functionalities. Issues and bugs are to be expected with the current version.
The software has been developed and tested on Python 3.11 on a Windows Linux Subsytem (WSL) version 2. It is recommand to create a python virtual environement after cloning the directory.
python3 -m venv env
source env/bin/activate
To install the different libraries required, use the pip
command line with the requirements.txt
.
pip install -r requirements.txt
To create a directory hosting the output results
mkdir .results
The design had been tested in WSL2 as well as x86 Ubuntu 20.04.5 LTS
This design may required modification in order to run in MacOS and some Unix system. This is due to ._get_value()
method of the semaphore in Python's multiprocessing module on some unix system has not been implemented. You will come across with error such as:
return self._maxsize - self._sem._semlock._get_value()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NotImplementedError
TBD
If you use SyDR in a research paper or Thesis, we would appreciate if you reference the following article to credit the SyDR project:
A. Grenier, E. S. Lohan, A. Ometov, and J. Nurmi, “An Open-Source Software-Defined Receiver for GNSS Algorithms Benchmarking,” in Proc. of 14th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT). IEEE, 2022, pp. 31–38. https://ieeexplore.ieee.org/document/9943489