主要内容

用Simulink实时主动噪声控制

设计一个实时有源噪声控制系统使用Speedgoat®Simulink®real-time™目标。

主动噪音控制

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

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

这个例子有一个配套的视频:主动噪声控制-从建模到实时原型

非国大前馈模型

的一个经典示例前馈ANC。风管入口的噪声源,如风扇,由扩音器“消除”。噪音的来源bn)用参考传声器测量,用误差传声器监测系统输出的信号,en).注意,参考麦克风和扬声器之间的距离越小,ANC必须能够更快地计算和播放“抗噪声”。

主要路径是两个麦克风之间的传递函数,Wz)是根据最后可用误差信号计算的自适应滤波器en)和辅助路径年代z)为ANC输出与误差麦克风之间的传递函数。辅助路径估计年代z)用于过滤NLMS更新函数的输入。还有声音反馈Fz)从ANC扬声器到参考麦克风可估计(F 'z))并从参考信号中移除bn).

要实现一个成功的ANC系统,我们必须同时估计主要路径和次要路径。在本例中,我们先估计辅助路径和声学反馈,然后在ANC系统适应主路径时保持其恒定。

Filtered-X ANC模型

使用Simulink和基于模型的设计,您可以从所需系统和模拟环境的基本模型开始。然后,您可以提高模型的真实感,或者将模拟环境替换为真实环境。当您更多地了解真实系统的挑战时,您还可以通过改进模拟环境进行迭代。例如,如果声学反馈或测量噪声是限制现实系统性能的元素,那么可以在模拟环境中添加这些噪声。

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

设置从路径为年代n) = [0.5 0.5 -.]3 -。3 -。2 -。2]和主路径conv年代n),fn)),fn) =(。1 -。1。2 -。2。3 -。3含量原来]。验证自适应滤波器正确收敛于fn),在这种情况下,一旦与辅助路径卷积,它就匹配我们模型中的主要路径。请注意,年代n),fn)是任意设置的,但我们可以尝试任何FIR传递函数,例如一个实际的脉冲响应测量。

二次路径估计模型

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

使用Speedgoat实时实现

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

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

我们将在Simulink中使用带有IO104模拟I/O接口卡的Speedgoat实时目标。快速山羊允许我们实现低至一个或两个样本的延迟。

为了实现我们的实时模型,我们使用之前测试过的构建块,并简单地用Speedgoat I/O块替换声学模型。我们还包括了从ANC扬声器到参考麦克风的声学反馈的测量,并添加了一些逻辑,在切换到实际的ANC模式之前自动测量10秒的辅助路径。在最初的10秒内,在ANC扬声器上播放白噪声,并启用两个NLMS滤波器,每个麦克风一个。然后,为了方便起见,模型会回放一个“噪声源”,但ANC系统的实际输入是参考麦克风(这个回放可以用一个真正的噪声源替代,比如风管右端的风扇)。系统记录参考麦克风,调整ANC NLMS滤波器,为ANC扬声器计算信号。我们注意设置我们的模型属性,以便IO104卡驱动Simulink模型的节奏(参见中断驱动模式下的IO104).要访问模型的文件夹,点击“open Script”按钮打开示例。模型的文件名是“Speedgoat_FXLMS_ANC_model.slx”。

降噪性能

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

延迟测量

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

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

差异只有两到三个样本,所以使用我们目前的主动扬声器和Speedgoat,我们不能显著减少参考麦克风和我们原型中的ANC扬声器之间的距离。为了缩短距离,我们需要一个不引入任何额外延迟的扬声器。我们还可以增加Simulink模型的采样率(不管采样率如何,Speedgoat的延迟设置为一个或两个样本)。

参考文献

郭绍明和摩根,"主动噪声控制:教程回顾"在IEEE会刊,第87卷,no。第6页,943-973页,1999年6月。

K.-C。陈,彭译葶。郭绍明,“在管道中主动噪声控制以消除宽带噪声”,载于《材料科学与工程学报》,第237卷第1期。1, 2017。https://iopscience.iop.org/article/10.1088/1757 - 899 x/237/1/012015。

快速山羊目标计算机和快速山羊支持(实时仿真软件)

在Simulink中设置IO104模块

将IO104设置为中断驱动模式

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

Baidu
map