Difference between revisions of "SDR Setup"

From SatNOGS Wiki
m
(Add more stuff in gr-satnogs and satnogs-flowgraphs sections)
Line 4: Line 4:
 
Each ground station is equipped with an SDR device.
 
Each ground station is equipped with an SDR device.
 
Through the [https://github.com/pothosware/SoapySDR/wiki SoapySDR] library and the  
 
Through the [https://github.com/pothosware/SoapySDR/wiki SoapySDR] library and the  
[[File:Sdr-doc.svg|thumb|SatNOGS SDR frontend architecture]]
+
[[File:Sdr-arch.png|alt=|thumb|SatNOGS SDR frontend architecture]]
  
  
Line 10: Line 10:
 
The [https://gitlab.com/librespacefoundation/gr-soapy gr-soapy] is a GNU Radio module that interfaces with the [https://github.com/pothosware/SoapySDR/wiki SoapySDR], a vendor neutral and platform independent SDR support library.
 
The [https://gitlab.com/librespacefoundation/gr-soapy gr-soapy] is a GNU Radio module that interfaces with the [https://github.com/pothosware/SoapySDR/wiki SoapySDR], a vendor neutral and platform independent SDR support library.
  
The goal of this module is to provide a unified way of signal reception through a wide range of different SDR devices, while at the same time allowing full parameterization of the device specific capabilities.  
+
The goal of this module is to provide a unified way of signal reception through a wide range of different SDR devices, while at the same time allowing full parameterization of the device specific capabilities. [https://gitlab.com/librespacefoundation/gr-soapy gr-soapy] is responsible for setting the proper sampling rate, configure the available gain stages of the device and apply any kind of device specific configuration. It provides a source block for signal reception and a sink block for signal transmission.
[https://gitlab.com/librespacefoundation/gr-soapy gr-soapy] is responsible for setting the proper sampling rate, configure the available gain stages of the device and apply any kind of device specific configuration. It provides a source block for signal reception and a sink block for signal transmission.
+
[[File:Soapy source0.png|thumb]]
 +
[[File:Soapy source1.png|thumb]]
 +
 
 +
 
  
 
Pre-built packages for a wide range of Soapy modules, as well as the Soapy core library and the gr-soapy are available for some distributions (including latest Raspbian) at [https://build.opensuse.org/project/subprojects/home:librespace openSUSE build service].
 
Pre-built packages for a wide range of Soapy modules, as well as the Soapy core library and the gr-soapy are available for some distributions (including latest Raspbian) at [https://build.opensuse.org/project/subprojects/home:librespace openSUSE build service].
  
 
===gr-satnogs===
 
===gr-satnogs===
The [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs] is the GNU Radio module providing all the necessary DSP blocks required to demodulate, synchronize and decode satellite frames.
+
The [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs] is the GNU Radio module providing all the necessary DSP blocks required to demodulate, synchronize and decode satellite frames. It also provides blocks for debugging and experimenting with known satellite telecommunication schemes. For adding support for a new satellite, this is the first project that you have to dig in.  [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs] tries to provide a unified decoder API for any kind of digital system, by properly extending a base decoder class. For more information refer to the [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs#development-guide<nowiki> Development Guide].</nowiki>
  
It also provides blocks for debugging and experimenting with known satellite telecommunication schemes. Pre-built packages are available for some distributions (including latest Raspbian)  at [https://build.opensuse.org/project/subprojects/home:librespace openSUSE build service].
+
Pre-built packages are available for some distributions (including latest Raspbian)  at [https://build.opensuse.org/project/subprojects/home:librespace openSUSE build service].
  
 
===satnogs-flowgraphs===
 
===satnogs-flowgraphs===
The satnogs-flowgrapgs is a set of  
+
The [https://gitlab.com/librespacefoundation/satnogs/satnogs-flowgraphs satnogs-flowgrapgs] provides a set of GNU Radio flowgraphs utilizing the GNU Radio blocks and those provided by [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs]. In an attempt to keep the  visual programming language of GNU Radio, all flowgraphs are based on the GNU Radio Companion, the graphical interface of GNU Radio. This allows users without programming background skills to follow the logic more easily. The integrated build system, uses the GNU Radio compiler (grcc) to generate python executable scripts from the visual representation of the flowgraph.
 +
[[File:Flowgraph.png|thumb]]
 +
Pre-built packages are available for some distributions (including latest Raspbian)  at [https://build.opensuse.org/project/subprojects/home:librespace openSUSE build service].
  
 
==Configure the SDR frontend==
 
==Configure the SDR frontend==
 
As mentioned in the previous sectios, SatNOGS uses the gr-soapy
 
As mentioned in the previous sectios, SatNOGS uses the gr-soapy

Revision as of 22:13, 18 March 2020

Introduction

SatNOGS uses three different software packages for signal reception, demodulation and decoding of satellite transmissions. Each ground station is equipped with an SDR device. Through the SoapySDR library and the

SatNOGS SDR frontend architecture


gr-soapy

The gr-soapy is a GNU Radio module that interfaces with the SoapySDR, a vendor neutral and platform independent SDR support library.

The goal of this module is to provide a unified way of signal reception through a wide range of different SDR devices, while at the same time allowing full parameterization of the device specific capabilities. gr-soapy is responsible for setting the proper sampling rate, configure the available gain stages of the device and apply any kind of device specific configuration. It provides a source block for signal reception and a sink block for signal transmission.

Soapy source0.png
Soapy source1.png


Pre-built packages for a wide range of Soapy modules, as well as the Soapy core library and the gr-soapy are available for some distributions (including latest Raspbian) at openSUSE build service.

gr-satnogs

The gr-satnogs is the GNU Radio module providing all the necessary DSP blocks required to demodulate, synchronize and decode satellite frames. It also provides blocks for debugging and experimenting with known satellite telecommunication schemes. For adding support for a new satellite, this is the first project that you have to dig in. gr-satnogs tries to provide a unified decoder API for any kind of digital system, by properly extending a base decoder class. For more information refer to the [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs#development-guide Development Guide].

Pre-built packages are available for some distributions (including latest Raspbian) at openSUSE build service.

satnogs-flowgraphs

The satnogs-flowgrapgs provides a set of GNU Radio flowgraphs utilizing the GNU Radio blocks and those provided by gr-satnogs. In an attempt to keep the visual programming language of GNU Radio, all flowgraphs are based on the GNU Radio Companion, the graphical interface of GNU Radio. This allows users without programming background skills to follow the logic more easily. The integrated build system, uses the GNU Radio compiler (grcc) to generate python executable scripts from the visual representation of the flowgraph.

Flowgraph.png

Pre-built packages are available for some distributions (including latest Raspbian) at openSUSE build service.

Configure the SDR frontend

As mentioned in the previous sectios, SatNOGS uses the gr-soapy