-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathREADME.kiwisdr
67 lines (52 loc) · 2.61 KB
/
README.kiwisdr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# gr-kiwisdr
----
## Overview
Gnuradio OOT module for the [KiwiSDR](http://kiwisdr.com/)
## Requirements
* 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` and `libcppunit-dev`) >= 1.45; for the KiwiSDR websocket client `boost >=1.65` is needed (may or may not work with earlier boost versions)
* `liborc-dev` (needed for gnuradio 3.9)
* `libzmq3-dev`
## Installation
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 ../
```
## Working installations
### maint-3.7 branch
* GNURadio [master@219eae9](https://github.com/gnuradio/gnuradio/commit/219eae9a9c2ef7644450e71d19f8f54c12e1f9cc) + 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)
### master branch
* GNURadio 3.9 master branch on Ubuntu 20.04
* GNURadio-3.9 from PPA
## GNURadio blocks
1. `kiwisdr/kiwisdr`: KiwiSDR websocket client providing a source of timestamped IQ samples
* uses the [boost.beast](https://www.boost.org/doc/libs/master/libs/beast/doc/html/index.html) 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
2. `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
3. `kiwisdr/align_streams`: alignment of IQ streams coming from the same KiwiSDR (this is work in progress)
4. `kiwisdr/coh_stream_synth`: coherent combination of three KiwiSDR IQ streams into a single IQ stream (this is work in progress)
## Usage
See
* [examples/kiwisdr_rx.grc](https://github.com/hcab14/gr-kiwisdr/blob/master/examples/kiwisdr_rx.grc) (KiwiSDR websocket IQ client)
* [examples/test_align.grc](https://github.com/hcab14/gr-kiwisdr/blob/master/examples/test_align.grc) (KiwiSDR wav file readers + timestamped IQ stream alignment)
* [examples/test_coh_stream_synth.grc](https://github.com/hcab14/gr-kiwisdr/blob/master/examples/test_coh_stream_synth.grc) (KiwiSDR wav file readers + coherent stream symthesis block)