Git Product home page Git Product logo

sfanc-window's Introduction

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.

Training dataset

The noise dataset used to train the CNN is available at - Training dataset

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!

sfanc-window's People

Contributors

luo-zhengding avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.