Skip to content

Real-time Implementation of CNN-based selective fixed-filter active noise control and effectiveness analysis using explainable AI

Notifications You must be signed in to change notification settings

xmpx/SFANC-Window

 
 

Repository files navigation

CNN-based SFANC implemented in ANC Window

This repository contains the code for the paper "Real-time Implementation and Explainable AI Analysis of Delayless CNN-based Selective Fixed-filter Active Noise Control," accepted by the Mechanical Systems and Signal Processing journal. The paper is available on ResearchGate and Elsevier.

Video of Experiment Results

Highlights

  1. Implements CNN-based selective fixed-filter active noise control (SFANC) in a multichannel ANC window for delayless noise reduction.
  2. Abstracts ANC as a Markov process and provides a theoretical analysis to validate the CNN-based SFANC method.
  3. Utilizes an explainable AI technique, LayerCAM, to visually explain the decision-making process in the CNN-based SFANC method.
  4. Demonstrates effective attenuation of various low-frequency noises and good transferability through simulations and real-time experiments.

Usage

Pre-trained CNN

  • A synthetic noise dataset is used to train the CNN, containing 80,000 noise instances for training. The noise instances are generated by filtering white noise through various bandpass filters with randomly chosen center frequencies and bandwidths. Each noise instance has a 1-second duration.
  • The code and pre-trained model of the CNN are provided in Modified_ShufflenetV2.py and ShuffleNetV2_Synthetic.pth, respectively.

Real-time Implementation

  • 7 pre-trained control filters are obtained in the 4-channel ANC window with 1 reference microphone, 4 secondary sources, and 4 error sensors. 7 broadband noises with different frequency ranges (as shown in the figure below) are used as primary noises to obtain the corresponding pre-trained control filters.

  • During real-time noise control, the laptop runs the code Main_SFANC_Window.ipynb to transmit the index of the selected control filter to the PXI processing unit.

Applying to New Environments

  • To use the CNN-based SFANC method in new acoustic environments, obtain the corresponding pre-trained control filters in the new acoustic paths. The trained CNN in the CNN-based SFANC method can remain unchanged. For more details, please refer to the paper.

Related Works

If you are interested in our works, please consider citing our papers. Thanks! Have a great day!

About

Real-time Implementation of CNN-based selective fixed-filter active noise control and effectiveness analysis using explainable AI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 83.0%
  • Jupyter Notebook 17.0%