李曉龍,盧熾華,魏曉旭,劉志恩,陳 彎
(1. 現(xiàn)代汽車零部件技術(shù)湖北省重點(diǎn)實(shí)驗(yàn)室,湖北武漢430070;2. 汽車零部件技術(shù)湖北省協(xié)同創(chuàng)新中心,湖北武漢430070)
自適應(yīng)濾波算法是主動(dòng)噪聲控制研究的重點(diǎn),基于最速下降算法的最小均方(Least Mean Square,LMS)算法由Windrows等1]于1959年提出,因其易于實(shí)現(xiàn)、穩(wěn)定性好而受到廣泛應(yīng)用。但 LMS算法的收斂速度與穩(wěn)態(tài)誤差之間存在矛盾,即當(dāng)步長因子取值較大時(shí)可加快收斂速度,但穩(wěn)態(tài)誤差變大;反之步長因子取值較小時(shí),收斂速度變慢,無法滿足算法實(shí)時(shí)性需求。為解決這一問題,覃景繁等[2]提出了一種步長因子與誤差成Sigmoid函數(shù)關(guān)系的變步長LMS算法,并給出了步長因子的調(diào)整原則:算法收斂初期需具有較大的步長因子以保證收斂速度,在接近收斂時(shí)則需較小的步長因子以保證穩(wěn)態(tài)誤差?;谠撜{(diào)整原則,部分文獻(xiàn)提出了其他的基于誤差非線性函數(shù)的步長因子調(diào)整模型。鄧江波等[3]提出了基于箕舌線的變步長LMS算法,無需指數(shù)運(yùn)算從而降低了算法的復(fù)雜度。詹國強(qiáng)等[4]提出了一種新的變步長 LMS算法,該算法步長因子與誤差的關(guān)系為抽樣函數(shù),相比于S型函數(shù)在更大程度上解決了收斂速度與穩(wěn)態(tài)誤差的矛盾。文獻(xiàn)[5-7]中使用雙曲正切函數(shù)作為步長因子的調(diào)整函數(shù),結(jié)果表明收斂速度和穩(wěn)態(tài)誤差均優(yōu)于標(biāo)準(zhǔn)LMS算法。朱斌等[8]使用反正切函數(shù)控制步長因子,管四海等[9]對(duì)其進(jìn)行改進(jìn),全面提升了算法的性能。盧炳乾[10]、王蕾等[11]使用正弦函數(shù)來調(diào)整步長因子,在降低計(jì)算時(shí)間的同時(shí)有效控制了穩(wěn)態(tài)誤差的失調(diào)量。羅海富等[12]為進(jìn)一步提升收斂精度使用雙曲正弦函數(shù)調(diào)整步長因子。茹國寶等[13]將劉劍鋒等[14]提出的基于洛倫茲函數(shù)的變步長 LMS算法進(jìn)行了推廣,得到了基于對(duì)數(shù)函數(shù)的變步長 LMS算法,不僅大大降低了計(jì)算量,收斂速度和穩(wěn)態(tài)誤差也表現(xiàn)出更好的性能。
將 LMS算法用于主動(dòng)噪聲控制時(shí),由于未考慮次級(jí)通路的影響,權(quán)系數(shù)的迭代將基于參考信號(hào)而非濾波參考信號(hào),導(dǎo)致降噪效果變差。Burgess等[15]提出的濾波-x 最小均方(Filtered-x Least Mean Square, FxLMS)算法考慮了次級(jí)通路的影響,成為主動(dòng)噪聲控制最常用算法。與變步長 LMS算法相似,為改善 FxLMS算法的收斂速度與穩(wěn)態(tài)誤差,部分文獻(xiàn)將上述非線性函數(shù)或其改進(jìn)形式應(yīng)用于FxLMS算法。Gomathi等[16]引入反正切函數(shù)控制FxLMS算法的步長,獲得了更快的收斂速度和更高的消聲量。張帥等[17]對(duì)其進(jìn)行了改進(jìn),將步長因子對(duì)參考信號(hào)的功率做了歸一化處理,提高了控制非穩(wěn)態(tài)噪聲時(shí)的穩(wěn)定性。張帥等[18]還將文獻(xiàn)[11]中的正弦函數(shù)推廣到更一般的情況,并應(yīng)用于變步長主動(dòng)噪聲均衡控制,進(jìn)一步降低了車內(nèi)噪聲響度,而其他非線性函數(shù)在變步長 FxLMS算法中的應(yīng)用還不多見。
本文首先歸納了基于誤差非線性函數(shù)的步長因子調(diào)整模型,按運(yùn)算類型將其分為四類。分析了調(diào)整模型的參數(shù)項(xiàng)對(duì)步長因子的影響,為應(yīng)用算法時(shí)參數(shù)的選取提供參考。最后以三種常見的噪聲作為輸入?yún)⒖夹盘?hào),以收斂速度和穩(wěn)態(tài)誤差為評(píng)價(jià)指標(biāo),通過仿真試驗(yàn)對(duì)比了算法的性能。
變步長FxLMS基本原理與固定步長FxLMS一致,實(shí)際上是考慮了次級(jí)通路影響的 LMS算法,其原理如圖1所示。圖1中:x( n)是參考傳感器在噪聲源采集的參考信號(hào),表示初級(jí)聲源到誤差麥克風(fēng)的初級(jí)通路,d(n)表示由噪聲源產(chǎn)生的初級(jí)噪聲,W(z)表示自適應(yīng)控制濾波器,配合FxLMS算法控制濾波器的輸出u(n)。Hs(z)表示 u(n)到誤差麥克風(fēng)的次級(jí)通路,( z)是 Hs(z)的估計(jì),通常用長度一定的有限脈沖響應(yīng)(FIR)濾波器來建模,理想情況下。y(n)為到達(dá)誤差麥克風(fēng)處的抵消噪聲,e(n)是誤差麥克風(fēng)采集到的誤差信號(hào), xf( n)為濾波參考信號(hào)。
圖1 FxLMS算法原理圖Fig.1 Principle diagram of FxLMS algorithm
變步長FxLMS算法計(jì)算過程如下:
(1) 通過離線次級(jí)通路識(shí)別技術(shù),得到次級(jí)通路脈沖響應(yīng)的估計(jì)式中:L是FIR濾波器的長度。
(2) 當(dāng) u(n)經(jīng)次級(jí)通路傳播到誤差麥克風(fēng)處時(shí),可表示為
(4) 測(cè)量誤差信號(hào) e(n)??刂茷V波器輸出信號(hào)u(n)經(jīng)次級(jí)通路后得到 y(n),它與初級(jí)噪聲 d(n) 干涉相消,殘余噪聲 e(n) 被誤差麥克風(fēng)采集,參與權(quán)系數(shù)的迭代更新。
(5) 更新控制濾波器權(quán)系數(shù)。權(quán)系數(shù)更新迭代公式為
式中:μ(n)為步長因子,ψ{e(n)}表示以e(n)為自變量的非線性函數(shù)。
通過已有研究,目前一般采用的 ψ{e(n)} 基本形式共有9種,控制參數(shù)最多不超過3個(gè)。通過觀察可以發(fā)現(xiàn),Sigmoid函數(shù)與雙曲正切函數(shù)具有類似的形式,通過簡(jiǎn)單的通分運(yùn)算并將系數(shù)參數(shù)化即可得到廣義的Sigmoid函數(shù)模型,其步長因子表達(dá)式為
當(dāng) h=1時(shí),式(7)變?yōu)?Sigmoid函數(shù);當(dāng) m=1時(shí),式(7)變?yōu)殡p曲正切函數(shù)。通過觀察還可以發(fā)現(xiàn),對(duì)數(shù)函數(shù)模型實(shí)際上是洛倫茲函模型更一般的情況,其表達(dá)式為 μ ( n) = βlg(α| e ( n )|m+1),當(dāng)α = 1 /δ2且m=2時(shí),對(duì)數(shù)函數(shù)變?yōu)槁鍌惼澓瘮?shù)。對(duì)模型數(shù)量進(jìn)行刪減并按運(yùn)算類別進(jìn)行分類,最終非線性函數(shù)模型被縮減為7個(gè),可分為4類,即指數(shù)運(yùn)算類、三角函數(shù)運(yùn)算類、對(duì)數(shù)運(yùn)算類和基本運(yùn)算類,如表1所示。
表1 基于不同誤差非線性函數(shù)ψ{e(n)}的變步長模型Table 1 Variable step models based on different error nonlinear functions ψ{e(n)}
參數(shù)m表示e(n)次冪運(yùn)算的次數(shù),先單獨(dú)討論m的影響。包含參數(shù)m的模型共有4個(gè),分別是廣義Sigmoid函數(shù)、雙曲正弦函數(shù)、反正切函數(shù)和對(duì)數(shù)函數(shù)。固定其他參數(shù),令m=1, 2, 3, 4,分別得到m對(duì)誤差-步長因子(e-μ曲線)的影響,結(jié)果如圖2所示。
圖2 參數(shù)m對(duì)不同模型e-μ曲線的影響Fig.2 The influence of parameter m on e-μ curve of different models
由圖2可知,理論上m取值越大,算法性能會(huì)越好。在算法計(jì)算初期將具有更大的μ( n),保證算法快速往最優(yōu)權(quán)值方向搜索,在算法接近收斂時(shí)μ( n)變化更緩慢,可保證較好的穩(wěn)態(tài)誤差。但 m取值過大會(huì)使e-μ曲線底部更為平坦,這將導(dǎo)致在誤差較大時(shí)μ( n)就減小到較小的值,導(dǎo)致算法收斂速度變慢,同時(shí)增大m會(huì)增加算法的計(jì)算量,一般m取1或2[6,8],本節(jié)的分析中取m=2。
3.2.1 廣義Sigmoid函數(shù)模型
α、β、h對(duì)廣義Sigmoid函數(shù)模型e-μ曲線的影響如圖3所示。由圖3可知,參數(shù)β直接決定了μ( n )的最大值,在保證算法收斂的情況下,可盡量取較大值。α和h則可以控制曲線底部的平坦程度,若需要在誤差較大時(shí)采用較大的μ(n),則增大α或減小h,反之則減小α或增大h??傊?,通過合理設(shè)置α和h的值可使算法性能達(dá)到最佳。
圖3 參數(shù)β、α、h對(duì)廣義Sigmoid函數(shù)模型e-μ曲線的影響Fig.3 The influence of parameter β, α, h on e-μ curve of generalized Sigmoid function model
3.2.2 雙曲正弦函數(shù)
β、α對(duì)雙曲正弦函數(shù)模型e-μ曲線的影響如圖4所示。β控制曲線的縮放比例,而α則影響曲線的整體形態(tài),增加β、α可提高收斂速度,但穩(wěn)態(tài)誤差會(huì)變差。此外,α不可取值過大,否則會(huì)使得μ(n)隨著算法的收斂呈直線下降,最終可能出現(xiàn)這種情況:μ(n)雖然小于保證算法收斂的最大步長因子μmax,但由于μ(n)下降得過快,會(huì)導(dǎo)致μ(n)較小,而此時(shí)μ(n)本可以取更大的值以實(shí)現(xiàn)更快的收斂速度。
圖4 參數(shù)β、α對(duì)雙曲正弦函數(shù)模型e-μ曲線的影響Fig.4 The influence of parameter β, α on e-μ curve of hyperbolic sine function model
3.3.1 抽樣函數(shù)
β、α對(duì)抽樣函數(shù)模型e-μ曲線的影響如圖 5所示。與雙曲正弦函數(shù)類似,若對(duì)收斂速度有較高要求,則選取較大的β和α值;若對(duì)穩(wěn)態(tài)誤差有較高要求,則選取較小的β和α值。需要注意,如圖5(b)所示,α取值過大會(huì)導(dǎo)致e-μ曲線中出現(xiàn)旁瓣,這意味著隨著誤差e(n)的減小,μ(n)反而可能增大,導(dǎo)致算法不穩(wěn)定。
圖5 參數(shù)β、α對(duì)抽樣函數(shù)模型e-μ曲線的影響Fig.5 The influence of parameter β, α on e-μ curve of sampling function model
3.3.2 反正切函數(shù)
β、α對(duì)反正切函數(shù)模型e-μ曲線的影響如圖6所示。由圖6可知,β決定了μ(n)的取值范圍,可用于限制μ(n)的最大值,其取值應(yīng)確保μ(n)值處在算法可收斂的范圍內(nèi)。α則主要影響曲線底部的形態(tài),其取值越大曲線底部越尖銳,也就是說e(n)接近0時(shí),μ(n)變化越大,算法在收斂時(shí)維持穩(wěn)態(tài)誤差精度的能力越差。
圖6 參數(shù)β、α對(duì)反正切函數(shù)模型e-μ曲線的影響Fig.6 The influence of parameter β, α on the curve of arc tangent function model
3.3.3 正弦函數(shù)
β、α對(duì)正弦函數(shù)模型e-μ曲線的影響如圖7所示。β決定了μ(n)的最大值,而α更大程度地影響e-μ曲線的底部形狀。若要獲得較快的收斂速度和跟蹤速度,則應(yīng)增加β和α;反之,若要獲得較小的穩(wěn)態(tài)誤差,則應(yīng)減小β和α;若β和α的取值過小,變步長函數(shù)將退化為固定步長函數(shù)。此外,正弦函數(shù)與抽樣函數(shù)同樣存在α取值過大使e-μ曲線出現(xiàn)旁瓣的問題。
圖7 參數(shù)β、α對(duì)正弦函數(shù)模型e-μ曲線的影響Fig.7 The influence of parameter β, α on e-μ curve of sinusoidal function model
β、α對(duì)對(duì)數(shù)函數(shù)模型 e-μ曲線的影響如圖 8所示。其中,β控制曲線的開口寬度,α控制曲線的底部形態(tài),α取值越大,曲線底部越尖銳,這表示在算法接近收斂時(shí),μ( n )波動(dòng)較大,使控制濾波器權(quán)系數(shù)錯(cuò)過最佳收斂值,導(dǎo)致穩(wěn)態(tài)誤差變大。
圖8 參數(shù)β、α對(duì)對(duì)數(shù)函數(shù)模型e-μ曲線的影響Fig.8 The influence of parameter β, α on e-μ curve of logarithmic function model
β、α對(duì)箕舌線函數(shù)模型e-μ曲線的影響如圖9所示。對(duì)比圖9和圖6可以發(fā)現(xiàn),兩者具有相似的形態(tài)。因此,在主動(dòng)控制的過程,對(duì)于同一噪聲源兩者會(huì)表現(xiàn)出相似的性能,但箕舌線函數(shù)只包含基本的加減乘除運(yùn)算而無需計(jì)算反三角函數(shù),若要選擇兩者之一,可優(yōu)先選擇計(jì)算量小的箕舌線函數(shù)。
圖9 參數(shù)β、α對(duì)箕舌線函數(shù)模型e-μ曲線的影響Fig.9 The influence of parameter β, α on e-μ curve of tongue-like function model
通過以上分析可知,當(dāng) m確定時(shí),除廣義Sigmoid函數(shù)模型有3個(gè)可調(diào)參數(shù)外,其他函數(shù)均只有2個(gè)可調(diào)參數(shù)。其中β的主要作用是控制e-μ曲線整體的形態(tài),β越大則μ( n )整體越大;α則主要控制曲線底部的形態(tài),α越大不僅曲線底部更窄,μ( n )也不同程度地增大。因此在調(diào)試算法參數(shù)時(shí),存在增大其中一個(gè)必然要減小另一個(gè)的矛盾。若為保證收斂速度而選擇較大的β,則α應(yīng)取較小的值,e-μ曲線底部會(huì)趨于平緩,可能會(huì)導(dǎo)致誤差較大時(shí)收斂速度變慢;若選取較小的 β,則為保證收斂速度需相應(yīng)地增加α,這會(huì)使e-μ曲線底部趨于尖銳,導(dǎo)致算法穩(wěn)態(tài)誤差變大。通過引入額外的參數(shù)可解決此矛盾,例如廣義Sigmoid函數(shù)中增加了參數(shù)h來調(diào)整函數(shù)整體的形態(tài),從而使算法性能更好。但參數(shù)越多,調(diào)整參數(shù)所需的試驗(yàn)時(shí)間也越多,因此只有在需要實(shí)現(xiàn)特殊的性能時(shí)才考慮具有3個(gè)以上參數(shù)的算法[19]。
為對(duì)比不同噪聲環(huán)境下算法的性能,選取三種常見噪聲源作為參考輸入信號(hào)[20]。假設(shè)次級(jí)通路Hs(z)與它的估計(jì)( z)相等。初級(jí)通路 Hp(z)和次級(jí)通路Hs(z)均用FIR濾波器建模,濾波器長度均為 128,兩者的頻率響應(yīng)參考文獻(xiàn)[21],頻率響應(yīng)曲線如圖10所示。設(shè)置控制濾波器長度N= 1 28。以平均降噪量[22](Average Noise Reduction, ANR)作為評(píng)價(jià)指標(biāo),其定義式為
圖10 初級(jí)通路與次級(jí)通路頻率響應(yīng)曲線Fig.10 Frequency response curves of primary path and secondary path
本例選取均值為 0、方差為 0.1的高斯白噪聲作為參考信號(hào)x( n),仿真參數(shù)如表2所示。
表2 參考信號(hào)為高斯白噪聲時(shí)的仿真參數(shù)Table 2 Simulation parameters for Gaussian white noise input
圖 11對(duì)比了各算法仿真結(jié)果。參考輸入為高斯白噪聲時(shí),各算法性能均優(yōu)于固定步長 FxLMS算法,其中對(duì)數(shù)函數(shù)算法具有最低的穩(wěn)態(tài)誤差,但收斂速度較快;雙曲正弦函數(shù)算法具有最快的收斂速度,但穩(wěn)態(tài)誤差較大;箕舌線函數(shù)算法綜合性能最好,其收斂速度和穩(wěn)態(tài)誤差均表現(xiàn)較好。
圖11 參考信號(hào)為高斯白噪聲時(shí)的ANR曲線Fig.11 ANR curves for Gaussian white noise input
本例選取頻率為 500 Hz的正弦波作為參考信號(hào)x( n),加入信噪比為40 dB的高斯白噪聲,采樣率設(shè)置為5 000 Hz,其表達(dá)式為
仿真參數(shù)如表3所示,圖12給出了各算法仿真結(jié)果。參考輸入為正弦波時(shí),各算法性能同樣優(yōu)于固定步長FxLMS算法,其中廣義Sigmoid函數(shù)與對(duì)數(shù)函數(shù)算法性能較好,它們具有相對(duì)較快的收斂速度和較低的穩(wěn)態(tài)誤差;正弦函數(shù)和抽樣函數(shù)算法在迭代過程中有一段收斂速度慢于標(biāo)準(zhǔn)算法,這是因?yàn)樵谡`差較大時(shí)步長因子就降低至較小值,導(dǎo)致收斂速度變慢。
圖12 參考信號(hào)為正弦波時(shí)的ANR曲線Fig.12 ANR curves for sinusoidal wave input
表3 參考信號(hào)為正弦波時(shí)的仿真參數(shù)Table 3 Simulation parameters for sinusoidal wave input
本例選取沖擊噪聲作為參考信號(hào)x(n)。沖擊噪聲用對(duì)稱α穩(wěn)定(SαS)噪聲模型(使用McCullonch[23]開發(fā)的Matlab函數(shù)stblrnd,α=1.8)建模。仿真參數(shù)如表4所示。
表4 參考信號(hào)為沖擊噪聲時(shí)的仿真參數(shù)Table 4 Simulation parameters for impulsive noise input
圖 13給出了各算法的仿真結(jié)果。與參考輸入為高斯白噪聲和正弦波時(shí)不同,各算法均未能表現(xiàn)出比固定步長更好的性能,這是因?yàn)闆_擊噪聲幅值較大,導(dǎo)致e(n)較大,為保證算法收斂β取值很小,此時(shí)α取值對(duì)e-μ曲線影響不大,曲線底部變得平坦,變步長算法退化為固定步長算法;其中雙曲正弦函數(shù)算法β取值最小,故收斂速度最慢。
圖13 參考信號(hào)為沖擊噪聲時(shí)的ANR曲線Fig.13 ANR curves for impulsive noise input
為驗(yàn)證變步長模型的實(shí)用性,將變步長FxLMS算法應(yīng)用于某車型的單通道發(fā)動(dòng)機(jī)主動(dòng)噪聲控制試驗(yàn)中。采用霍爾傳感器作為參考傳感器,獲得單位時(shí)間的點(diǎn)火脈沖數(shù),由此計(jì)算出當(dāng)前發(fā)動(dòng)機(jī)的轉(zhuǎn)速,進(jìn)而獲得要抵消的發(fā)動(dòng)機(jī)的噪聲頻率。駕駛員座椅頭枕右側(cè)布置兩個(gè)麥克風(fēng),一個(gè)作為主動(dòng)噪聲控制系統(tǒng)的誤差麥克風(fēng),另一個(gè)則用于采集開啟主動(dòng)噪聲控制系統(tǒng)前后頭枕右側(cè)噪聲的變化。次級(jí)揚(yáng)聲器固定于中央臺(tái)扶手。參考傳感器、麥克風(fēng)以及次級(jí)聲源布置位置分別如圖 14(a)、14(b)所示。
圖14 參考傳感器、誤差麥克風(fēng)和次級(jí)聲源布置位置圖Fig.14 The layout for reference sensor, error microphone and secondary source
本次試驗(yàn)使用對(duì)周期噪聲控制效果較好的廣義Sigmoid函數(shù)調(diào)整迭代步長。試驗(yàn)工況分別為定速(3 500 r·min-1)工況和三擋全油門(Wide Open Throttle, WOT)即3WOT加速工況。采用LMS Test.Lab測(cè)試系統(tǒng)采集開啟主動(dòng)噪聲控制系統(tǒng)前后,駕駛員頭枕右側(cè)的聲壓變化,由此計(jì)算 ANR曲線,用于對(duì)比不同算法的性能。
定速工況測(cè)試結(jié)果如圖 15所示。相較于傳統(tǒng)FxLMS算法,變步長FxLMS算法可以獲得更快的收斂速度和較低的穩(wěn)態(tài)誤差。3WOT工況測(cè)試結(jié)果如圖16所示。與定速工況結(jié)果不同,3WOT工況時(shí),變步長算法并沒有表現(xiàn)出明顯的優(yōu)越性,這是因?yàn)?WOT工況發(fā)動(dòng)機(jī)噪聲隨轉(zhuǎn)速變化速度很快,控制濾波器權(quán)系數(shù)還未收斂至最佳值,就進(jìn)入下一個(gè)轉(zhuǎn)速點(diǎn)的迭代。
圖15 定速工況的ANR曲線Fig.15 ANR curve for constant speed condition
圖16 3WOT工況的ANR曲線Fig.16 ANR curve for the 3WOT gear condition
本文總結(jié)了現(xiàn)有基于誤差非線性函數(shù)模型的變步長LMS算法,分析了各模型中參數(shù)項(xiàng)對(duì)e-μ曲線的影響,并將其應(yīng)用于 FxLMS算法,使用三種常用噪聲信號(hào)作為參考輸入,對(duì)比了各算法的收斂速度和穩(wěn)態(tài)誤差,為不同噪聲源的算法選取提供了參考。結(jié)果表明:對(duì)于高斯白噪聲,基于箕舌線函數(shù)的變步長算法綜合性能最優(yōu);對(duì)于正弦波,則是廣義Sigmoid函數(shù)和對(duì)數(shù)函數(shù)變步長算法性能較好;對(duì)于沖擊噪聲,基于誤差非線性函數(shù)的變步長算法并不能表現(xiàn)出更好的性能,也就是說,此類變步長算法不適用于沖擊噪聲的主動(dòng)控制。最后,將基于廣義Sigmoid函數(shù)的變步長FxLMS算法應(yīng)用于某車型的發(fā)動(dòng)機(jī)主動(dòng)噪聲控制,結(jié)果顯示:對(duì)于定轉(zhuǎn)速工況,變步長算法能獲得更好的收斂速度和穩(wěn)態(tài)誤差;對(duì)于3WOT工況,變步長算法性能則未能表現(xiàn)出明顯的優(yōu)勢(shì)。