Audio Denoising using Spectral Analysis and FIR Filter Design

Overview

This project focuses on audio denoising using digital signal processing techniques.
A sinusoidal interference at 15.2 kHz was added to an audio signal and removed using a linear-phase FIR filter designed under strict real-time DSP constraints.
The workflow includes spectral analysis using Welch PSD estimation, evaluation of windowing parameters, and comparison between multiple FIR filter design methods.

Highlights

  • Spectral estimation using Welch’s method (FFT = 1024, 50% overlap)
  • Analysis of window types: Kaiser, Rectangular, Hanning, Hamming
  • FIR filter design under latency and computational constraints
  • Comparison of Kaiser, Equiripple, Blackman, and Least Squares designs
  • Real-time audio denoising with strong stopband attenuation (> 60 dB)

Methodology

Spectral Analysis

  • Extracted a 3-second audio segment
  • Added a 15.2 kHz sinusoidal interference
  • Computed single-sided PSD using Welch estimation
  • Studied effects of:
    • FFT size
    • Window type
    • Window length
    • Overlap percentage
    • Sampling frequency

Filter Design

The digital filtering problem required removing a narrowband interference while preserving audio quality.

Constraints:

  • Latency < 3.2 ms
  • Filter length: 100–200
  • Stopband attenuation ≥ 50 dB
  • Passband ripple ≤ 0.4 dB

Chosen Solution: A Kaiser-window FIR filter achieved:

  • ~75 dB stopband attenuation
  • Minimal passband ripple
  • Real-time computational feasibility

Code

  • The code is available on GitHub

Report