๐Final Project of the Signal and Systems Course
๐จโ๐ซUnder the supervision of Prof. Mohammad Rahmati
๐Fall 2021 โ Amirkabir University of Technology (Tehran Polytechnic)
This repository contains the implementation of a two-phase audio processing project focused on noise removal and frequency band equalization using Fourier analysis and digital filtering techniques.
Remove noise from an audio signal (phaseIsample.wav) using Fourier Transform and frequency-domain filtering.
- ๐ Load and Visualize the audio signal (time domain)
- ๐ Apply Fourier Transform to analyze frequency components
- ๐๏ธ Identify Noise Frequencies โ weaker amplitudes are considered noise
- ๐งน Filter Out Noise by zeroing out non-dominant frequency components
- ๐ Apply Inverse Fourier Transform to reconstruct the denoised signal
- ๐ Compare and Visualize original vs. denoised signals
- Fast Fourier Transform (FFT)
- Frequency-domain filtering
- Inverse FFT for reconstruction
Build a 10-band equalizer that amplifies or attenuates specific frequency bands based on user input.
- Band 1: 20โ50 Hz
- Band 2: 50โ100 Hz
- Band 3: 100โ200 Hz
- Band 4: 200โ500 Hz
- Band 5: 500โ1000 Hz
- Band 6: 1000โ2000 Hz
- Band 7: 2000โ4000 Hz
- Band 8: 4000โ8000 Hz
- Band 9: 8000โ12000 Hz
- Band 10: 12000โ20000 Hz
- ๐๏ธ Define Gain Array โ e.g.,
[2, 3, 1, 1, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1] - ๐ง Apply Gains to corresponding frequency bands
- ๐ Reconstruct Signal using Inverse FFT
- ๐พ Export the modified audio file
- ๐ง Compare original and equalized audio
- Case 1: Boost frequencies below 1200 Hz, attenuate others
- Case 2: Boost frequencies above 2000 Hz, attenuate others
๐ Signal-And-Systems-Project/
โโโ ๐ p1.py # Phase 1: Denoising
โโโ ๐ p2.py # Phase 2: Equalizer
โโโ ๐ phaseIsample.wav # Sample audio for Phase 1
โโโ ๐ phase2sample.wav # Sample audio for Phase 2
โโโ ๐ Final_Project.pdf # Project description (Persian)
โโโ ๐ README.md # This file- Python ๐
- NumPy
- SciPy
- Matplotlib
- Wave module
- Clone the repository:
git clone https://github.com/Amirbehnam1009/Signal-And-Systems-Project.git
- Install dependencies:
pip install numpy scipy matplotlib
- Run each phase:
python p1.py python p2.py
-
This project was completed individually as part of the Signal and Systems course
-
The report includes detailed explanations, visualizations, and analysis of each step
-
The equalizer allows customizable gain control across 10 frequency bands
For questions or collaborations, feel free to reach out: https://img.shields.io/badge/GitHub-Amirbehnam1009-blue
This project is for educational purposes and is part of the academic curriculum at Amirkabir University of Technology.