Lightweight, portable software-defined radio
Switch branches/tags
Nothing to show
Clone or download
Latest commit e6416aa Apr 11, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Clarify license. Apr 11, 2018
test Update benchmarking script for RRC and parameters specified in dB Jul 18, 2017 Allow non-blocking stdin for leandvbtx real-time mode. Mar 27, 2018
LICENSE.txt Move to git. Sep 2, 2016 Update doc Dec 9, 2017 Update doc Dec 9, 2017

leansdr: Lightweight, portable software-defined radio.

Copyright (C) 2016

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

leansdr consists of:

  • A simple data-flow framework for signal processing
  • A C++ library of software-defined radio functions
  • Applications built on top of the above.

Currently the main application is leandvb.


leandvb is a DVB-S demodulator designed for speed rather than sensitivity.

See for details and use cases.

Quick start guide

git clone
cd leansdr/src/apps

Receiving DATV transmissions from the ISS with a RTL-SDR dongle:

rtl_sdr  -f $DOWNCONVERTED_FREQ  -s 2400000
./leandvb  -f 2400e3  --sr 2000e3  --cr 1/2   <  > capture.ts
mplayer capture.ts


./leandvb  --gui  -v  -d  -f 2400e3  --sr 2000e3  --cr 1/2  <  > capture.ts

Live receiver with auto-detection of symbol rate and code rate:

rtl_sdr  -f $DOWNCONVERTED_FREQ  -s 2400000  -  |  ./leansdrscan  -v  ./leandvb --gui  -f 2400e3  --sr 2000e3,1000e3,500e3,250e3  --cr 1/2,2/3,3/4,5/6,7/8  -  |  mplayer  -cache 128  -