Code


Some of NoraSector's code is available at GitHub

.


Turbine


Turbine

is NoraSector's SDR software. It was purpose-built for NoraSector's use case, namely capturing and streaming all frequencies of a trunked radio system concurrently. Unlike most SDR software, it's written entirely in Go. Go's concurrency model was a natural fit for the problem, which at its core is doing many concurrent DSP operations on a single byte stream from a SDR.


Turbine was intended to be run as a server-side application, i.e., there is no UI for configuration. It can run in a Docker container. It does not bond multiple SDRs together. Its intention is to be run with a single, high sample rate SDR on a powerful computer. NoraSector's production radio runs on a dedicated Core i7-11700k and uses a HackRF one. Turbine currently only supports the HackRF one but should be easily adapted to any SDR that can output IQ samples.


Turbine was heavily influenced by projects like op25 and GNURadio and is licensed under the GNU GPLv3 license.


Turbine features a built-in visualization web server to view graphs of each stage of the DSP pipeline for every frequency it's tuned to.