Main Content

Acoustic Beamforming Using Microphone Arrays

This example shows how to beamform signals received by an array of microphones to extract a desired speech signal in a noisy environment. This Simulink® example is based on the MATLAB® exampleAcoustic Beamforming Using a Microphone Arrayfor System objects.

Structure of the Model

该模型模拟了从不同方向上的三个音频信号在10元素均匀线性麦克风阵列(ULA)上的接收。在接收器上添加热噪声后,将应用光束成型,并在声音设备上播放结果。

该模型由两个阶段组成:模拟矩形eived audio signals and beamform the result. The blocks that corresponds to each stage of the model are:

Received audio simulation

  • Audio Sources- Subsystem reads the audio files and specifies their direction.

  • From Multimedia File- Part of theAudio Sourcessubsystem, each block reads audio from a different wav file, 1000 samples at a time. Three blocks labeledsource1,source2source3correspond to the three sources.

  • Concatenate- Concatenates the output of the threeFrom Multimedia Fileblocks into a three column matrix, one column per audio signal.

  • source angles-Constant块指定音频源的事件指示Wideband Rx Array堵塞。该块输出一个2x3矩阵。两行对应于每个源的一度程度的方位角和高程角度,三个列对应于三个音频信号。

  • Wideband Rx Array- Simulates the audio signals received at the ULA. The first input port to this block is a 1000x3 matrix. Each column corresponds to the received samples of each audio signal. The second input port (Ang) specifies the incident direction of the pulses. The first row of Ang specifies the azimuth angle in degree for each signal and the second row specifies the elevation angle in degree for each signal. The second row is optional. If they are not specified, the elevation angles are assumed to be 0 degrees. The output of this block is a 1000x10 matrix. Each column corresponds to the audio recorded at each element of the microphone array. The microphone array's configuration is specified in theSensor Arraytab of the block dialog panel. This configuration should match the configuration specified on the block dialog panel of theFrost Beamformer. See theConventional and Adaptive Beamformers金宝appSimulink示例学习如何使用传感器数组配置变量,以方便地在几个块上共享相同的配置。

  • Receiver Preamp- Adds white noise to the received signals.

Beamforming

  • Select beamform angle-Constantblock controls theMulti-Port Switchoutput and specifies which of the three source directions in which to beamform.

  • Frost Beamformer- Performs Frost beamforming on the matrix passed via the input portXalong the direction specified via the input portAng.

  • 2-D Selector- Selects the received signal at one of the microphone elements.

  • Manual switch- Switches between the non-beamformed and the beamformed audio stream sent to the audio device.

Exploring the Example

Click on theManual switchwhile running the simulation to toggle between playing the non-beamformed audio stream and the beamformed stream. Setting a value of 1, 2, or 3 in theSelect beamform angleblock while running the simulation will beamform along one of the three audio signals direction. You will notice that the non-beamformed audio sounds garbled while you can clearly hear any one of the selected audio streams after beamforming.