案例研究

Moku:Go 的机器听觉教学

具有自适应噪声抑制和加速神经网络发言者识别功能的定制会议室系统

介绍

武汉理工大学 (WUT) 是一所双一流大学,经常位列中国工程学院前 10 名。 武汉理工大学专门教授人工智能和新能源汽车等现代和新兴工程学科。

Moku:Go 是 Liquid Instruments 为工程教育和一般行业量身定制的第一个软件定义仪器解决方案。 软件定义的功能使 Moku:Go 能够提供 14 多种用于电子和电信实验室的不同仪器。 和 多仪器并行模式 (MiM),用户可以组合成对的仪器以无损互连同时运行。

Moku:Go 支持 Moku 云编译 (MCC),一种用于创建和部署数字信号处理算法的托管服务。 MCC 用户可以使用他们最喜欢的工具(如 MATLAB 和 Simulink)设计算法,然后轻松地将它们部署到 Moku:Go 设备,在那里它们与其他软件定义的仪器一起实时运行。

挑战

WUT 的学生比许多学生更早、更严重地受到 COVID-19 大流行的影响。 当他们被允许在课堂上见面时,强制性的面具和社会疏远要求使学生很难听到对方的声音,听到老师的声音,也很难参与课堂活动。

为了应对这一挑战,一群学生决定设计一个具有自动跟踪能力和实时语音处理能力的智能会议室系统。 学生们确定了他们希望从会议室系统中获得的四种不同功能:

  • 说话人识别
  • 语音均衡(音色增强)
  • 自适应噪声消除
  • 遮罩检测

解决方案

学生们选择 Moku:Go 作为帮助他们构建系统的最佳设备。 这一选择基于其软件定义的检测方法,该方法支持针对许多不同应用程序的配置,以及强大的定制选项,如 Moku Cloud Compile。 他们使用 Moku:Go 来解决说话人识别和自适应噪声消除的核心问题。 虽然语音均衡是可以实现的 Moku:Go 数字滤镜盒,对于这个项目,学生们使用了一个他们已经拥有的简单的 FPGA 开发板。 为了直观地确定面具检测,学生们使用了市售的面部检测系统。

说话人识别是一项具有挑战性的任务,但需要在抑制背景噪音的同时放大说话人的声音。 学生们通过将 Kendryte 强大的 K210 边缘计算加速器连接到他们的 Moku:Go 来实现这一目标。 K210 是一款经济高效的片上系统,专为加速嵌入式系统中的机器学习任务而设计。 学生们对 K210 进行了编程,使其运行一个卷积神经网络,从阵列中的六个麦克风获取输入信号,并生成一个代表主要声音方向的模拟电压。

学生将 K210 的主要扬声器方向信号连接到 Moku:Go PID控制器 (图 1),以及表示系统高保真麦克风指向的实际方向的信号。 PID 控制器仪器利用这些值的差异来找出方向误差,并驱动伺服电机平稳地将主麦克风重新定位以指向扬声器。

图 1:为麦克风定位配置的 PID 控制器

比例增益主导着 PID 控制器的调整,而积分器和微分器饱和功能在低频和高频下提供了小幅、有界的增益增加。 在低频时,积分器补偿测向算法中的系统误差和偏差。 小的差分增益提供阻尼,平滑麦克风的移动。

学生系统的最后阶段是自适应噪声消除。 这种强大的技术需要两个输入:噪声信号和环境噪声流。 它智能地自动调整滤波器以最好地去除原始信号中的环境噪声。 在这种情况下,学生们从指向扬声器的主麦克风获取信号,并对来自麦克风阵列的环境噪声进行采样。

一种用于噪声消除的算法是最小均方 (LMS) 自适应滤波。 然而,为现场可编程门阵列编写 LMS 自适应滤波器是一项复杂的任务,超出了大多数大学水平的信号处理课程的范围。 MCC 缩小了差距,允许学生使用 MathWorks Simulink 从标准构建块构建和测试 LMS 算法,并在他们的 Moku:Go 设备上运行它。

结果

自适应会议室系统是一项真正的跨学科团队工作。 熟悉神经网络、计算机工程和控制系统的学生构建并验证了说话人识别系统、训练了神经网络并调整了 PID 控制器。

自适应噪声消除被证明是最大的挑战。 学生使用了 Moku:Go 数据记录器 在真实情况下捕获信号,以便他们可以在 MATLAB/Simulink 生态系统中测试、迭代和改进他们的设计。 一旦他们验证了系统,他们就使用 HDL Coder 将其导出到 VHDL 并运行最终系统检查。 图 2 显示了一个这样的模拟运行,其中顶行显示的理想语音信号在被馈送到 LMS 自适应滤波器之前被人为地淹没在背景噪声(第二行)中。 滤波器迅速将自身调整到噪声曲线并恢复声音(最后一行,图 2)。

图 2:自适应噪声消除系统 VHDL 在真实数据上的模拟性能

一旦使用真实数据离线验证,他们将 VHDL 导入 MCC,构建设计,并在他们的 Moku:Go 设备上运行。

结论

Moku:Go 形成了一个完全自适应会议室系统的核心,在解决一个真实而紧迫的问题的同时,进一步加深了学生对实时数字信号处理 (DSP) 和机器学习技术的理解。 Moku:Go 的终极灵活性意味着可以将单个单元重新用于开发控制系统、滤波器和复杂的 DSP。 HDL Coder 和 MCC 的集成在复杂信号处理的快速测试和部署中发挥了独特的作用。

要了解有关 Moku:Go 和我们的课件产品的更多信息,请直接联系我们的教育团队: edu@liquidinstruments.com.