You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
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
- Calibrated Rates: Optimized for 8kHz and 16kHz audio.
- nput: Multi-mic time-domain signals (L x M).
- Output: Enhanced mono signal, peak-normalized.
- 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
- Version 1.0.0 (6.52 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.0.0 |
