SDR Receiver
Table of Contents
Connections
The SDR setup is connected as follows:
- Connect the RTL-SDR USB dongle to your host PC.
- Connect the non-powered port of the power supply (labeled as “Signal to IRD”) to the RTL-SDR using an SMA cable and an SMA-to-F adapter.
- Connect the powered port (labeled “Signal to SWM”) of the power supply to the LNB using a coaxial cable (an RG6 cable is recommended).
IMPORTANT: Do NOT connect the powered port of the power supply to the SDR interface. Permanent damage may occur to your SDR and/or your computer.
Software Requirements
The SDR-based setup relies on the applications listed below:
- leandvb or gr-dvbs2rx: the software-based DVB-S2 receiver application.
- rtl_sdr: reads samples taken by the RTL-SDR and feeds them into leandvb.
- TSDuck: unpacks the output of leandvb and produces IP packets to be fed to Bitcoin Satellite.
- Gqrx: useful for spectrum visualization during antenna pointing.
To install them all at once, run the following:
blocksat-cli deps install
Note: this command supports the two most recent releases of Ubuntu LTS, Fedora, CentOS, Debian, and Raspbian. In case you are using another Linux distribution or version, please refer to the manual compilation and installation instructions.
If you prefer to install all software components manually, please refer to the manual installation section. Also, if you would like to try the alternative receiver application based on the GNU Radio framework, see the gr-dvbs2rx section.
Configuration
After installing, you can generate the configurations that are needed for gqrx by running:
blocksat-cli gqrx-conf
Note: this command assumes you are using an RTL-SDR dongle.
Running
You should now be ready to launch the SDR receiver. You can run it by executing:
blocksat-cli sdr
More specifically, as thoroughly explained in the antenna alignment section, you might want to run with specific gain and de-rotation parameters that are suitable to your setup, like so:
blocksat-cli sdr -g [gain] --derotate [freq_offset]
where [gain]
and [freq_offset]
should be substituted by the appropriate values.
Next Steps
At this point, if your antenna is already correctly pointed, you should be able to start receiving data on Bitcoin Satellite. Please follow the instructions for Bitcoin Satellite configuration. If your antenna is not aligned yet, refer to the antenna alignment guide.
Further Information
Software Updates
To update the SDR software to the most recent releases, run:
blocksat-cli deps update
Docker
A Docker image is available for running the SDR host on a container. Please refer to the instructions in the Docker guide.
gr-dvbs2rx Receiver
An alternative software-defined DVB-S2 receiver implementation named gr-dvbs2rx is available on the CLI starting from version 0.4.5. This application is based on the GNU Radio framework for software-defined radio, and it is supported on Fedora 36 and Ubuntu 22.04 or later versions only.
The CLI installs gr-dvbs2rx automatically when available. However, if you are running an existing setup configured with a CLI version preceding 0.4.5, please rerun the installation command:
blocksat-cli deps install
Then, relaunch the SDR receiver with the regular command below. The CLI will choose the gr-dvbs2rx application by default when available. However, you can always toggle the implementation using option --impl
.
blocksat-cli sdr
Manual Installation of SDR Software
If you do not wish to rely on the automatic installation handled by command blocksat-cli deps install
, you can install all applications manually.
First, enable our repository for binary packages. On Ubuntu/Debian, run:
add-apt-repository ppa:blockstream/satellite
apt-get update
If command
add-apt-repository
is not available in your system, install packagesoftware-properties-common
.
On Fedora, run:
dnf copr enable blockstream/satellite
If command
copr enable
is not available in your system, install packagednf-plugins-core
.
Finally, install the applications:
sudo apt install rtl-sdr leandvb tsduck gqrx-sdr
or
sudo dnf install rtl-sdr leandvb tsduck gqrx
Manual Compilation of SDR Software
If leandvb
and (or) tsduck
are not available as binary packages in your distribution, you can build and install them from source.
Leandvb from source
To build leandvb from source, first install the dependencies:
apt install git make g++ libx11-dev
or
dnf install git make g++ libX11-devel
Then, run:
git clone --recursive https://github.com/Blockstream/leansdr.git
cd leansdr/src/apps
make
sudo install leandvb /usr/bin
Next, build and install ldpc_tool
:
cd ../../LDPC/
make CXX=g++ ldpc_tool
sudo install ldpc_tool /usr/bin
TSDuck from source
To build and install TSDuck from source, run:
git clone https://github.com/tsduck/tsduck.git
cd tsduck
build/install-prerequisites.sh
make NOTELETEXT=1 NOSRT=1 NOPCSC=1 NOCURL=1 NODTAPI=1
sudo make NOTELETEXT=1 NOSRT=1 NOPCSC=1 NOCURL=1 NODTAPI=1 install
Prev: Receiver Setup - Next: Bitcoin Satellite or Antenna Pointing