gr-osmosdr
GNU Radio blocks from the OsmoSDR project providing a common software API for various SDR hardware. Supports devices like RTL-SDR, HackRF, bladeRF, and USRP for spectrum analysis and signal generation.
Description
gr-osmosdr is part of the Osmocom project for open source mobile communications, offering GNU Radio blocks that support a wide range of SDR hardware including FUNcube Dongle, RTL2832U DVB-T dongles, HackRF, bladeRF, Ettus USRP, Airspy, and SoapySDR. It enables applications to interface with different radio hardware through a unified API, independent of the underlying device.
Example applications include osmocom_fft for spectrum browsing, osmocom_siggen for signal generation, and osmocom_spectrum_sense. The package provides C++ headers, documentation, Python3 wrappers, and a shared library for integration into custom GNU Radio applications.
This tool is essential for SDR-based wireless analysis, allowing users to perform tasks like spectrum monitoring, signal visualization, and transmission across supported hardware platforms.
How It Works
gr-osmosdr provides GNU Radio source and sink blocks that abstract hardware-specific drivers into a common API. Device specification uses comma-separated argument=value pairs (e.g., rtl=0 for RTL-SDR device index 0). Supported sources include OsmoSDR, RTL-SDR (with xtal freq, direct sampling), RTL-TCP, UHD (USRP with subdev spec), bladeRF, HackRF, and file input. Buffers, sample rates, gains, and frequencies are configured via args. Applications like osmocom_fft use these blocks for FFT-based spectrum display with options for waterfall, averaging, and oscilloscope views.
Installation
sudo apt install gr-osmosdrFlags
Examples
osmocom_fft -a rtl=0 -v -f 100e6 -s 2.4e6 -g 15osmocom_fft -a hackrf -vosmocom_fft -a uhd -vosmocom_fft -a rtl_tcp=localhost:1234osmocom_fft -a file=/path/to/file.cfile,freq=100e6,rate=2e6osmocom_fft -a bladerf=0 -Wosmocom_siggen_nogui -a rtl=0