dernasherbrezon / sdr-server

High performant TCP server for rtl-sdr
GNU General Public License v2.0
180 stars 16 forks source link
libvolk rtl-sdr

About CMake Quality Gate Status

design

Key features

Design

design

API

Queue

design

The data between rtl-sdr worker and the dsp workers is passed via queue. This is bounded queue with pre-allocated memory blocks. It has the following features:

Configuration

Sample configuration can be found in tests:

https://github.com/dernasherbrezon/sdr-server/blob/main/test/resources/configuration.config

Performance

Is good. Some numbers in test/perf_xlating.c

Dependencies

sdr-server depends on several libraries:

All dependencies can be easily installed from leosatdata APT repository:

sudo apt-get install curl lsb-release
curl -fsSL https://leosatdata.com/r2cloud.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/r2cloud.gpg
sudo bash -c "echo 'deb [signed-by=/usr/share/keyrings/r2cloud.gpg] http://apt.leosatdata.com $(lsb_release --codename --short) main' > /etc/apt/sources.list.d/r2cloud.list"
sudo apt-get update
sudo apt-get install libvolk2-dev librtlsdr-dev libconfig-dev

Build

To build the project execute the following commands:

mkdir build
cd build
cmake ..
make

Install

sdr-server can be installed from leosatdata APT repository:

sudo apt-get install sdr-server