Giter Site home page Giter Site logo

matthewcaren / aurras Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 2.89 MB

Active environmental noise cancellation using an FPGA

License: MIT License

Python 28.07% Tcl 9.17% SystemVerilog 50.52% Verilog 10.71% Shell 0.74% MATLAB 0.79%
fpga noise-cancellation active-noise-control

aurras's Introduction

aurras

Lighweight active open-field noise cancellation on an FPGA. Built for an Xilinx Spartan-7 XC7S50-CSGA324 FPGA.

specs

Achieves up to 15dB of single-source noise attenuation in a dead room, and up to 12dB of attenuation in reverberant spaces within the target band of 200–2000 Hz (see paper for comprehensive results).

Runs 16-bit audio @ 24 kHz. Developed for the Xilinx Spartan-7 FPGA with the RealDigital Urbana board.

clocking

  • Main clock: 98.3 MHz
  • i2s driver clock (main clock / 32) ≈ 3.072 MHz
  • Input audio rate from I2S (main clock / 2048) ≈ 48 kHz
  • Project audio rate (main clock / 4096) ≈ 24 kHz

memory

  • Audio buffers are all 1 second, stored in memory as 750 lines of 64 words with 16 bits per word
  • 1s convolution requires ~96k bits required working memory for IR + equal-sized convolution buffer

peripherals

  • 2-channel input via I2S MEMS microphones
  • 2-channel output to low-latency amplifier & full-range drivers

controls

btn0: System reset
btn1: Calculate DC offset
btn2: Monitor audio from microphone
btn3: Environment calibration (record impulse response)

sw0: Channel 0 output enable
sw1: Channel 1 output enable
sw2: 440Hz test tone
sw3: Raw input from mic
sw4: Processed input from mic (DC-blocked, antialiased, downsampled)
sw5: Intermediate output
sw6: Room Adjusted Mode: Delayed and convolved audio output
sw7: Core Noise Cancellation Mode: Delayed but not convolved audio output
sw8: Audio delayed by one second
sw10-sw15: Delay amount (number of 24kHz cycles)

The 7-segment display shows the numerical values of the samples being sent to the speaker in real-time.

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.