Pyaec
simple and efficient python implemention of a series of adaptive filters. including time domain adaptive filters(lms、nlms、rls、ap、kalman)、nonlinear adaptive filters(volterra filter、functional link adaptive filters)、frequency domain adaptive filters(frequency domain adaptive filter、frequency domain kalman filter) for acoustic echo cancellation.
Install / Use
/learn @ewan-xu/PyaecREADME
pyaec
pyaec is a simple and efficient python implemention of a series of adaptive filters for acoustic echo cancellation.
About
This project aims to use the simplest lines of python code to implement these adaptive filters, making it easier to learn these algorithms.
List of Implementioned Adaptive Filters
Time Domain Adaptive Filters
- Least Mean Squares Filter (LMS)
- Block Least Mean Squares Filter (BLMS)
- Normalized Least Mean Squares Filter (NLMS)
- Block Normalized Least Mean Squares Filter (BNLMS)
- Recursive Least Squares Filter (RLS)
- Affine Projection Algorithm (APA)
- Kalman Filter (KALMAN)
Nonlinear Adaptive Filters
- Second Order Volterra Filter (SVF)
- Trigonometric Functional Link Adaptive Filter (FLAF)
- Adaptive Exponential Functional Link Adaptive Filter (AEFLAF)
- Split Funcional Link Adaptive Filter (SFLAF)
- Collaborative Functional Link Adaptive Filter (CFLAF)
Frequency Domain Adaptive Filters
- Frequency Domain Adaptive Filter (FDAF)
- Partitioned-Block-Based Frequency Domain Adaptive Filter (PFDAF)
- Frequency Domain Kalman Filter (FDKF)
- Partitioned-Block-Based Frequency Domain Kalman Filter (PFDKF)
Requirements
- Python 3.6+
- librosa
- pyroomacoustics
Usage
python run.py
Author
ewan xu ewan_xu@outlook.com
Some Reference Books And Papers
-
Kong-Aik Lee, Woon-Seng Gan, Sen M. Kuo - Subband Adaptive Filtering Theory and Implementation
-
Simon Haykin - Adaptive Filter Theory
-
F.Kuech, E.Mabande, and G.Enzner, "State-space architecture of the partitioned-block-based acoustic echo controller,"in 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2014, pp. 1295-1299: IEEE
-
A.Gurin, G.Faucon and R.Le Bouquin-Jeanns, "Nonlinear acoustic echo cancellation based on Volterra filters", IEEE Trans.Speech Audio Process., vol. 11, no. 6, pp. 672-683, Nov. 2003
-
V.Patel, V.Gandhi, S.Heda, and N.V.George, “Design of Adaptive Exponential Functional Link Network-Based Nonlinear Filters,” IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 63, no. 9, pp. 1434–1442, 2016.
-
D.Comminiello, M.Scarpiniti, L.A.Azpicueta-Ruiz, J. Arenas-Garcia, and A. Uncini, “Functional link adaptive filters for non-linear acoustic echo cancellation,”IEEE Transactions on Audio,Speech, and Language Processing, vol. 21, no. 7, pp. 1502–1512,2013
Related Skills
node-connect
333.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
82.0kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
82.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
333.3kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
