An orchestrated SDR scanner
Project description
gamutRF
gamutRF is a gnuradio-based SDR-based scanner, I/Q signal collector and identifier (using a image or I/Q based pyTorch model).
While it can run on Pi4 and Pi5 machines (and its components can be distributed over a network), it is more typically deployed on a single x86_64 machine with an nvidia GPU (see deployment instructions).
gamutRF's scanner container connects to a local SDR and sweeps over a configured frequency range or ranges collecting samples. When a configurable number of valid I/Q samples are received the SDR is retuned to a new interval (see blocks in gr-iqtlabs). The samples are processed and sent to a waterfall container for display, and optionally to a Torchserve instance for identification. Recording, and basic parameters (such as the frequency range to scan) can be controlled from the waterfall container.
License
Distributed under the Apache 2.0. See LICENSE for more information.
Contact IQTLabs
- Twitter: @iqtlabs
- Email: info@iqtlabs.org
See our other projects: https://github.com/IQTLabs/
AIR-T support
GamutRF has legacy support for the Deepwave AIR-T
Development
Development with GamutRF requires familiarity with gnuradio, an SDR, a x86_64 host running Ubuntu 24.04 with Docker installed (and ideally an nvidia GPU, though this is not required).
Local development
- Install gnuradio, 3.10 or later
- Install gr-iqtlabs
- Make modifications, and install with
poetry install
- Run tests with
pytest
Docker development
Follow above local development instructions, and then build containers (tests will be run inside the containers).
docker build -f docker/Dockerfile.base docker -t iqtlabs/gamutrf-base:latest
docker build -f Dockerfile . -t iqtlabs/gamutrf:latest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.