主要内容

Simulink实时有源噪声控制金宝app

使用Speedgoat®Simulink®real-time™靶标设计一个实时主动噪声控制系统。金宝app

有源噪声控制(ANC)

主动噪声控制的目标是通过产生“抗噪声”信号来消除不需要的声波,从而减少不需要的声音。这一原理已成功地应用于各种各样的应用,如降噪耳机、汽车内饰的主动声音设计、通风管道和通风罩的降噪。

在本例中,我们应用了基于模型的设计原则。首先,我们在仿真中使用了一个简单的声学模型,在没有任何硬件的情况下设计了ANC。然后,我们通过将模拟的声路替换为Speedgoat目标计算机和Speedgoat支持金宝app(金宝appSimulink实时)及其IO104模拟模块。Speedgoat是Simulink的一个外部实时目标,它允许我们实时执行我们的模型,并实时观察任何金宝app感兴趣的数据,如自适应滤波系数。

此示例附带一个视频:主动噪声控制–从建模到实时原型.

ANC前馈模型

下图演示了一个典型的前馈ANC。在管道入口处的噪声源,如风扇,被扬声器“消除”。噪音的来源B(N)使用参考麦克风进行测量,并使用错误麦克风监控系统输出处的信号,E(N).请注意,参考话筒和扬声器之间的距离越小,ANC必须能够更快地计算和回放“抗噪”。

主要路径是两个话筒之间的传递函数,W(Z)是根据最后一个可用的错误信号计算的自适应滤波器E(N),以及次路径s(Z)是ANC输出和错误麦克风之间的传递函数。次要路径估计是的(Z)用于过滤NLMS更新函数的输入。此外,还有声反馈F(Z)可以估计从ANC扬声器到参考话筒的距离(F'(Z))并从参考信号中删除B(N).

为了实现一个成功的ANC系统,我们必须同时评估主要路径和次要路径。在这个例子中,我们首先估计二次路径和声音反馈,然后保持它不变,同时ANC系统适应主路径。

Filtered-X ANC模型

使用Sim金宝appulink和基于模型的设计,您可以从所需系统的基本模型和模拟环境开始。然后,您可以提高该模型的真实性或用真实环境替换模拟环境。当您了解更多关于真实世界系统的挑战时,您还可以通过优化模拟环境进行迭代。例如,如果声音反馈或测量噪声是限制真实系统性能的因素,则可以将其添加到模拟环境中。

从一个滤波x NLMS ANC系统模型开始,包括ANC控制器和管道的声环境。假设我们已经对辅助路径有了一个估计,因为我们将在稍后设计一个系统来测量它。将误差传声器处的信号模拟为经主声路滤波的噪声源与经二次声路滤波的ANC输出之和。在配置中使用“LMS Update”块,使错误麦克风捕捉到的信号最小化。在滤波x系统中,NLMS更新的输入是由估计的二次路径滤波的噪声源。为了避免代数循环,新滤波器系数的计算与LMS滤波器的使用之间存在一个样本的延迟。

将辅助路径设置为s(N) =[0.5 0.5 -。3 -。3 -。2 -。以及到达的主要路径conv(s(N),F(N)),在哪里F(N) = [.1 -.1 .2 -.2 .3 -.3 .15 -.15]. 验证自适应滤波器是否正确收敛到F(N),在这种情况下,一旦与辅助路径卷积,它就会匹配模型中的主路径。请注意,s(N),F(N)可以任意设置,但我们可以尝试任何FIR传递函数,例如实际的脉冲响应测量。

二次路径估计模型

设计一个模型来估计辅助路径。使用适合于识别未知系统的配置中的自适应滤波器。然后我们可以证明它收敛于f(n)

Speedgoat的实时实现

为了在实时环境中试验ANC,我们构建了经典风管示例。在下图中,从右到左,我们有一个扬声器播放噪声源、参考麦克风、ANC扬声器和错误麦克风。

延迟至关重要:系统必须记录参考话筒,计算响应,并在声音在这些点之间传播所需的时间内在ANC扬声器上播放。在本例中,参考话筒与“Y”部分开始之间的距离为34 cm。音速为343 m/s,因此我们的最大延迟为1 ms,或者本例中使用的8 kHz采样率下的8个采样。

我们将在Simulink中使用带IO104模拟I/O接口卡的Speedgoat实时目标。Speedgo金宝appat允许我们实现低至一两个样本的延迟。

为了实现我们的实时模型,我们使用了我们之前测试过的构建块,并简单地用Speedgoat I/O块替换了声学模型。我们还加入了从ANC扬声器到参考麦克风的声学反馈测量,并添加了一些逻辑,在切换到实际ANC模式之前自动测量辅助路径10秒。在前10秒,ANC扬声器播放白噪声,并启用两个NLMS滤波器,每个麦克风一个。然后,为了方便,模型会播放一个“噪声源”,但ANC系统的实际输入是参考麦克风(这种播放可以用一个真实的噪声源代替,比如管道右端的风扇)。该系统记录参考麦克风,适配ANC NLMS滤波器,并为ANC扬声器计算信号。我们小心地设置我们的模型属性,以便IO104卡驱动Simulink模型的节奏(参见金宝appIO104处于中断驱动模式)。要访问模型文件夹,请单击“打开脚本”按钮打开示例。该模型的文件名为“Speedgoat\u FXLMS\u ANC\u model.slx”。

降噪性能

我们测量了这个ANC原型的双音性能和一台消音洗衣机的实际记录。我们获得了双音降噪20-30分贝,记录降噪8-10分贝,这是一个更现实但也更困难的情况。滤波器的收敛速度不到几秒钟但实际情况需要更多的时间(一到两分钟)。

延迟测量

性能的另一个方面是系统的延迟,因为这决定了参考话筒和ANC扬声器之间的最小距离。在我们的原型中,我们使用的有源ANC扬声器可能会引入延迟,因此我们可以通过比较两个麦克风之间的响应与ANC输出信号和错误麦克风之间的响应来确保这不是一个问题。这两个延迟之间的差异是系统可用于计算来自参考话筒的抗噪信号的最长时间。使用相同的NLMS识别技术,我们从参考话筒到错误话筒获得以下响应:

然后,我们可以将该响应与二次路径估计进行比较:

差异仅仅是两三个样品,所以使用我们目前的有源扬声器和Speedgoat,在我们的原型中,我们无法显著减少参考麦克风和ANC扬声器之间的距离。为了减少距离,我们需要一个不会带来任何额外延迟的扬声器。我们还可以增加Simulink模型的采样率(无论采样率如何,Speedgoat延迟都被设置为一个金宝app或两个采样)。

工具书类

郭世明和摩根,“主动噪声控制:教程回顾,”《IEEE会议录》,第87卷,第6期,第943-973页,1999年6月。

K.-C。陈,彭译葶。郭思明,“在管道中有效的噪音控制以消除宽带噪音”,国立中山大学学报(自然科学版),vol. 23, no. 1, no. 3。1, 2017。https://iopscience.iop.org/article/10.1088/1757 - 899 x/237/1/012015。

Speedgoat目标计算机和Speedgoat支持金宝app(金宝appSimulink实时)

在Simulink中设置IO104模块金宝app

在中断驱动模式下设置IO104

另见:基于滤波X-LMS FIR自适应滤波器的有源噪声控制