Hacking, HAM Radio (EA1IYR), DSP, physics and more
SigDigger is a graphical, digital signal analyzer I wrote in Qt5 for Unix systems like GNU/Linux or MacOS. Unlike existing alternatives, SigDigger is not based on GNU Radio. Instead, it uses its own DSP library (sigutils) and a realtime signal analysis library (Suscan) that exploits multicore CPUs to distribute load. Also, SigDigger supports most SDR devices in the market thanks to SoapySDR. Sigutils, Suscan and SigDigger are software libre, licensed under the terms of the General Public License version 3.
SigDigger works in x86-64 CPUs running MacOS or GNU/Linux. In terms of performance, it can beat Gqrx by a factor of 20% (measured as saved CPU usage).
There are plans to port SigDigger to additional operating systems and architectures. Both Suscan and Sigutils have been successfully built and run in armhf Linuxes (i.e. Raspberry Pi) in the past, but official support is on its way.
There are no plans to support Windows in the near future. There are some reasons for this: a) I don’t have any version of Windows installed in any of my computers at home b) Both sigutils and suscan depend on libraries that are tied to Unix systems c) Microsoft’s Visual Studio C/C++ compiler does not offer a rational complex number API.
This is a whole new problem and requires careful addressing. This does not mean that I will not accept a port: if you are an experience Windows developer and loves porting software, your help will be greately appreciated :)
The following features are present in the Suscan core, but their exposition to the UI is in progress:
The following features have been presented in one of my talks, but they are not implemented neither in Suscan nor in SigDigger (yet):
The following features are in an optimistic TODO, but they wil hopefully be part of SigDigger some day in the future:
This is work in progress, and some help will also be appreciated (see below).
The easiest and most useful thing you can do is to use it, distribute it, talk about it! Try it with different devices and configurations, force its limits, break it. All feedback will guide my effort into something that is useful for everyone.
If you find SigDigger useful and miss some documentation on the software, that’s another way you can help. I’ll make it available in this website.
If you are a programmer and you want to help, I would be happy to explain the internals to you and guide you along the process. You can also provide patches, improvements and bugfixes as pull requests in GitHub.
If you are good with languages and would like to do some translation work on SigDigger, you are welcome as well! As none of SigDigger components are internationalized yet, it will take me some to give you a list of strings you can translate. But if you are truly willing to do this, I will not mind prioritizing this before other tasks.
All help, of any kind, will be dully noted in the credits window.
The latest UX improvements and MacOS X support have been possible thanks to the invaluable help of Mehdi Asgari.
Partial transcription of the spanish national frequency allocation table (CNAF) has also been possible thanks to Shiki Owo.