冷倉田, 王德禎, 周邵萍
(華東理工大學承壓系統與安全教育部重點實驗室,上海 200237)
隨著生活水平和工業化水平的提高,噪聲問題逐漸成為人們日常生活中關注的重點問題。噪聲的控制主要分為傳統噪聲控制和有源噪聲控制。常用的傳統噪聲控制方法在低頻噪聲環境下效果明顯下降,有源噪聲控制方法的出現使這個問題得到了更好的解決[1-3]。
自1936 年Leug[4]提出有源噪聲控制思想后,有源噪聲控制技術一直是噪聲和控制領域的研究重點之一。傳統的基于橫向濾波器的有源噪聲控制方案,在系統存在非線性因素的情況下,無法有效地降低噪聲。非線性因素可能來自功率放大器、揚聲器等電聲器件,也可能來自聲音的傳播路徑[5]。文獻[6]提出了一種基于模糊神經網絡的非線性噪聲有源自適應控制方法,并給出了一種基于誤差梯度下降的學習算法。文獻[7]針對非線性有源噪聲控制系統,提出了一種帶有綜合評價算法的自適應非線性神經控制器,用于衰減非線性和非高斯噪聲環境,并通過模擬驗證了效果。文獻[8]提出了一種基于函數鏈接型神經網絡(FLANN)的多通道非線性有源噪聲控制系統,該系統采用一種適用于非線性噪聲過程的粒子群優化(PSO)算法訓練。文獻[9]提出了一種基于次級通道的濾波最小均方誤差非線性噪聲控制算法。采用基于人工神經網絡的非線性控制器,并通過計算機實時仿真驗證其有效性。文獻[10]提出了一個擴展流水線型二階Volterra 濾波器(EPSOV)以及相應的非線性濾波-x 算法,顯著提高了非線性噪聲控制的計算效率,并進行了非線性噪聲的模擬控制。文獻[11]通過最小化對數代價的Lp 范數推導并提出了一種基于Volterra 擴展模型的非線性自適應算法(VFxlogLMP),提高了噪聲控制算法的穩定性和收斂性。
目前研究人員對于噪聲系統中非線性因素的優化主要有采用其他類型濾波器、結合神經網絡改進控制器、虛擬傳感等方式,對次級通道辨識模型的優化方法研究較少,其他研究大多受限于計算復雜度和硬件條件,只能通過計算機仿真驗證效果。本文以管道為研究應用對象,重點對次級通道辨識模型進行改進,通過神經網絡的非線性映射能力來提高次級通道建模的精度,根據優化的次級通道模型,基于最小均方(Least Mean Square, LMS)算法推導了控制器中相應的自適應有源噪聲控制(Active Noise Control, ANC)算法,改善了次級通道的電聲器件和聲音傳播的非線性因素對建模精度和噪聲控制效果的影響。搭建了有源噪聲控制實驗系統,通過在物理噪聲環境下對傳統方法和優化方法的結果進行對比分析,驗證了優化方法對噪聲控制的優化效果。
前饋有源噪聲控制系統的基本結構如圖1 所示。主要包括噪聲源、參考傳聲器、誤差傳聲器、次級聲源、控制器等主要部件。參考傳聲器采集噪聲源信號x(n)進入控制器,控制器通過控制算法將輸入信號轉化為輸出信號y(n),再通過次級聲源將反相聲信號發出并傳播到誤差傳聲器處,此時的聲信號s(n)與噪聲源信號傳播到達誤差傳聲器處的聲信號d(n)疊加,誤差傳聲器將采集到的誤差信號e(n)反饋回控制器處調節控制器的參數,如此循環迭代直到系統穩定。

圖1 有源噪聲控制基本結構Fig. 1 Basic structure of active noise control
有源噪聲控制的控制器通常采用有限沖激響應(Finite Impulse Response, FIR)濾波器結構,如圖2 所示(圖中P(z)為初級通道函數,W(z)為控制器函數,S(z)為次級通道函數),濾波-x LMS(Filter-x LMS,FxLMS)算法[12-13]是基于LMS 算法并考慮次級通道傳遞過程的自適應調節算法,自提出以來成為了有源噪聲控制的經典算法。

圖2 有源噪聲控制系統示意圖Fig. 2 Diagram of active noise control system
設FIR 濾波器的階數為L,第n時刻權系數W(n)和參考信號X(n)分別為:

濾波器的輸出信號y(n)由參考信號計算可得:

誤差傳聲器處的次級信號s(n)為y(n)經過次級通道傳遞后的信號:

其中:Sz為次級通道傳遞函數。傳統方法一般采用FIR 濾波器來辨識次級通道,所以次級通道傳遞過程采用卷積運算。
假設初級噪聲具有局部平穩特性,以至于可以認為在L時段內自適應濾波器權系數基本保持不變[14],于是通過式(3)可以得到:

此時誤差傳聲器處的信號可以表示為:

利用最速下降法遞推控制器權系數可得:

其中:μ為收斂系數。為了簡化計算,提高實時處理效率,一般取單個誤差樣本e(n)平方的梯度作為均方誤差梯度,于是梯度 ?(n) 為:

將上式代入式(7)即可獲得權系數矢量迭代公式:

次級通道辨識是有源噪聲控制中的關鍵一環,次級通道辨識通常采用如圖3 所示的附加白噪聲法[15]。其中:x(n)為人為產生的次級聲源白噪聲信號,作為次級通道的輸入信號;y(n)為輸出信號;d(n)為噪聲源信號傳遞到誤差麥克風處的實際信號;e(n)為誤差信號;S和Sz分別是實際的和辨識得到的次級通道傳遞函數。根據LMS 算法更新傳遞函數的系數:


圖3 附加白噪聲法的次級通道辨識Fig. 3 Diagram of secondary path identification based on additive white noise
反向傳播(Back Propagation, BP)神經網絡[16]是目前廣泛應用的網絡模型,國內外利用BP 神經網絡進行算法優化已經有了大量研究。
一般BP 神經網絡包括三層:輸入層、隱藏層和輸出層。其中輸入層和輸出層固定只有一層,而隱藏層可以設計為多層。應用最為普遍的單隱藏層結構如圖4 所示。該三層神經網絡中,輸入向量X=(x0,x1,···,xm)T,其中x0=?1 為引入隱藏層閾值而設置,隱藏層輸出向量Y=(y0,y1,···,yn)T,其中y0=?1 為引入輸出層閾值而設置,輸出層輸出向量為O=(o1,o2,···,ol)T,xm、ol、yn分別與向量X、O、Y對應,表示3 個向量分別有m、l、n個節點組成。對于隱藏層和輸出層有:

圖4 BP 神經網絡結構圖Fig. 4 Structure of BP neural network

其中:f1和f2分別為隱藏層和輸出層的激活函數;vij表示輸入層第i個節點到隱藏層第j個節點的權值;wjk表示隱藏層第j個節點到輸出層第k個節點的權值。
BP 神經網絡權值調整是通過誤差反向傳播。學習過程中輸入信號正向傳播到輸出層,與期望輸出之間的誤差通過隱藏層向輸入層逐層反傳,并將誤差分攤在各個單元,如此反復進行直到誤差達到接受范圍。
傳統的次級通道辨識方法采用的FIR 濾波器結構的線性映射能力較強,但是次級通道中揚聲器的頻響特性以及聲音傳播本身具有的非線性特征都無法得到準確的反映。而BP 神經網絡的特點之一就是具有良好的非線性映射能力[17],能夠提高次級通道辨識的準確性。
神經網絡次級通道模型如圖5 所示,本文采用單隱藏層的BP 神經網絡結構對次級通道進行辨識,以人為產生的噪聲信號為輸入信號x(n),以實際傳遞到誤差麥克風處的信號為期望信號(D),故系統為多輸入單輸出系統,輸出層節點數l=1,當輸出與期望信號存在誤差時:

圖5 神經網絡次級通道辨識結構圖Fig. 5 Structure of secondary path identification based on neural network

其中dk和ok結合公式中的累加符號使用,表示累加時的第k個通用表達式。
將式(11)和(12)代入可得:

調整權值的思路是使誤差不斷減小,因此根據梯度下降法可得:

根據誤差反傳思路可以不斷調整BP 神經網絡各層權值,直到訓練樣本全部訓練完成或者誤差達到訓練要求。
通過BP 神經網絡辨識次級通道后,得到的次級通道傳遞函數為三層神經網絡結構,與傳統的ANC算法中采用的FIR 濾波器結構有所區別。因此對ANC 算法也要進行改進,參考FxLMS 算法[18],改進后的算法和FxLMS 算法原理類似,但是在更新控制器權值時的梯度需要根據神經網絡結構來調整。如圖6 所示。

圖6 優化后的ANC 算法結構圖Fig. 6 Optimized structure of ANC
將式(11)和(12)代入式(3)和式(4)可得濾波器輸出后傳至誤差麥克風后的信號:
(2)當表面活性劑濃度小于0.1wt%時毛管力會有明顯變化,濃度大于0.1wt%時,毛管力變化不明顯。隨著毛管力的增大采出程度以及含水率降幅變化不明顯,這主要是由于毛管力為微觀作用力,僅在驅替壓差未建立之前發揮作用,一旦外加驅替壓差大于毛管力,此時毛管力的作用可以忽略。

其中:W(n)XiT(n)為第n時刻的控制器輸出。將式(17)代入式(6)可得:

再根據梯度公式有:

進行次級通道辨識時,參考BP 神經網絡的訓練特點,選擇tansig 函數即雙曲正切S 型函數作為隱藏層的激活函數,pureline 函數即線性函數作為輸出層的激活函數,即有:

因此可得:

將式(19)、(21)、(22)代入式(7)可得優化后的ANC 算法權值更新公式:

噪聲控制的硬件系統以德州儀器公司的TMS320VC5509A 芯片為核心數字信號處理芯片(Digital Signal Processor, DSP),外接TLV320AIC23音頻編解碼芯片。控制部分的硬件處理流程如圖7所示。芯片通過I2C 總線(Inter-Integrated Circuit)配置AIC23 芯片的相關參數,如采樣率設置為8 000、增益設置為0 dB、輸入為雙通道線性輸入等。參考麥克風和誤差麥克風分別將參考聲信號和誤差聲信號采集到AIC23 音頻處理芯片,在AIC23 中完成模數轉換并通過多通道緩沖串口(Multi-channel Buffered Serial Port, McBSP)與DSP 進行數據的傳輸與交換。數字信號在DSP 中根據ANC 算法進行計算處理,輸出數字信號至AIC23,經過數模轉換成模擬信號通過揚聲器輸出,其中麥克風采集進入音頻芯片前和音頻芯片輸出到揚聲器前都需要經過相應的功率放大器以達到模擬信號的要求。

圖7 硬件系統結構Fig. 7 Structure of hardware system
本文搭建的實驗系統以管道為對象,管道為聚氯乙烯材料,長1000 mm,截面為150 mm×100 mm的矩形,厚度約為4 mm。管道左側封閉并布置噪聲源,中間布置次級聲源,參考麥克風布置在噪聲源右側較近位置,誤差麥克風布置在次級聲源右側的一段距離上。實驗管道的布置如圖8 所示。

圖8 實驗管道布置Fig. 8 Layout of experiment duct
在硬件系統和管道器件布置確定的基礎上搭建如圖9 所示的實驗平臺,主要部件有:噪聲源揚聲器、參考麥克風、次級聲源揚聲器、誤差麥克風、計算機、DSP 控制器、仿真器、功率放大器。其中仿真器用于連接DSP 和計算機,方便進行硬件調試,功率放大器用于放大DSP 的輸出音頻信號。

圖9 噪聲控制實驗平臺Fig. 9 Platform for noise control experiment
(1)DSP 驅動次級聲源發出白噪聲,以次級聲源信號和誤差麥克風信號作為輸入輸出,進行次級通道辨識,得到次級通道模型系數。
(2)采集參考麥克風和誤差麥克風信號,基于有源噪聲控制算法和虛擬傳感法,使用計算機MATLAB進行離線計算更新控制器權系數,其中次級通道為次級通道辨識所得模型系數,得到更新計算后的控制器權系數。
(3)將離線計算的控制器權系數導入DSP,作為FIR 濾波的權系數,進行FIR 濾波,輸出信號驅動次級聲源,實現聲音信號疊加的降噪過程。
實驗流程如圖10 所示。

圖10 實驗流程圖Fig. 10 Diagram of experiment flow
本文以單頻噪聲信號和多頻噪聲信號為噪聲源,分別采用傳統模型和神經網絡模型完成次級通道傳遞函數的辨識,并基于對應的ANC 算法,進行有源噪聲控制實驗。采集降噪前后的噪聲信號,對比分析噪聲控制結果,來驗證提出的次級通道辨識算法的優化效果。
采用1.3 節所述的附加白噪聲法模擬次級通道辨識的過程。將輸出的白噪聲信號作為輸入樣本,誤差麥克風處采集到的信號作為輸出樣本,采集1 s,由于采樣率為8000,所以可以得到8000 組輸入、輸出樣本。其中70%作為訓練樣本,15%作為驗證樣本,15%作為測試樣本。次級通道的模擬過程如下:
(1)將數據樣本歸一化處理,將數據范圍歸一化到[?1, 1]區間。
(2)設置神經網絡參數,包括輸入層、隱藏層、輸出層三層的節點數。綜合考慮BP 神經網絡的映射能力和計算時間以及避免過擬合問題,將輸入層節點數設置為128,隱藏層節點數設置為6。為提高泛化能力,采用基于Levenberg-Marquardt 算法的貝葉斯正則化(trainbr)算法對網絡各層的權值進行訓練。隱藏層激活函數設置為雙曲線正切(tansig)函數,輸出層激活函數設置為線性(pureline)函數。
(3)訓練神經網絡,直至所有樣本都訓練完成。
(4)將訓練后的神經網絡輸出與原有的輸出樣本進行對比。
(5)確定訓練后的神經網絡參數,將其保存并用于ANC 算法的模擬。


圖11 次級通道辨識結果比較Fig. 11 Comparison of secondary path identification results
訓練得到次級通道的神經網絡模型參數后,可以根據采集的信號進行優化ANC 算法的模擬仿真,以500 Hz 噪聲源為例,仿真后得到模擬降噪效果和濾波器系數,分別如圖12、13 所示。

圖12 500 Hz 噪聲源的模擬降噪效果Fig. 12 Simulated noise reduction result

圖13 500 Hz 噪聲源的模擬濾波器系數Fig. 13 Simulated coefficients of filter with 500 Hz noise
以500 Hz 的單頻正弦聲波為噪聲源,分別以3.1 節中訓練后的神經網絡模型和傳統的FIR 模型為次級通道傳遞函數,進行有源噪聲控制實驗,將兩者的實驗結果進行對比。根據圖14、15、16,針對500 Hz單頻噪聲源,從頻譜圖來看,500 Hz 頻率上傳統降噪算法的噪聲降低了23.1%,而優化降噪算法的噪聲降低了55.7%。另外,通常可以用功率譜密度(Power Spectral Density, PSD)來表示聲功率強度。從功率譜密度圖來看,傳統降噪算法的噪聲功率在500 Hz 基頻上降低了4.6 dB,且在倍頻處降噪效果不明顯,與之相對的優化降噪算法的噪聲功率在500 Hz 基頻上降低了14.1 dB,且在其他倍頻處也有較好的降噪效果。由此實驗分析得到,在單頻和低頻的噪聲條件下,采用神經網絡模型進行次級通道辨識并結合優化后的ANC 算法進行有源噪聲控制實驗,相比傳統的FIR 模型和ANC 算法,得到的噪聲控制效果有明顯提升。

圖14 500 Hz 噪聲的實驗結果頻譜圖Fig. 14 Spectra of results with 500 Hz noise
針對兩種頻率混合的噪聲信號,本文以500 Hz加800 Hz 的混頻正弦聲波為實驗噪聲源。因為實驗平臺的管道布放以及電聲器件位置都是固定的,故實際的次級通道相同,可以分別與單頻噪聲實驗相同的神經網絡模型和FIR 模型作為次級通道辨識模型。同樣用優化控制算法和傳統控制算法分別進行有源噪聲控制實驗,對比分析噪聲的控制,結果如圖17、18、19 所示,從頻譜圖來看,傳統噪聲控制的噪聲信號幅值在500 Hz 頻率上降低了24.6%,在800 Hz頻率上降低了13.3%;優化噪聲控制的噪聲信號幅值在500 Hz 頻率上降低了30.1%,在800 Hz 頻率上降低了66.3%。從功率譜密度圖來看,傳統噪聲控制的噪聲信號功率在500 Hz 頻率上降低了4.89 dB,在800 Hz頻率上降低了2.58 dB;而優化噪聲控制的噪聲信號功率在500 Hz 頻率上降低了6.22 dB,在800 Hz頻率上降低了18.85 dB。因此可知,在兩種低頻頻率混合的噪聲條件下,優化算法與傳統算法相比,噪聲控制效果得到了明顯提升。

圖15 500 Hz 噪聲的 FxLMS 控制實驗功率譜密度圖Fig. 15 PSD of FxLMS result with 500 Hz noise

圖16 500 Hz 噪聲的優化控制實驗功率譜密度圖Fig. 16 PSD of optimization result with 500 Hz noise

圖17 (500+800) Hz 噪聲源的實驗結果頻譜圖Fig. 17 Spectra of results with (500+800) Hz noise

圖18 (500+800) Hz 噪聲的 FxLMS 控制實驗功率譜密度圖Fig. 18 PSD of FxLMS result with (500+800) Hz noise

圖19 (500+800) Hz 噪聲的優化控制實驗功率譜密度圖Fig. 19 PSD of optimization result with (500+800) Hz noise
本文根據有源噪聲控制原理,針對噪聲控制和傳播過程中存在非線性因素的問題,對次級通道辨識模型進行了優化,采用BP 神經網絡模型代替傳統的FIR 模型,并推導了相應的ANC 算法。以管道為實驗對象,搭建了有源噪聲控制實驗系統,進行噪聲控制實驗,對神經網絡次級通道模型和優化算法的有效性進行了驗證。得到結論:
(1)采用神經網絡模型進行訓練后的次級通道傳遞函數與傳統的FIR 模型相比,更接近于實際的次級通道傳播模型。
(2)在低頻和單頻條件下,采用神經網絡模型的優化ANC 算法對噪聲的控制效果要優于傳統的ANC 算法。
(3)在兩種低頻頻率混合的條件下,采用神經網絡模型的優化ANC 算法對噪聲的控制效果同樣要優于傳統的ANC 算法。