主要内容

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

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

模型结构

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

该模型分为两个阶段:对接收到的音频信号进行模拟,并对结果进行波束化。对应于模型的每个阶段的块是:

接收音频模拟

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

  • 来自多媒体文件-部分音频来源子系统,每个块从不同的wav文件读取音频,每次1000个样本。三个标有标签的积木source1source2而且source3对应三个来源。

  • 连接—连接三个输出来自多媒体文件块分成三列矩阵,每一列一个音频信号。

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

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

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

波束形成

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

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

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

  • 手动开关—发送到音频设备的非波束化音频流和波束化音频流之间的切换。

案例探究

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