Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 1.92 KB

README.md

File metadata and controls

24 lines (18 loc) · 1.92 KB

Minimum Power Distortionless Response Beamformer

This code is the matlab implementation of a near-field minimum power distortionless response (MPDR) beamformer. Note that, in literature, the MPDR beamformer is often incorrectly referred to as the MVDR beamformer.

As input, the beamformer takes the target location and the microphone locations. The power spectral density matrix corresponding to the received signal is estimated. Using this matrix, the MPDR beamformer tries to preserve the signal from the target location while discarding signals from other directions. If a voice activity detector is used, the MPDR can be changed to a minimum variance distortionless response (MVDR) beamformer.

Four examples are provided.

  • Example 1: An anechoic scenario with a single noise source, MPDR beamforming
  • Example 2: A reverberant scenario with a single noise source, MPDR beamforming
  • Example 3: A reverberant scenario with multiple noise sources, MPDR beamforming
  • Example 4: An anechoic scenario with a single noise source, MVDR beamforming with perfect voice activity detection

For each of the examples, three output audio files can be found in Example_Audio:

  • The clean (target) signal. Note that it includes a small delay before starting
  • The noisy signal. The noise level is not necessarily the same throughout the different examples. This signal is the signal measured by the reference microphone. The reference microphone is the microphone nearest to the target.
  • The enhanced signal. I.e. the output of the microphone beamformer.

Licensing

The examples make use of the room-impulse response generator from E. Habets (MIT license). You might need to compile this for your system. The sound excerpt is taken from the movie 'Sprite Fight' by Blender Studio (Creative Commons Attribution 1.0 License).