APP下载

一种调节反馈有源噪声控制系统水床效应的频域自适应算法∗

2019-04-02吴礼福李佳强郭晓董

应用声学 2019年1期
关键词:反馈系统有源频域

吴礼福 李佳强 陈 定 郭晓董 焦 坤

(1南京信息工程大学电子与信息工程学院 南京 210044)

(2江苏省大气环境与装备技术协同创新中心 南京 210044)

0 引言

随着经济、社会的快速发展,噪声污染已成为一大严峻的环境问题[1−3]。有源噪声控制(Active noise control,ANC)是一种通过主动产生的次级声信号与原噪声信号相互作用的方式而达到降噪效果的方法[4−5],在有源降噪耳机[6]、有源降噪头靠[7]、电力变压器噪声控制[8]等领域已有广泛的应用。反馈有源控制系统无需获取参考信号,系统构造简单,成本低,具有重要的应用前景。然而,反馈系统也有自身的不足,一是有效降噪频带较窄,二是系统稳定性较差,三是存在水床效应,即不同频段的噪声衰减特性不是孤立的,一个频段内的噪声衰减通常伴随着另一频段内的噪声放大[9−10]。

目前,反馈有源控制系统的设计方法可分为两类。一类是离线设计方法,例如运用H∞鲁棒控制理论设计反馈系统[6]、基于H2/H∞的优化方法设计反馈系统[7],文献[10]采用最小二乘的优化方法对水床效应中的噪声放大进行展平来设计反馈控制系统。离线设计方法的主要思想是构造一个和系统降噪性能有关的代价函数与约束条件,然后根据此代价函数,通过某种优化算法计算出控制器。然而,这些设计中采用的优化算法通常都不能保证寻找到的一定是最优解,且优化算法一般对初始值的选择都较为敏感,实际设计中通常需要足够的经验和多次尝试才能获得满意的控制器参数。此外,这类方法不具有自适应能力,即离线设计好的反馈系统不能随着环境的变化而自适应调整。另一类是在线设计方法,例如,Luo等[11]采用小波包分解噪声信号的方法调整反馈控制系统的控制器;Wu等[12−13]提出了一种简化的自适应反馈控制系统,该系统将误差信号直接用作参考信号,从而省去了次级信号与次级路径估计的滤波运算,降低了系统的复杂度。同时文献[12]中提出采用时域泄漏滤波-x最小均方(Filtered-x least mean square,FxLMS)算法可以改善系统的稳定性。这些方法虽然可以根据环境的变化而自适应调整,但是它们都没有明确考虑反馈系统中固有的水床效应引起的噪声放大现象。

为了克服前述离线设计方法的不足,同时考虑噪声放大现象,本文研究了一种反馈有源控制系统的自适应设计算法,该算法在获取降噪性能的同时,能有效调节水床效应引起的噪声放大。

1 调节水床效应的频域自适应算法

1.1 自适应反馈有源噪声控制系统

图1(a)是基于内模型控制(Internal model control)的自适应反馈有源噪声控制系统结构,它包含用于采集误差信号e(n)的误差传感器,用于产生次级信号y(n)的次级声源(扬声器),待降低的初级噪声d(n),合成的参考信号x(n)和控制器W(z)。反馈系统的目标是寻找合适的控制器W(z)对x(n)进行处理得到次级信号y(n),y(n)经次级路径S(z)后到达误差传感器处与d(n)相抵消。次级路径S(z)主要包括数模(D/A)转换、重构滤波器、功放、扬声器和扬声器与误差传声器之间的声学路径、误差传声器、前置放大、抗混叠滤波器和模数(A/D)转换等。为了补偿次级路径的影响,可以利用次级路径的估计ˆS(z)对参考信号x(n)进行滤波后作为LMS算法的输入,因此称作FxLMS算法。

图1(b)是文献[12]中提出的简化(Simplif i ed)自适应反馈系统结构,与图1(a)的区别是参考信号x(n)直接取自误差信号,而不是用经过ˆS(z)滤波后的次级信号来合成。本文的算法完全适用于图1所示两种结构的反馈系统,因此,若无特别说明,后续推导中不再明确区分。

图1 自适应反馈有源噪声控制系统Fig.1 Block diagram of adaptive feedback ANC systems

反馈系统的水床效应是指一个频段内的噪声衰减通常伴随着另一频段内的噪声放大[9−10],因此,在反馈系统的离线设计中,将噪声放大量作为一个约束条件,通过最小化误差信号能量来求解控制器W(z)。从图1可以看出,在z变换域,Y′(z)与初级噪声D(z)在误差传声器处相互抵消后有

Y′(z)满足

其中,X′(z)=X(z)S(z)是用次级路径的估计ˆS(z)对参考信号x(n)进行滤波后的信号。由式(2)可知如果能够限制控制器W(z)在某个频段内的幅度响应,则信号Y′(z)中该频段内的能量就会受限,最终可以调节E(z)中该频段内的噪声放大量。这是本文算法的出发点。

1.2 算法推导

常用的频域LMS算法是块LMS算法的快速实现方式,运用快速傅里叶变换(Fast Fourier transform,FFT)及重叠保留法可以节省大量运算量,但会有一个块长度的延时[14],这种延时会导致ANC系统性能的显著下降,因此在ANC系统中采用的是图2所示的频域FxLMS算法,该算法是在时域实现滤波操作以避免一个块长度的延时,而在频域完成滤波器系数的更新[15]。

图2中控制器w是一个L阶FIR(Finite impulse response)滤波器,即w(n)=[w0(n),w1(n),···,wL−1(n)]T,n是时间序号,上标T表示转置。为了避免循环卷积效应,FFT和IFFT的长度都为2L。xf(n)是利用次级路径的估计ˆS(z)对参考信号x(n)进行滤波后的信号,误差信号e(n)满足

其中,

w(n)的迭代方式为

图2 在时域滤波频域更新系数的频域FxLMS算法Fig.2 Frequency domain FxLMS algorithm with time domain f i ltering and frequency domain adaptation

其中,µ为步长,{·}+表示取因果部分操作,X∗(k)表示X(k)的复共轭。频域矢量X(k)和E(k)都是2L点的FFT系数,分别由其对应的时域矢量计算得到

式(7)中的0是L点的零矢量,e(n)为

式(5)∼(8)描述的频域算法的代价函数为

算法在迭代过程中仅考虑最小化式(9),而没有考虑其他约束条件。

由前述分析可知,为了调节反馈系统中的噪声放大量,可以对w(n)某些频段内的幅度响应进行限制,频域自适应算法恰好可以方便直接地限制控制器W(z)在某个频段内的幅度响应,即增加如下约束:

其中,W(k)是w的离散傅里叶变换的第k个系数,即

此处,fk=[0 e−j2πk/L ··· e−j2π(L−1)k/L]T是离散傅里叶变换矩阵的第k个列矢量。将式(11)带入式(10),并由|W(k)|2=W(k)W∗(k)可得

因为wTFw=|W(k)|2,所以矩阵F=f∗kfTk是一个半正定阵。式(12)表明ck是w的二次型表达式,即式(12)是一个“凸”的约束条件,其中ck对w求偏导数可得

为了调节反馈系统中的噪声放大量并同时获得降噪量,本文提出在满足式(12)的约束下,最小化式(9),为此将式(12)作为“惩罚项”添加到式(9)中得到新的代价函数为

其中,0<λ<1是“惩罚因子”。

从式(14)可以看出,当ck6 0时,也就是满足式(12)的约束条件时,符号函数sign(ck)=−1,“惩罚项”=0,式(14)与式(9)相同,此时以获取最大降噪量为目标;当ck>0时,也就是不满足式(12)的约束条件时,符号函数sign(ck)=1,“惩罚项”ck=ck,此时要兼顾降噪量与噪声放大,在降噪量与噪声放大之间折衷。

依据最速下降法可以求得式(14)决定的w的更新方式为

与式(5)相比,式(15)的运算量并没有剧烈地增长,迭代过程中仅增加了4λLW(k)一项的开销。

2 仿真验证

2.1 实验设置

图3 有源降噪耳机实验系统的器件连接Fig.3 The devices connection in the active noise control headphone experiments

本文在有源降噪耳机的实例中验证算法性能,将市场上购买的有源降噪耳机拆解后,引出参考传声器、误差传声器、次级源的信号线,保持耳机整个结构不变。按照图3所示搭建信号采集系统,耳机佩戴到B&K公司的人工头(4182C)上后[12],将耳机的参考传声器、误差传声器经过传声器前放后连接到B&K公司的PULSE,PULSE一方面将参考信号,误差信号与次级源信号输送到电脑,另一方面也给扬声器(噪声源)提供信号。

实验在全消声室中进行,如图4(a)所示,初级声源分别位于人工头正前方、正左方、正右方和正后方,距离人工头0.3 m。系统的采样率为16000 Hz。首先利用次级源和误差传声器信号为次级路径S(z)建模得到ˆS(z),此处ˆS(z)为256阶的FIR滤波器。

2.2 结果与讨论

图4 初级声源的四个位置及消声室中的实验场景Fig.4 Diagrammatic view of the 4 dif f erent incident directions of the primary noise and the experimental conf i guration in the anechoic chamber

对于图1所示的自适应反馈系统,本文选用了如下三种算法分别迭代得到控制器后,对比三种算法的降噪量:式(5)所示的频域自适应算法(后文以“FDFxLMS”标记),文献[12]中使用的时域泄漏FxLMS算法(后文以“Leaky”标记)和本文式(15)表示的频域自适应算法(后文以“cFDFxLMS”标记)。控制器W(z)都为512阶FIR滤波器,即式(4)中L=512。三种算法的参数设定列于表1中。“FDFxLMS”算法中的步长µ=0.003;“Leaky”算法中的µ =0.004,γ =0.05,相当于泄漏因子为0.9998[12];“cFDFxLMS”算法中µ =0.004,λ =0.01,式(10)中k取值为153∼256之间的自然数,θ(k)=1.78,在16000 Hz系统采样率时,对应于在2400 Hz∼4000 Hz范围内限制W(z)的幅度小于5 dB。这是考虑到在降噪耳机的实际应用中,有源控制主要是降低1000 Hz以下的噪声,对于2000 Hz∼4000 Hz频段内的噪声放大容易让人反感,因而此处参数设定是为了限制2400 Hz∼4000 Hz频带内的噪声放大。需要指出的是,参数θ(k)只是限定了控制器W(z)的幅度相应,只能调节噪声放大量,而无法与噪声放大量精确对应,也就是说,本文算法很难通过噪声放大量的阈值反推出具体的θ(k)。

表1 三种算法中的参数设定Table 1 Parameters setting in the FDFxLMS algorithm,the leaky FxLMS algorithm and the cFDFxLMS algorithm

三种算法的降噪量如图5所示。图5(a)是图1(a)所示内模型控制反馈系统的结果,可以看出,“FDFxLMS”算法的有效降噪频带是2000 Hz以下,在100 Hz∼700 Hz范围内可以获得10 dB以上的降噪量,在300 Hz附近可以获得23 dB的最大降噪量;时域泄漏FxLMS算法的有效降噪频带是1000 Hz以下,在300 Hz附近可以获得8 dB的最大降噪量;本文算法的有效降噪频带也是1000 Hz以下,在300 Hz附近可以获得17 dB的最大降噪量。虽然“FDFxLMS”算法在三种算法中的降噪量最大,但是其噪声放大也是最严重的,特别是在2400 Hz∼4200 Hz范围内,其噪声放大量为5∼9 dB;时域泄漏FxLMS算法的噪声放大量最小,都低于2 dB并且近似均匀分布在1000 Hz∼6000 Hz的范围内;本文算法的噪声放大量要高于时域泄漏FxLMS算法而低于“FDFxLMS”算法,其在1000 Hz∼6000 Hz范围内的噪声放大量均小于4 dB。

图5(b)是图1(b)所示简化反馈系统的结果,可以看出,“FDFxLMS”算法、时域泄漏FxLMS算法和本文算法的最大降噪量也是在300 Hz附近获得,分别是21 dB、7 dB和13 dB。与图5(a)的现象类似,“FDFxLMS”算法在三种算法中的噪声放大也是最严重的,其在2500 Hz∼3000 Hz范围内的噪声放大量甚至在10∼15 dB之间,而本文算法可以控制目标频带内的噪声放大量小于4 dB。

图5 FDFxLMS算法、时域泄露FxLMS算法和本文算法的降噪性能比较Fig.5 The ANC performance of the internal model control and the simplif i ed feedback systems based on the FDFxLMS algorithm,the leaky FxLMS algorithm and the proposed algorithm.

图5 结果表明本文算法在最大降噪量上比“FDFxLMS”算法差,其原因可以从式(9)和式(14)的对比中看出,“FDFxLMS”算法在控制器系数的迭代过程中仅考虑最小化误差信号的能量,而没有考虑其他约束条件,因此其降噪量最好,然而其噪声放大也最严重,而本文算法对控制器在某些频段内的幅度加以限制,当控制器系数在迭代过程中违反了该限制时,就会受到“惩罚”,算法不再只考虑最小化误差信号的能量,而是要兼顾降噪量与噪声放大,在降噪量与噪声放大之间折衷。

图5结果也表明本文算法在降噪性能上优于时域泄漏FxLMS算法,其原因分析如下。时域泄漏FxLMS算法的代价函数为[16]

其中,0<γ<1,相应的控制器系数迭代公式为

式(16)中也加入了惩罚项“γwT(n)w(n)”,而wT(n)w(n)= ∥w(n)∥2,即时域泄漏FxLMS算法在迭代过程中约束了控制器系数的二阶范数,等效于限制了控制器在整个频带内的能量,而式(14)仅仅限制了在某些频带内的幅度(仿真中为2400 Hz∼4000 Hz),因此时域泄漏FxLMS算法可以看作是本文算法的一种特例。另一方面,如果将本文算法的迭代公式(15)中的k取全频带,取近似w(n)≈IFFT{W(k)}+,则式(15)中的第二行可以近似表示为

此时式(18)与式(17)相近,每次迭代过程中都将w(n)乘以一个泄漏因子(1−4µλL),这也表明时域泄漏FxLMS算法可以看作是本文算法的一种特例。综前所述,与“FDFxLMS”算法相比,本文算法明确考虑了噪声放大现象,与时域泄漏FxLMS算法相比,本文算法能够更为直接精确地对控制器系数施加约束,从而在降噪量与某个频段内的噪声放大量之间做好调节。

3 结论

为了能在自适应反馈系统中同时调节噪声放大现象,本文理论分析后发现通过限制控制器在某个频段内的幅度响应可以调节该频段内的噪声放大量,据此提出了一种反馈有源控制系统的自适应算法,其目标函数在最小化误差信号能量的同时加入“惩罚项”以调节噪声放大量。在有源降噪耳机实例中的对比结果表明:与已有“FDFxLMS”算法相比,本文算法对噪声放大量施加了约束;已有时域泄漏FxLMS算法可以看作是本文算法的一种特例,并且本文算法能够更为直接精确地对指定频段内的噪声放大量进行调节。

猜你喜欢

反馈系统有源频域
基于频域的声信号计权改进算法
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
基于移相控制的双有源桥变换器回流功率分析
网络控制系统有限频域故障检测和容错控制
全面财务风险管理反馈系统的构建
计量检测绩效考核与决策辅助系统
基于有源箝位的开关电源设计
基于改进Radon-Wigner变换的目标和拖曳式诱饵频域分离
邱有源书法作品欣赏
基于WiFi-SMS的互动反馈系统的设计与应用