Implementation of Kalman Filter Approach for Active Noise Control by Using MATLAB: Dynamic Noise Cancellation
Guo Yu
TL;DR
The paper tackles slow convergence of conventional FxLMS in active noise control when faced with dynamic, nonstationary noise. It proposes a Kalman filter–based ANC framework with a tailored dynamic model and a modified feed-forward structure, implemented in MATLAB. Simulations show that the Kalman approach converges faster and achieves better disturbance attenuation for a chirp-like dynamic noise than FxLMS. The work provides an open-source KF implementation (GitHub and MathWorks File Exchange) to enable replication and practical adoption in real-time ANC systems.
Abstract
This article offers an elaborate description of a Kalman filter code employed in the active control system. Conventional active noise management methods usually employ an adaptive filter, such as the filtered reference least mean square (FxLMS) algorithm, to adjust to changes in the primary noise and acoustic environment. Nevertheless, the slow convergence characteristics of the FxLMS algorithm typically impact the effectiveness of reducing dynamic noise. Hence, this study suggests employing the Kalman filter in the active noise control (ANC) system to enhance the efficacy of noise reduction for dynamic noise. The ANC application effectively utilizes the Kalman filter with a novel dynamic ANC model. The numerical simulation revealed that the proposed Kalman filter exhibits superior convergence performance compared to the FxLMS algorithm for handling dynamic noise. The code is available on \href{https://github.com/ShiDongyuan/Kalman_Filter_for_ANC.git}{GitHub} and \href{https://www.mathworks.com/matlabcentral/fileexchange/159311-kalman-filter-for-active-noise-control}{MathWorks}.
