ShaneFlandermeyer / gr-plasma

GNU General Public License v3.0
29 stars 8 forks source link

gr-plasma: A GNU Radio module for radar signal processing

pulse-doppler processing flowgraph

The gr-plasma module implements a number of radar signal processing functions in GNU Radio. Due to the bursty nature of pulsed radar operation, these blocks are implemented entirely in the message passing domain. The module pulls much of its signal processing from plasma-dsp, which is a general-purpose radar signal processing library intended for use outside of GNU Radio. plasma-dsp uses ArrayFire to enable GPU-accelerated processing, and real-time operation has been achieved on an Ettus X310 SDR and an NVIDIA RTX 3070 GPU at sample rates up to 100 MS/s.

The following features have been implemented:

NOTE: Most work in this repository is done in the develop branch. If master does not have a feature you want, be sure to check out develop before filing an issue. The develop branch tracks the develop branch of plasma-dsp, so you must check that out as well.

Installation

To install gr-plasma system-wide, you should first install plasma-dsp using the instructions in its README. Additional required dependencies should be installed as:

sudo apt install nlohmann-json3-dev libqwt-qt5-dev

Next, run the following from the top-level directory of the module:

mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

The module can similarly be uninstalled from the top-level directory as shown below:

cd build
sudo make uninstall
sudo ldconfig