How to make SDR become statble and easy to use

Hi everyone,

I’m a wireless communication researcher working with several low-cost SDR platforms to test new algorithms. During this work I ran into two common issues:

  1. Whenever I try to start a new algorithm, everything needs to be started by myself even the basic things, not the novel part in my algorithm. It often takes a lot of time. If you are a newcomer, it can take several months just to handle the basic parts.
  2. My friends and I often buy and use SDR devices around $1000, but at that price the hardware does not provide stable RF performance, which makes experiments difficult to reproduce.

To address this, I tried to start a project that builds a software platform which helps researchers quickly construct and test SDR-based wireless systems.

Now, I have built and finished the features below on my SDR device:

  • OFDM Mod/Demod (BPSK, QPSK, 8-PSK, 16-QAM, 64-QAM)
  • Frame detection & synchronization
  • Channel estimation & equalization
  • CFO & CPE compensation
  • FEC support (Reed-Solomon, LDPC, BCH)

To reduce latency, these additional features are built as FPGA IPs and can then be used by libiio in C/C++/python.

You can see the testing video: https://www.youtube.com/watch?v=o-cW08NGJvM

I want to get some comments from the community. Do you meet any issues when developing algorithms on SDR? What should be improved in my software platform? Can you share and suggest some features for my platform? I really appreciate any suggestions from you. Thanks!

Integrive-100 | Crowd Supply this is our SDR