高 賓,張心光,王巖松,劉寧寧
(上海工程技術(shù)大學(xué) 汽車工程學(xué)院,上海 201620)
?
汽車車內(nèi)噪聲主動(dòng)控制迭代變步長(zhǎng)LMS算法
高 賓,張心光,王巖松,劉寧寧
(上海工程技術(shù)大學(xué) 汽車工程學(xué)院,上海 201620)
針對(duì)LMS算法無(wú)法同時(shí)兼顧收斂速度和穩(wěn)態(tài)誤差固有缺陷,及已有變步長(zhǎng)LMS算法存在易受噪聲干擾影響的問(wèn)題。文中通過(guò)建立步長(zhǎng)因子與迭代次數(shù)之間的非線性函數(shù)關(guān)系,提出了一種基于迭代變步長(zhǎng)LMS算法的汽車車內(nèi)噪聲主動(dòng)控制方法。通過(guò)將基于LMS算法、變步長(zhǎng)LMS算法和迭代變步長(zhǎng)LMS算法的汽車車內(nèi)噪聲主動(dòng)控制結(jié)果進(jìn)行對(duì)比,結(jié)果表明,與LMS算法相比,迭代變步長(zhǎng)LMS算法的收斂速度提高37%;與變步長(zhǎng)LMS算法相比,迭代變步長(zhǎng)LMS算法的收斂速度提高15%,具有更快的算法收斂速度和較小的穩(wěn)態(tài)誤差。
迭代變步長(zhǎng)LMS算法;算法收斂速度;穩(wěn)態(tài)誤差;噪聲主動(dòng)控制
隨著汽車技術(shù)的發(fā)展,汽車運(yùn)行產(chǎn)生的車內(nèi)噪聲問(wèn)題越來(lái)越引起消費(fèi)者的關(guān)注,車內(nèi)噪聲不僅嚴(yán)重影響乘坐舒適性、會(huì)話清晰度及駕駛員對(duì)各種信號(hào)的識(shí)別能力,也使汽車發(fā)生事故的概率大幅提高[1]。
降低汽車車內(nèi)噪聲的主要方法包括噪聲被動(dòng)控制方法[2]和噪聲主動(dòng)控制方法[3]。被動(dòng)噪聲控制方法主要包括吸聲、隔聲及使用消聲器等,對(duì)中、高頻噪聲的抑制有很好的效果,但對(duì)低頻噪聲抑制效果較差。與被動(dòng)噪聲控制方法相比,主動(dòng)噪聲控制方法可以有效抑制低頻噪聲,并且可以使整個(gè)系統(tǒng)體積小,便與設(shè)計(jì)與控制,已被廣泛應(yīng)用于車內(nèi)噪聲控制。
在眾多汽車車內(nèi)噪聲主動(dòng)控制系統(tǒng)中,其難點(diǎn)在于如何改進(jìn)汽車車內(nèi)噪聲主動(dòng)控制算法?;诰S納濾波而推出的最小均方算法(Least Mean Square,LMS)因其具有算法結(jié)構(gòu)簡(jiǎn)單、計(jì)算量小和穩(wěn)定性強(qiáng)等優(yōu)點(diǎn),目前已被廣泛用于車輛車內(nèi)噪聲降噪方法[4-7]。但是,LMS算法存在無(wú)法兼顧算法收斂速度與穩(wěn)態(tài)誤差的固有缺陷,目前多采用變步長(zhǎng)LMS算法[8-12]來(lái)克服LMS算法的這一缺陷。文獻(xiàn)[13]通過(guò)應(yīng)用LMS算法、步長(zhǎng)因子與誤差信號(hào)呈正弦函數(shù)關(guān)系的,變步長(zhǎng)LMS算法進(jìn)行軌道車輛車內(nèi)噪聲主動(dòng)控制,結(jié)果表明,文中采用的變步長(zhǎng)LMS算法克服了LMS算法的固有缺陷,是一種有效的軌道車輛車內(nèi)噪聲主動(dòng)控制方法。
通常,已有變步長(zhǎng)LMS算法均是基于算法輸出誤差調(diào)整步長(zhǎng)因子的大小,具有易受噪聲干擾的缺陷。與已有的變步長(zhǎng)LMS算法相比,文中采用的迭代變步長(zhǎng)LMS算法通過(guò)建立步長(zhǎng)因子與迭代次數(shù)之間的非線性函數(shù)關(guān)系,克服了已有變步長(zhǎng)LMS算法的缺點(diǎn)。
通過(guò)分別應(yīng)用LMS算法、變步長(zhǎng)LMS算法和迭代變步長(zhǎng)LMS算法進(jìn)行汽車車內(nèi)噪聲主動(dòng)控制,并將基于LMS算法、變步長(zhǎng)LMS算法和迭代變步長(zhǎng)LMS算法的汽車車內(nèi)噪聲主動(dòng)控制結(jié)果進(jìn)行對(duì)比,結(jié)果表明,迭代變步長(zhǎng)LMS算法解決了LMS算法和變步長(zhǎng)LMS算法的缺陷,具有更快的算法收斂速度和較小的穩(wěn)態(tài)誤差。
LMS算法[14]是一種線性自適應(yīng)濾波器算法,由兩部分組成:一是濾波器部分,通過(guò)一組抽頭系數(shù),計(jì)算濾波器的輸出,然后通過(guò)比較期望輸出與濾波器的輸出,產(chǎn)生一個(gè)估計(jì)誤差;二是自適應(yīng)算法部分,根據(jù)估計(jì)誤差自動(dòng)調(diào)節(jié)濾波器抽頭系數(shù)權(quán)重。
自適應(yīng)濾波器[15]的結(jié)構(gòu)可以采用 FIR 或 IIR 結(jié)構(gòu),由于 IIR 濾波器存在穩(wěn)定性較差的問(wèn)題,因此一般采用 FIR濾波器作為自適應(yīng)濾波器的結(jié)構(gòu)。自適應(yīng) FIR 濾波器結(jié)構(gòu)又可分為 3 種結(jié)構(gòu)類型:橫向型結(jié)構(gòu)、對(duì)稱橫向型結(jié)構(gòu)以及格型結(jié)構(gòu)。本文采用自適應(yīng)濾波器設(shè)計(jì)中常用的 FIR 橫向型結(jié)構(gòu)。圖1為自適應(yīng)橫向型 FIR濾波器的結(jié)構(gòu)示意圖。
圖1 自適應(yīng)橫向FIR濾波器結(jié)構(gòu)框圖
圖1中抽頭輸入x(n),x(n-1),…,x(n-N+1),x(n-N)構(gòu)成含N個(gè)單元的抽頭輸入矢量X[n],其中,N表示延遲單元的個(gè)數(shù),這些抽頭輸入跨越在多維空間上,用X[n]表示,即為系統(tǒng)的輸入信號(hào)。同樣,抽頭數(shù)權(quán)重w0(n),w1(n),…,wN(n)構(gòu)成含N個(gè)單元的抽頭系數(shù)權(quán)矢量W(n)。
在濾波器的處理過(guò)程中,輸入信號(hào)X(n),通過(guò)權(quán)系數(shù)可調(diào)的數(shù)字濾波器后產(chǎn)生輸出信號(hào)y(n),將y(n)與參考信號(hào)d(n)進(jìn)行比較,得到誤差信號(hào)e(n)。e(n)和X(n)通過(guò)自適應(yīng)算法對(duì)濾波器參數(shù)進(jìn)行調(diào)整,按照某種算法準(zhǔn)則來(lái)判斷誤差信號(hào)e(n)是否達(dá)到要求。重復(fù)上述過(guò)程,濾波器逐漸掌握了輸入信號(hào)與噪聲規(guī)律,以此為依據(jù)調(diào)節(jié)自身參數(shù),達(dá)到最佳濾波效果。橫向?yàn)V波器的輸出
(1)
式中,X(n)=[x(n),x(n-1),…,x(n-N)]T是輸入矢量信號(hào);W(n)=[w0(n),w1(n),…,wN(n)]T是權(quán)重矢量;n是時(shí)間指數(shù);N是濾波器階數(shù)。
LMS算法的誤差信號(hào)為
e(n)=d(n)-y(n)
(2)
式中,d(n)是參考信號(hào);y(n)是濾波器的輸出。誤差信號(hào)e(n)的作用是用來(lái)修改自適應(yīng)濾波器系數(shù),它要根據(jù)一個(gè)判定標(biāo)準(zhǔn)來(lái)修改。這里采用的判定標(biāo)準(zhǔn)是均方誤差MSE (Mean Square Error)準(zhǔn)則
ε=MSE=E[e2(n)]
其目的是讓濾波器的輸出信號(hào)與期望輸出信號(hào)之間的均方誤差最小。該算法具有簡(jiǎn)單有效、計(jì)算量小、易于實(shí)現(xiàn)等優(yōu)點(diǎn)。基于最速下降法的最小均方誤差(LMS)算法的迭代公式如下
e(n)=d(n)-X(n)TW(n)
(3)
W(n+1)=W(n)+2μe(n)X(n)
(4)
式中,X(n)表示時(shí)刻n的輸入信號(hào)矢量;W(n)為時(shí)刻n的自適應(yīng)濾波器的權(quán)系數(shù);μ是步長(zhǎng)因子,是控制系統(tǒng)穩(wěn)定性和收斂速度的參量。
對(duì)自適應(yīng)濾波器來(lái)說(shuō),最重要的兩個(gè)因素是收斂速度與穩(wěn)態(tài)誤差,收斂速度決定了濾波器跟蹤信號(hào)的能力。收斂時(shí)間常數(shù)由下式?jīng)Q定
t=1/(μλmin)
(5)
式中,λmin很小,所以收斂時(shí)間的快慢主要取決于步長(zhǎng)μ的大小。收斂速度與步長(zhǎng)μ的大小成反比。
穩(wěn)態(tài)誤差MSE為
MSE=εmin
(6)
式中,εmin是穩(wěn)態(tài)誤差中最小的MSE。穩(wěn)態(tài)誤差與步長(zhǎng)μ成正比。
由式(5)和式(6)可以看出,LMS算法在加快算法收斂速度與減小穩(wěn)態(tài)誤差之間存在矛盾。步長(zhǎng)μ固定的情況下,加快算法收斂速度的同時(shí)會(huì)增大穩(wěn)態(tài)誤差。
為解決LMS算法在收斂速度與穩(wěn)態(tài)誤差之間存在的固有矛盾,許多變步長(zhǎng)LMS算法被提出,使得步長(zhǎng)在算法初始階段值較大,并且隨著算法輸出誤差的減小而逐漸減小,以此來(lái)降低穩(wěn)態(tài)失調(diào)誤差。但是,已有的變步長(zhǎng)LMS算法容易受到噪聲等因素的影響,為了解決這一不足,采用迭代LMS算法,算法的步長(zhǎng)隨迭代次數(shù)的增大而逐漸減小。
為使步長(zhǎng)因子取值滿足收斂條件,且在收斂時(shí)具有較小的穩(wěn)態(tài)失調(diào)誤差,對(duì)步長(zhǎng)因子的取值加以限制。然后根據(jù)一個(gè)多項(xiàng)式函數(shù)建立與迭代次數(shù)之間的非線性函數(shù)關(guān)系
(7)
式中,umax表示步長(zhǎng)因子最大值;k是根據(jù)不同情況設(shè)定的調(diào)整參數(shù),控制步長(zhǎng)隨迭代次變化的快慢程度。由公式可知步長(zhǎng)因子隨迭代次數(shù)單調(diào)遞減,步長(zhǎng)因子u(n)與迭代次數(shù)之間的函數(shù)曲線如圖2所示。
圖2 步長(zhǎng)因子與迭代次數(shù)關(guān)系曲線
如圖2所示,步長(zhǎng)因子隨著迭代次數(shù)的增加逐漸減小,在迭代初期步長(zhǎng)較大,隨著迭代次數(shù)增加,步長(zhǎng)開始減小,可以克服傳統(tǒng)LMS算法由于固定步長(zhǎng)因子而存在的缺陷。
迭代算法的濾波器權(quán)向量W(n)更新算法如下
W(n+1)=W(n)+μ(n)e(n)X(n)
(8)
為使迭代LMS算法具有應(yīng)對(duì)未知濾波器系數(shù)突變的能力,步長(zhǎng)因子隨迭代次數(shù)改變的同時(shí),通過(guò)對(duì)前后時(shí)刻輸出誤差進(jìn)行功率檢驗(yàn),判斷是否發(fā)生突變,算法基本流程如下:(1) 算法初始化,由加權(quán)系數(shù)向量的階數(shù),輸入信號(hào)功率,噪聲功率以及設(shè)置的最大穩(wěn)態(tài)誤差比,確定umax和k;(2) 由設(shè)定的參數(shù)實(shí)時(shí)計(jì)算每次迭代時(shí)的步長(zhǎng)因子,之后執(zhí)行LMS算法的其余部分;(3) 估計(jì)當(dāng)前時(shí)刻的誤差e(n),與前一時(shí)刻誤差e(n-1)進(jìn)行對(duì)比,若大于設(shè)定的值,則執(zhí)行步驟(4),若小于則直接返回步驟(2);(4) 由當(dāng)前時(shí)刻的信號(hào)x(n)的功率估值更新參數(shù)umax和k,返回步驟(2)。
為驗(yàn)證所提出算法的準(zhǔn)確性和有效性,依據(jù)國(guó)家標(biāo)準(zhǔn)GB/T 18697-2002《聲學(xué) 汽車車內(nèi)噪聲測(cè)量方法》,制定并進(jìn)行了汽車車內(nèi)噪聲樣本采集試驗(yàn),利用西門子公司的LMS Test.Lab軟件及數(shù)據(jù)采集前端進(jìn)行噪聲采集。噪聲樣本采集試驗(yàn),在半消音室內(nèi)進(jìn)行,汽車處于空擋狀態(tài)下,發(fā)動(dòng)機(jī)轉(zhuǎn)速1 500 rpm,采集駕駛員耳側(cè)處的噪聲信號(hào)樣本。對(duì)采集來(lái)的樣本,用文中所提算法建立自適應(yīng)降噪處理,分析降噪效果。
圖3 汽車車內(nèi)噪聲采集
圖3(a)為噪聲采集試驗(yàn)傳感器位置布置圖,在駕駛員座椅處放置雙耳人工頭,圖3(b)為噪聲采集試驗(yàn)整體圖,試驗(yàn)在半消聲室內(nèi)進(jìn)行。
為驗(yàn)證算法的效果,對(duì)采集的車內(nèi)噪聲信號(hào)分別用傳統(tǒng)LMS算法、基于正弦函數(shù)的變步長(zhǎng)LMS算法及本文算法進(jìn)行對(duì)比分析,分析結(jié)果如圖4所示。
圖4 算法結(jié)果驗(yàn)證
當(dāng)應(yīng)用LMS算法、變步長(zhǎng)LMS算法及迭代LMS算法對(duì)車內(nèi)噪聲進(jìn)行自適應(yīng)濾波降噪時(shí),文中選取自適應(yīng)濾波器階數(shù)為10,算法初始步長(zhǎng)為0.02。以駕駛員右耳處噪聲信號(hào)作為輸入信號(hào),以發(fā)動(dòng)機(jī)艙內(nèi)聲音信號(hào)作為參考信號(hào),如圖4(a)所示,在算法收斂速度方面,LMS算法大約在第30個(gè)采樣點(diǎn)處進(jìn)入收斂,基于正弦函數(shù)的變步長(zhǎng)LMS算法大約在第26個(gè)采樣點(diǎn)處進(jìn)入收斂,本文采用的迭代LMS算法在第19個(gè)采樣點(diǎn)處進(jìn)入收斂。如圖4(b)所示,在算法穩(wěn)態(tài)誤差方面,迭代LMS算法穩(wěn)態(tài)誤差最小,變步長(zhǎng)LMS算法相較于迭代LMS算法較大,LMS算法穩(wěn)態(tài)誤差最大。通過(guò)分析可知,迭代LMS算法收斂速度最快,變步長(zhǎng)LMS算法次之,傳統(tǒng)LMS算法收斂速度最慢。進(jìn)入收斂后迭代LMS算法穩(wěn)態(tài)誤差最小。
通過(guò)對(duì)汽車車內(nèi)噪聲試驗(yàn)進(jìn)行分析,分別采用傳統(tǒng)LMS算法、變步長(zhǎng)LMS算法和本文提出的迭代LMS算法進(jìn)行降噪對(duì)比分析。由分析結(jié)果可知:所提迭代LMS算法具有更快的收斂速度及更小的穩(wěn)態(tài)誤差,相對(duì)傳統(tǒng)LMS算法和變步長(zhǎng)LMS算法都有一定的改善效果。
[1] 馮天培,王巖松,郭輝.車內(nèi)噪聲聽覺時(shí)域掩蔽主動(dòng)控制LMS算法[J].噪聲與振動(dòng)控制, 2014,34(3):97-100.
[2] 劉宗財(cái),劉巖,賈艷賓,等.汽車車內(nèi)噪聲測(cè)試與分析[J].噪聲與振動(dòng)控制,2013,33(5):82-85.
[3] 陳克安.有源噪聲控制[M].2版.北京:國(guó)防工業(yè)出版社,2014.
[4] 胡嘯,胡愛群,戴德超,等.機(jī)動(dòng)車輛艙室內(nèi)主動(dòng)噪聲控制系統(tǒng)的設(shè)計(jì)[J].電聲技術(shù),2001,193 (7):29-33.
[5] 張兆林,李路,姚如貴,等.基于LMS算法的窄帶干擾檢測(cè)技術(shù)[J].西北工業(yè)大學(xué)學(xué)報(bào),2016,34(1):92-97.
[6] 班小東,張辰光.判決反饋均衡器結(jié)構(gòu)及LMS算法研究[J].電子科技,2007,21(3):36-38.
[7] 張全普,邱麗原.LMS自適應(yīng)濾波器干擾方法[J].電子科技,2012,25(7):86-88.
[8] Mayyas K.A variable step-size selective partial update LMS algorithm[J].Digital Signal Processing,2013,23(1):75-85.
[9] 覃景繁,歐陽(yáng)景正.一種新的變步長(zhǎng)LMS自適應(yīng)濾波算法[J].數(shù)據(jù)采集與處理,1997,12(3):171-174.
[10] 高鷹,謝勝利.一種變步長(zhǎng)LMS自適應(yīng)濾波算法及分析[J].電子學(xué)報(bào),2001,29(8):1094-1097.
[11] 楊飛飛,陰亞芳.一種新的變步長(zhǎng)LMS自適應(yīng)算法[J].電子科技,2013,26(5):125-127.
[12] 王崇輝,鄒鯤.一種基于誤差相關(guān)函數(shù)的改進(jìn)變步長(zhǎng)LMS算法[J].電子科技,2013,26(7):14-16.
[13] 余榮平,張心光,王巖松,等.車內(nèi)噪聲主動(dòng)控制變步長(zhǎng)LMS算法[J].噪聲與振動(dòng)控制,2015,35(1):123-126.
[14] Simon Haykin.自適應(yīng)濾波器原理[M].4版.鄭寶玉,譯.北京:電子工業(yè)出版社,2010.
[15] 洪燦梅,劉愛蓮. FIR濾波器與IIR濾波器去噪效果對(duì)比研究[J].微型機(jī)與應(yīng)用,2015,34(21):67-69.
Active Noise Control for Vehicle Interior Noise Using Iteration Variable Step-size LMS Algorithm
GAO Bin,ZHANG Xinguang,WANG Yansong,LIU Ningning
(School of Automotive Engineering,Shanghai University of Engineering Science,Shanghai 201620,China)
LMS algorithm can not result in fast convergence speed and low steady-state residual error, and Variable Step-size LMS (VSSLMS) algorithm is easy influence by the noise.A modified nonlinear function is constructed between the iteration time and the step-size to obtain an noise active control method for vehicle interior noise. Comparison of active noise control results which are obtained by using the LMS algorithm and variable-step LMS algorithm and Iteration step-size LMS algorithm shows that the iteration variable-step LMS algorithm has fast convergence 37% than LMS algorithm and fast convergence 15% than variable step-size LMS algorithm. It has a faster convergence rate and a smaller steady state error.
iteration variable step-size LMS algorithm;algorithm convergence speed;steady-state error;noise active control
2016- 10- 13
國(guó)家自然科學(xué)基金(51609132);上海工程技術(shù)大學(xué)啟動(dòng)基金(2015-66);上海高校青年教師培養(yǎng)資助計(jì)劃(ZZGCD15044)
高賓(1991-),男,碩士研究生。研究方向:車輛NVH測(cè)控技術(shù)。張心光(1982-),男,博士,講師。研究方向:噪聲控制和動(dòng)力系統(tǒng)建模。
10.16180/j.cnki.issn1007-7820.2017.08.003
TN911.72;U467.4+93
A
1007-7820(2017)05-009-04