Notes on streaming IQ data
Looking for an alternative to CubicSDR that would provide soapySDR library support, and backend frequency control without at GUI
links:
audacity: http://play.fallows.ca/wp/radio/software-defined-radio/recording-smartsdr-iq-data-audacity/
convert rtlsdr to sdr-sharp: https://github.com/Marcin648/iqToSharp
demod (demodulate IQ streams) https://github.com/cubehub/demod
rust-airspy (get stream from airspy) https://github.com/cubehub/rust-airspy
andres vahter blog: https://andres.svbtle.com/pipe-sdr-iq-data-through-fm-demodulator-for-fsk9600-ax25-reception
rtl_tcp -a 192.168.2.106
rtl_fm can also output raw signed 16 bit IQ data. – as in this example from vahter’s blog: rtl_fm -f 437.505M -M raw –s 1024000 –r 22050 | doppler -tle “ESTCUBE 1” cubesat.txt | demod -M fm -deviation 3.5k | multimon-ng -t raw -a FSK9600 /dev/stdin
liquid-dsp c sdr dsp lib : https://github.com/jgaeddert/liquid-dsp
sv3exp – interesting experiment with piping iq data in linux command line: https://sv3exp.blogspot.com/2019/09/decoding-ft8-in-with-any-sdr-like-usrp.html
ha7ilm csdr (command line sdr processor) https://github.com/ha7ilm/csdr
**sdrplay rtl_tcp fork https://github.com/SDRplay/RSPTCPServer
cloud-sdr internet streaming: http://www.cloud-sdr.com/streaming-iq-over-internet-listen-remotely-to-airport-radio/ cloud-sdr also looks to be out of business.
interesting post about requests for command line cubicsdr and related : https://github.com/cjcliffe/CubicSDR/issues/654
rx tools (an update of some of the rtl stuff using soapysdr https://github.com/rxseger/rx_tools
rx_tools, in theory, is a good prospect, but the code is several years out of date, gives errors on devices, is unsupported – just doesn’t work yet.
There are many good examples of IQ streaming with rtl_fm and rtl_tcp, but of course they only suppport rtlsdr.
Prospects
pothos sdr : flowgraph https://github.com/pothosware/PothosCore/wiki
**luaradio – similar to gnu-radio and looks like will run with macports: https://github.com/vsergeev/luaradio This is a flowgraph language like Gnu-radio. But its lightweight. If the device support is ok, then it looks like there are flowgraph modules that would allow tcp data in/out as well as audio. This is primarily a linux app – but if you ran it on r-pi it could make a good front end for a lot of devices. Also it may run in Mac OS with some audio tweaks. ie., portaudio and pulseaudio.
**sdrGlut this app runs on mac os and streams iq https://github.com/righthalfplane/SdrGlut – I was not able to find a method of external frequency control. It may be added in future releases as this app is in active current development. Also it runs sdrplay rspdx.
**gnu-radio: Well supported and active development. Not sure about device support for common hobbyist radios like sdrplay, airspyhf, etc., gnu-radio: http://play.fallows.ca/wp/radio/software-defined-radio/gnuradio-ssb-receiver/
**worst-case scenario. Actually build something with soapy-sdr, hamlib, and csdr.
docs
**PLSDR – some nice theory here: https://arachnoid.com/PLSDR/
**IQ data for dummies: http://whiteboard.ping.se/SDR/IQ