LuaRadio is a lightweight, embeddable flow graph signal processing framework for software-defined radio. It provides a suite of source, sink, and processing blocks, with a simple API for defining flow graphs, running flow graphs, creating blocks, and creating data types. LuaRadio is built on LuaJIT, has a small binary footprint of under 750 KB (including LuaJIT), has no external hard dependencies, and is MIT-licensed. LuaRadio can be used to rapidly prototype software radios, modulation/demodulation utilities, and signal processing experiments. It can also be embedded into existing radio applications to serve as a user-scriptable engine for signal processing. LuaRadio blocks are written in pure Lua, but can use LuaJIT's FFI to wrap external libraries, like VOLK, liquid-dsp, and others, for computational acceleration, sophisticated processing, and interfacing with SDR hardware.

Features

  • Documentation available
  • Examples available
  • Built-in Applications
  • LuaRadio is accelerated by the optional libraries liquid-dsp, VOLK, and fftw
  • LuaRadio unit tests are run with busted
  • LuaRadio is MIT licensed
  • LuaRadio blocks are written in pure Lua

Project Samples

Project Activity

See All Activity >