This repo contains a collection of signal processing components built for the composite framework. It also comes with headers that are used across the various components in this repo.
The following components are available:
- exp_smooth - Exponential smoothing filter with AVX2/AVX-512 acceleration
- framer - Overlapped framing with SIMD type conversion
- fft - Fast Fourier Transform with framing, windowing, and parallel processing
- file_writer - General-purpose file writer for data streams
- histogram - Real-time histogram accumulator for ADC sample distribution analysis
- pkt_builder - VITA 49 packet builder (egress)
- pkt_parser - VITA 49 packet parser
- psd - Power spectral density calculator
- udp_sink - UDP packet transmitter (egress)
- udp_source - High-performance UDP packet receiver with multiple backends
- ws_sink - WebSocket sink for live data, histogram and metrics streaming (recvmmsg, packet_mmap, DPDK) optimized for continuous high-throughput streams
Each component directory may contain a detailed README with usage examples, configuration options, and performance characteristics.
Ensure you have the following installed:
- CMake (version 3.15 or higher)
- A compatible C++ compiler (e.g., GCC, Clang) with C++20 support
cmake -B build
cmake --build build [--parallel N]
cmake --install build