Giter Club home page Giter Club logo

gr-dvbs2tx's Introduction

gr-dvbs2tx

Overview

gr-dvbs2tx is a GNU Radio OOT module including transmitter blocks for software-defined radio and message passing simulation. This is a fork of drmpeg's gr-dvbs2 project. The receiver blocks are in gr-dvbs2rx.

The goal of this project is to build a software-defined DVB-S2 transmitter, based on the EN 302 307 V1.3.1 Second Generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, New Gathering and other broadband satellite applications standard:
http://www.etsi.org/deliver/etsi_en/302300_302399/302307/01.03.01_60/en_302307v010301p.pdf
The baseband framing, baseband scrambling, LDPC (low density parity check), BCH (Bose, Chaudhuri, Hocquenghem), bit interleaver and physical layer framing and scrambling blocks are from G4GUO's DATV-Express Digital Amateur Television project datvexpress_gui (https://github.com/G4GUO/datvexpress_gui/tree/master/DVB-S2) and converted to GnuRadio 3.7.x.

Since the functionality of the CCM version of the DVB-S2 transmitter is already included in GNU Radio, this OOT implements a VCM/ACM (Variable/Adaptive Coding and Modulation) version of the DVB-S2 transmitter.

This implementation supports the following DVB-S2 System configurations:

System configurations not supported are:

  1. Input Stream Synchronizer
  2. Null Packet Detection
  3. Wide-band mode

This project is licensed under GPLv3 and was developed primarily for non-commercial research, experimentation, and education. Please feel free to contribute or get in touch to request features or report any problems.

Installation

The only available installation method is compiling from source. You will need to clone this repository first:

git clone --recursive https://github.com/AsriFox/gr-dvbs2tx.git
cd gr-dvbs2tx/

Install dependencies on Ubuntu:

apt install cmake pkg-config doxygen gnuradio-dev \
    graphviz libsndfile1-dev libspdlog-dev \
    pybind11-dev python3-packaging

Install dependencies on Fedora:

dnf install cmake doxygen gnuradio-devel \
    fftw-devel gmp-devel graphviz \
    libsndfile-devel spdlog-devel \
    pybind11-devel python3-packaging \

Build:

mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=$(gnuradio-config-info --prefix) ..
cmake --build . -j$(nproc)

IDE support: VSCode (tasks, launch profiles and toolchain settings).
Extensions used:

Install (from build/):

sudo make install
sudo ldconfig

Authors

gr-dvbs2tx's People

Contributors

drmpeg avatar asrifox avatar bkerler avatar

Stargazers

Timothy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.