亚当厨师,Mathworks
主动噪声控制(ANC),也被称为主动噪声消除,试图用破坏性干扰消除不需要的声音。ANC系统使用自适应数字滤波来合成与不需要的信号振幅相同但相位相反的声波。本视频首先回顾了非国大的基本原则。然后展示如何使用Simulink万博1manbetx®设计和模拟ANC系统,使用过滤器X NLMS自适应滤波器取消管道模型内的噪声。最后,您将了解如何使用现实世界的管道管道和配备有超低延迟操作系统和超低延迟A / D和D / A转换器的Speedgoat实时音频机来实现ANC系统。视频显示如何使用自动C代码生成从仿真模型到实时原型。
探索这个视频中使用的例子:使用Simulink实时的自适应噪声控制万博1manbetx。
你是否曾经想过,耳机、汽车和暖通空调系统等主动噪声消除系统是如何被开发和原型化的?
让我向您展示使用Matlab,Simulink和Speedgoat实时目标机器的万博1manbetx原型。
使用一些简单的PVC管道,该系统模拟了可用于HVAC的管道中的噪声消除系统类型。
让我们谈谈我们如何开发这个系统。
主动噪声消除的主体是当音频波以确切的逆求和时,所得到的波形为零。
那么如何产生一种波形,这是原始噪声源的确切逆的波形?
当然,这并不是微不足道的。然而,使用一些声学和信号处理的基本原理,我们可以设计一个系统,使我们非常满意的消除结果。
考虑我们PVC管模型的这张图。我们模型中的噪声源是PVC管一端的扬声器。噪音消除,或“抗噪音”的来源是另一个扬声器通过一个肘关节连接。
下面是我们的动画如何与现实世界的PVC管道模型相结合。
除了噪声和抗噪声源之外,我们的系统还使用两个测量麦克风。第一个测量麦克风是我们的“参考麦克风”。这将记录靠近其原点的噪声源。
第二个测量麦克风叫做“误差麦克风”。它被放置在PVC管的输出端。这个麦克风就在噪声消除将要发生的地方。
所以,如果“反噪声”信号只是噪声源的倒数,为什么我们不能逆变参考麦克风信号并播放扬声器?原因是噪声源将从其原点到管道的末端向下传播到路径。我们用“错误麦克风”测量管道末端的音频信号。当信号传播时,管道用作改变噪声声音的滤波器。噪声的传播路径从其原点到管末端的噪声称为“主路径”。
我们可以通过使用“自适应滤波器”算法来确定这个“主路径”滤波器的特性。这个滤波器将适应,直到它学会了提供这个滤波器的数字表示的滤波器权重。
我们用于更新滤波器权重的更新算法称为“归一化LMS”。
但是等等,抗噪音扬声器也有自己的传播路径!我们还必须考虑到这条路。来自抗噪声扬声器到错误麦克风的传播路径称为“次级路径”。在NLMS更新之前,我们包括我们系统中的次要路径的估计。
那么,我们现在结束了吗?不!最后要考虑的路径是从抗噪声扬声器到噪声参考麦克风的反馈路径。我们需要从参考麦克风中减去抗噪声信号,否则我们会有一个连续的反馈循环,这将导致不正确的结果。
好的,现在我们已准备好模拟。使用Simu万博1manbetxlink,我们创建了我们真实世界PVC管系统的模拟模型和我们的主干消除消除算法。
该模型允许我们使用快速原型环境来模拟现实系统。
例如,在此模型中,我们正在模拟具有数字滤波器等效物的主要和次级传播路径。此外,我们模拟了具有求和块的噪声和抗噪声信号的声学求和。
现在,任何开发实时音频硬件系统的人都知道可能会有不便和技术困难,这些困难通常会妨碍关注算法。关于这种方法的伟大事项是,我们可以在没有硬件的情况下开始关闭,测试/调试算法,然后用真实世界等同物替换我们的算法的模拟部分一旦我们有信心运行。
此工作流程通常被称为基于模型的设计。
当我们在仿真中运行此模型时,我们可以实时侦听音频信号。
我们还可以查看信号在时间范围内随时间变化。黄色信号表示输入噪声信号,因此它保持恒定。蓝色信号表示在误差麦克风处测量的信号。当我们运行模拟时,随着过滤器适应,我们会看到蓝色信号随时间减少幅度。
在这里,我们看到滤波器随着时间的推移而改变的滤波器权重。
一旦我们相信我们的算法正在进行仿真,下一步是通过实际的现实系统更换模拟的声学环境。为此,我们需要一个工具,允许我们使用超低延迟将音频信号纳入和退出我们的Simulink模型。万博1manbetx
为了达到最佳的延迟性能,我们使用Simulink real和Speedgoat Real-Time目标机来部署该模型。万博1manbetx
本机提供超低延迟实时内核和超低延迟转换器,允许信号超出传统桌面或笔记本电脑的快速传递。
为什么我们关心延迟低?让我们回到我们的模型。系统必须录制参考麦克风,计算响应并在这些点之间进行声音旅行所需的时间播放响应并重新播放。在该示例中,参考麦克风与“Y”部分之间的距离为34cm。声音速度为343米/秒,因此我们的最大延迟是1毫秒。
SpeedGoat可以配备必要的A / D和D / A转换器,以使音频进出机器,延迟非常低。实际上,通过这种解决方案,总延迟是2个样本。如果我们使用8khz采样率,那是四分之一毫秒!
我们可以通过一些简单的修改使Si万博1manbetxmulink模型在Speedgoat硬件上运行。
我们将使用这些自定义Simulink块与我们的SpeedgoAT目标计算机的真实世界音频信号进行界面。万博1manbetx这些块允许我们指定样品速率和音频信号的电压范围。
我们还可以访问“目标范围”,它允许我们可视化连接到目标机器的监视器上的信号。
在这里,我们看到模型的主动噪声控制部分,适于在速度上运行。
因为我们使用了基于模型的设计方法,所以这个模型与我们最初为测试算法而建立的仿真模型非常相似。
我们已删除模拟声滤波和声学求和的块,因为它们不再需要。我们现在直接与现实世界的信号接口。
我们添加到我们模型中的另一个功能是执行“二级路径估计”的块。这允许我们替换在模拟期间使用的二级路径的估计,其实际测量真实的次要路径。
该度量将在模型首次运行时进行。测量完成后,我们将切换到主动噪声消除。
我们对声音反馈做同样的事情。
这是我们的模型在Speedgoat机器上实时运行。
我们从测量次级路径估计和声反馈的模型开始。这是通过通过抗噪声扬声器发送白噪声信号来完成的。
在这之后,我们开始制造噪音。产生的噪声源由模拟暖通空调风扇或电机振动的合成音调组成。或者,我们可以使用类似噪音类型的真实记录。
我们从系统开头。我们可以在实时范围监视器上监控测量麦克风信号。此外,我们可以通过在测量麦克风旁边放置的分贝仪查看噪声信号的水平。
现在,我们将在我们的模型上使用此仪表板开关打开主动噪声控制。
分贝表处的噪声水平开始减少。在几秒钟内,我们看到非常明显的结果。噪音减少了20 dB!
我们希望此视频对我们的方法提供了一些有用的洞察力,以利用实时流音频快速原型设计有源噪声消除系统。
我们能够使用Simulink创建我们系统的现实模型,然后使用Simulink实时和SpeedGoat实时目标机器应用该模型万博1manbetx。
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。