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