主要内容

使用麦克风阵列的声波束形成

这个例子展示了如何在嘈杂的环境中对一组麦克风接收到的信号进行波束形成以提取所需的语音信号。本Simu金宝applink®实例是基于MATLAB®实例的使用麦克风阵列的声波束形成系统对象。

模型的结构

该模型模拟了在10元均匀线性麦克风阵列(ULA)上接收来自不同方向的3个音频信号。在接收端加入热噪声后,进行波束形成并将结果播放到声音设备上。

该模型分为两个阶段:对接收到的音频信号进行仿真,并对结果进行波束形成。与模型的每个阶段相对应的块是:

收到音频模拟

  • 音频来源—子系统读取音频文件并指定其方向。

  • 从多媒体文件-部分音频来源子系统,每个块读取音频从一个不同的wav文件,1000个样本一次。三个街区的标签source1,source2source3对应三个来源。

  • 连接-连接三个的输出从多媒体文件分成三列矩阵,每个音频信号一列。

  • 源的角度-常数块指定声源的事件方向宽带Rx数组块。这个块输出一个2x3的矩阵。两排对应每个源的方位角和仰角的度数,三列对应三个音频信号。

  • 宽带Rx数组—模拟ULA接收到的音频信号。这个块的第一个输入端口是一个1000x3的矩阵。每一列对应于每个音频信号的接收样本。第二个输入端口(Ang)指定脉冲的入射方向。Ang的第一行以度数表示每个信号的方位角,第二行以度数表示每个信号的仰角。第二行是可选的。如果没有指定,则假设仰角为0度。这个块的输出是一个1000x10的矩阵。每一列对应于在麦克风阵列的每个元素上记录的音频。中指定了麦克风阵列的配置传感器阵列选项卡的块对话面板。的块对话框面板上指定的配置应该匹配弗罗斯特Beamformer.看到传统和自适应波束形成器金宝appSimulink®示例,学习如何使用传感器阵列配置变量,方便地共享多个模块的相同配置。

  • 接收机前置放大器—增加接收信号的白噪声。

波束形成

  • 选择beamform角-常数块控制多口开关输出并指定在三个源方向中的哪个方向波束形成。

  • 弗罗斯特Beamformer-在通过输入端口的矩阵上执行弗罗斯特波束形成X沿输入端口指定的方向

  • 二维选择器-选择一个麦克风元件上的接收信号。

  • 手动开关-在发送到音频设备的非波束形成和波束形成的音频流之间切换。

探索的例子

点击手动开关同时运行模拟以在播放非波束形成的音频流和波束形成的流之间进行切换。属性中设置值1、2或3选择beamform角块,而运行的模拟将波束形成沿三个音频信号的方向之一。你会注意到非波束形成的音频声音是乱码的,而在波束形成后,你可以清楚地听到任何选定的音频流。