Giter Site home page Giter Site logo

gr-plasma-dev's Introduction

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:

  • High-rate data streaming from UHD compatible software-defined radios: Transmit and receive functionality is implemented in a single USRP radar block, which can achieve higher sample rates than the stream-based UHD blocks since no overhead is incurred from the scheduler.

  • Waveform generation: The module provides blocks for generating Linear FM waveforms with arbitrary bandwidths and pulse widths. There is also a block that generates PCFM waveforms from common phase codes.

  • Matched filtering for arbitrary transmitted waveforms

  • Doppler processing

  • Cell-averaging CFAR detection

  • Range-doppler map generation (with optional detection markers)

  • Utilities for reading and writing PDU data to and from files. The data is stored in the same format as the file source block in the main tree, and the PMT metadata dictionary can optionally be stored as a JSON object.

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

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

gr-plasma-dev's People

Contributors

shaneflandermeyer avatar averymoates 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.