Hi everyone,
I’m currently working on a project using a Nuand SDR device and I want to stream I/Q samples directly into Python for real-time processing. I’m using the standard UHD drivers, but I’m running into performance bottlenecks when handling high sample rates.
Has anyone developed an efficient workflow or library setup for handling high-throughput I/Q data from Nuand SDRs in Python? I’d be especially interested in examples that minimize latency and CPU usage.
Thanks in advance for any guidance or code snippets!
How can I efficiently stream and process I/Q data from a Nuand SDR in Python?
-
EmilyParker
- Posts: 1
- Joined: Wed Nov 19, 2025 8:09 pm
How can I efficiently stream and process I/Q data from a Nuand SDR in Python?
Coding, tinkering,Retro Bowl and always learning
-
robert.ghilduta
- Posts: 166
- Joined: Thu Feb 28, 2013 11:14 pm
Re: How can I efficiently stream and process I/Q data from a Nuand SDR in Python?
We have Python bindings that should allow you to achieve what you are looking for in Python. https://github.com/Nuand/bladeRF/tree/m ... ngs/python
However, please note these are CFFI bindings so libbladeRF is being called directly to receive samples, but all of the number crunching is done in python. To ensure fast processing consider using like numpy to ensure that samples are being consumed faster than the bladeRF is outputting them.
If you run into issues, consider capturing a large number of samples per call and using numpy, or processing the samples "offline" (start, capture, stop, then analyze the samples).
However, please note these are CFFI bindings so libbladeRF is being called directly to receive samples, but all of the number crunching is done in python. To ensure fast processing consider using like numpy to ensure that samples are being consumed faster than the bladeRF is outputting them.
If you run into issues, consider capturing a large number of samples per call and using numpy, or processing the samples "offline" (start, capture, stop, then analyze the samples).