https://github.com/ant-uni-bremen/gr-symbolmapping

GNU Radio blocks for standardized symbolmapping

https://github.com/ant-uni-bremen/gr-symbolmapping

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords

communication gnu gnuradio mapping sdr symbol
Last synced: 6 months ago · JSON representation

Repository

GNU Radio blocks for standardized symbolmapping

Basic Info
  • Host: GitHub
  • Owner: ant-uni-bremen
  • License: gpl-3.0
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 243 KB
Statistics
  • Stars: 9
  • Watchers: 1
  • Forks: 3
  • Open Issues: 0
  • Releases: 0
Topics
communication gnu gnuradio mapping sdr symbol
Created almost 6 years ago · Last pushed almost 3 years ago

https://github.com/ant-uni-bremen/gr-symbolmapping/blob/master/

[![DOI](https://zenodo.org/badge/247098278.svg)](https://zenodo.org/badge/latestdoi/247098278) [![Run CI tests](https://github.com/ant-uni-bremen/gr-symbolmapping/actions/workflows/run-test.yml/badge.svg)](https://github.com/ant-uni-bremen/gr-symbolmapping/actions/workflows/run-test.yml)


# GNU Radio Symbolmapping


In digital communication, we rely on symbol mapping such as QPSK, 16QAM, etc.

There exists a set of common definitions for these mappings in across a wide variety of standards (WiFi, LTE, 5G NR, ...).
Unfortunately, GNU Radio does not implement this standard set.

Further, we want fast and efficient demappers that employ efficient approximations for these common mappings.

## Interleavers

In most systems, interleavers are employed right before symbol mapping in order to leverage full diversity in frequency-selective fading scenarios. Especially, multicarrier systems such as OFDM, GFDM or FBMC benefit from this approach.
Thus, we add bit interleavers as well. Sometimes this interleaver is called channel interleaver.

__The interleaver block is available in GNU Radio 3.10.4+ in gr-blocks__

## Python interface

Finally, we need those functions in GNU Radio but also with a Python3 interface for use in simulations. Thus, we add a PyBind11 interface that offers just that.

## Prerequisites
We provide a `Dockerfile` to compile the Python interface only. This is only for test purposes. In case you want to compile and use the Python interface only, you need several packages.

### Debian/Ubuntu packages
For the python interface
- build-essential
- git
- cmake
- libvolk2-dev
- liborc-0.4-dev
- python3-dev
- python3-distutils
- python3-pybind11

### GNU Radio installation
In case you want to use the whole system with GNU Radio and Python interface, GNU Radio should already provide everything.

GNU Radio 3.9 is required to use this module!

## Usage

This is the symbolmapping-write-a-block package meant as a guide to building
out-of-tree packages. To use the symbolmapping blocks, the Python namespaces
is in 'symbolmapping', which is imported as:

    import symbolmapping

See the Doxygen documentation for details about the blocks available
in this package. A quick listing of the details can be found in Python
after importing by using:

    help(symbolmapping)


## Contributions

Pull Requests are highly welcome to add more standardized mappings aka constellations aka alphabets.


## References
For reference have a look at the following papers and standard documents

* [ETSI 138.211 TS "5G; NR; Physical channels and modulation"](https://www.etsi.org/deliver/etsi_ts/138200_138299/138211/16.02.00_60/ts_138211v160200p.pdf)
* [Caire et al. "Bit-Interleaved Coded Modulation"](https://doi.org/10.1109/18.669123)
* [Tosato et al. "Simplified soft-output demapper for binary interleaved COFDM with application to HIPERLAN/2"](https://doi.org/10.1109/ICC.2002.996940)
* [Allpress et al. "Exact and Approximated Expressions of the Log-Likelihood Ratio for 16-QAM Signals"](https://doi.org/10.1109/ACSSC.2004.1399245)
* [Mao et al. "A low complexity 256QAM soft demapper for 5G mobile system"](https://doi.org/10.1109/EuCNC.2016.7560996)

Owner

  • Name: Arbeitsbereich Nachrichtentechnik
  • Login: ant-uni-bremen
  • Kind: organization
  • Location: Bremen, Germany

Department of Communication Engineering at University of Bremen

GitHub Events

Total
Last Year

Dependencies

.github/workflows/automerge.yml actions
  • actions/checkout v3 composite
  • conda-forge/automerge-action master composite
.github/workflows/check-formatting.yml actions
  • actions/checkout v3 composite
  • gnuradio/clang-format-lint-action v0.5-4 composite
.github/workflows/conda-build.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/run-test.yml actions
  • actions/checkout v3.1.0 composite
.github/workflows/webservices.yml actions
  • conda-forge/webservices-dispatch-action master composite
Dockerfile docker
  • ubuntu focal build