Gnuradio OOT module for the KiwiSDR
- C++-11 compiler
- git, cmake, swig, doxygen
- gnuradio 3.9 and above (for gnuradio 3.7 use the maint-3.7 branch)
- boost (
libboost-pythondev
,libboost-dev
andlibcppunit-dev
) >= 1.45; for the KiwiSDR websocket clientboost >=1.65
is needed (may or may not work with earlier boost versions) liborc-dev
(needed for gnuradio 3.9)libzmq3-dev
Do not forget to use the option --recurse-submodules
git clone --recurse-submodules https://github.com/hcab14/gr-kiwisdr.git
cd gr-kiwisdr
mkdir build
cd build
cmake ../
make install
For some reason on OSX the following command is needed:
volk_profile -R volk_16u_byteswap
For building without the KiwiSDR websocket client (no dependency on recent boost version):
cmake -DENABLE_KIWI_WS_CLIENT=OFF ../
- GNURadio master@219eae9 + boost-1.68 (OSX)
- GNURadio v3.7.13.4 + boost-1.66.0_3 (OSX)
- GNURadio v3.7.11 on Ubuntu 18.10 and 18.04 (Linux Mint 19.1)
- GNURadio 3.9 master branch on Ubuntu 20.04
- GNURadio-3.9 from PPA
kiwisdr/kiwisdr
: KiwiSDR websocket client providing a source of timestamped IQ samples- uses the boost.beast websocket library
- Only IQ mode is supported for now
- Missing KiwiSDR configuration options (user,pw,AGC,...)
- May not work with older boost versions distributed with GNURadio packages
kiwisdr/kiwi_wav_source
: source block for reading KiwiSDR IQ files with GNSS timestamps- the wav files need to have been be recorded with
kiwirecorder.py -w ...
, i.e., contain GNSS time stamps
- the wav files need to have been be recorded with
kiwisdr/align_streams
: alignment of IQ streams coming from the same KiwiSDR (this is work in progress)kiwisdr/coh_stream_synth
: coherent combination of three KiwiSDR IQ streams into a single IQ stream (this is work in progress)
See
- examples/kiwisdr_rx.grc (KiwiSDR websocket IQ client)
- examples/test_align.grc (KiwiSDR wav file readers + timestamped IQ stream alignment)
- examples/test_coh_stream_synth.grc (KiwiSDR wav file readers + coherent stream symthesis block)