Rank-N multichannel Wiener filter speech enhancer

N-microphone multichannel Wiener filter speech enhancer

You are now following this Submission

This algorithm, implemented in rankn.m, is a high-performance multichannel speech enhancement framework designed specifically for challenging environments like drone-mounted microphone arrays. It combines spatial filtering with advanced spectral post-processing in a completely self-contained, zero-dependency MATLAB implementation.
Key Innovations
1. Rank-N Spatial Filtering (SDW-MWF) At its core, the algorithm applies a Speech Distortion Weighted Multichannel Wiener Filter (SDW-MWF).
  • Unlike traditional beamformers that rely on strict geometric assumptions, rankn estimates the spatial statistics of the environment in real-time.
  • The Math: It solves for weights using the Woodbury identity to handle Rank-N speech models, allowing for a flexible trade-off between noise suppression and speech distortion (μ parameter).
  • Robustness: By treating the speech covariance as Rank-N, it remains stable even when the steering vector estimation is imperfect or when the array is physically small.
2. Advanced Optimization (No Matrix Inversion)
  • To ensure the algorithm is computationally efficient and numerically stable for real-time applications, it avoids explicit matrix inversions:
  • Power Iteration: The speech steering vector (d) is refined using power iteration seeded from the reference mic column. This captures the dominant speech direction without expensive eigen-decompositions.
  • Conjugate Gradient (CG) Solver: The complex system Φₙₙ⁻¹ d is solved via the Conjugate Gradient method. This is mathematically exact in N steps (where N is the number of microphones) and handles high-dimensional noise covariance matrices with ease.
3. Hybrid Spatial-Spectral Architecture
  • Spatial filtering alone often struggles with low-frequency tonal noise (like drone rotors) due to the small physical aperture of mobile arrays. To solve this, rankn employs a second stage:
  • OMLSA Post-Filter: An Optimally-Modified Log-Spectral Amplitude gain stage follows the beamformer.
  • Min-Stats Tracking: It uses minimum-statistics noise tracking and decision-directed a-priori SNR estimation to suppress residual non-stationary noise and "musical noise" artifacts.
4. "Battery Included" Implementation
The implementation is designed for portability and research transparency:
  • Zero Dependencies: No Signal Processing or Optimization toolboxes required.
  • STFT/iSTFT: Built-in square-root Hann windowing with 75% overlap for perfect reconstruction (COLA compliant).
Technical Specifications
  1. Calibrated Rates: Optimized for 8kHz and 16kHz audio.
  2. nput: Multi-mic time-domain signals (L x M).
  3. Output: Enhanced mono signal, peak-normalized.
  4. Applications: Drone audio, robotics, smart home devices, and small-aperture array processing.

Cite As

Javad Rajabzadeh (2026). Rank-N multichannel Wiener filter speech enhancer (https://uk.mathworks.com/matlabcentral/fileexchange/184040-rank-n-multichannel-wiener-filter-speech-enhancer), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0