All Projects → gnuradio → gr-dpd

gnuradio / gr-dpd

Licence: GPL-3.0 license
Digital Pre-Distortion implementation in GNU Radio

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to gr-dpd

estonian-shipping-methods-for-woocommerce
Extends WooCommerce with most commonly used Estonian shipping methods.
Stars: ✭ 14 (-33.33%)
Mutual labels:  dpd
roulier
API for package delivery
Stars: ✭ 18 (-14.29%)
Mutual labels:  dpd

gr-dpd: Digital Pre-Distortion


Overview:

The gr-dpd module is a GNU Radio implementation of Digital Pre-Distortion, a popular technique used to compensate for distortion caused due to non-linear Power Amplifiers used in wireless communication today.

This has been developed as a GSoC 2020 project under GNU Radio by Alekh Gupta under guidance of mentors: Derek Kozel, Andrej Rode and Zack Costello.

Major DPD Algorithms considered for this module are:

  • Fast RLS based Algorithm
  • LMS (Least Mean Squares) Algorithm
  • Look-Up Table based Algorithm

So, far RLS and LMS based algorithm has been implemented.

The blocks added to the module, so far, are:

Dependencies:

gr-dpd requires:

GNU Radio version = 3.8 (GR 3.8 installation guide)

Armadillo version >= 6.7

CMake version >= 3.8

gcc version >= 7.4.0

Installation:

First, you need to install the dependencies (above).

Then, you need to download this repository

$ git clone https://github.com/gnuradio/gr-dpd.git

After this, gr-dpd should be installed as any other GNU Radio out-of-tree module.

$ cd gr-dpd
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ sudo ldconfig

If your GNU Radio is installed in other directory (rather than /usr/local), then replace the cmake line cmake .. above with: cmake -DCMAKE_INSTALL_PREFIX=<directory of GNU Radio> ..

Working with the module:

All the progress related details of the development of this module and its proper record and resources related to this module can be found here.

Examples:

Various example flowgraphs have been added so far to demonstrate the functioning of gr-dpd blocks.

Below is the flowgraph demonstrating an RLS based pre-distortion run on a GMP model Power Amplifier:

Test.grc - flowgraph

Bugs reporting:

Kindly report any bugs or issues on Github.

Contributing to the project

If you want to contribute to the module, feel free to add the pull request. Please read the contribution guidelines of GNU Radio here.

Contact

For queries or feedback, drop a mail to discuss-gnuradio.

License

The project is licensed under GPLv3. See LICENSE for terms.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].