How can I efficiently stream and process I/Q data from a Nuand SDR in Python?

Discussions related to embedded firmware, driver, and user mode application software development
Post Reply
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?

Post by EmilyParker »

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!
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?

Post by robert.ghilduta »

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).
Post Reply