🤖 AI Summary
A new multi-platform C++ library implements the Adaptive Chirplet Transform (ACT) with GPU acceleration via Apple MLX, offering a practical pipeline for time‑frequency signal analysis and real‑time EEG feature extraction. The implementation follows a two‑step matching pursuit (greedy atom selection from a precomputed chirplet dictionary) followed by BFGS refinement of the four chirplet parameters (time center tc, frequency center fc, log duration logDt, and chirp rate c). For each iteration the best atom is selected, its parameters fine‑tuned (ALGLIB BFGS), an optimal coefficient is computed by least squares, the chirplet is subtracted from the residual, and the loop repeats up to order K or until a residual energy threshold. Dictionaries are generated once (fixed signal length) and the MP step is deliberately matrix‑based to enable straightforward parallelization and GPU acceleration.
The library is engineered for performance across platforms: a reference ACT class, Eigen/BLAS CPU templates (single/double precision), an Accelerate/vDSP Apple Silicon backend, and an ACT_MLX_T target that uses Apple MLX to reach Metal and Nvidia CUDA GPUs. For AI/ML practitioners this means scalable, low‑latency extraction of interpretable time‑frequency chirplet features suitable for classifiers or downstream models; the author provides an interactive p5.js workbench using Muse sleep EEG to demo reconstruction vs. residuals. Caveats include fixed signal length, potentially large dictionary grids, and the greedy MP’s approximation quality (mitigated here by BFGS refinement).
Loading comments...
login to comment
loading comments...
no comments yet