唐求,吳娟,邱偉,沈潔,滕召勝
(湖南大學(xué) 電氣與信息工程學(xué)院,湖南長(zhǎng)沙410082)
人耳對(duì)響度相同、頻率成分不同的聲音產(chǎn)生不同的聽(tīng)覺(jué)感受,為了模擬人耳的聽(tīng)覺(jué)特性,需在聲級(jí)計(jì)中設(shè)計(jì)一種頻率計(jì)權(quán)網(wǎng)絡(luò)修正聲音信號(hào),使其對(duì)不同頻率信號(hào)具有與人耳相同的靈敏度[1].因此,頻率計(jì)權(quán)是聲級(jí)計(jì)實(shí)現(xiàn)噪聲測(cè)量的一項(xiàng)重要計(jì)量指標(biāo)[2].IEC 61672規(guī)定1級(jí)聲級(jí)計(jì)必須實(shí)現(xiàn)A、C頻率計(jì)權(quán)功能[3].
近年來(lái),全數(shù)字式聲級(jí)計(jì)得到廣泛應(yīng)用[4],但針對(duì)聲級(jí)計(jì)頻率計(jì)權(quán)數(shù)字濾波器的設(shè)計(jì)研究較少.頻率計(jì)權(quán)數(shù)字濾波器的實(shí)現(xiàn)可以選擇無(wú)限沖激響應(yīng)(IIR)數(shù)字濾波器和有限沖激響應(yīng)(FIR)數(shù)字濾波器[5].對(duì)于相同的濾波精度,與FIR濾波器相比,IIR濾波器所用的階數(shù)少,存儲(chǔ)單元也較少[6].
由于聲級(jí)計(jì)的頻率計(jì)權(quán)算法采用嵌入式系統(tǒng)實(shí)現(xiàn),要求計(jì)算量小,占用存儲(chǔ)空間少,故本文選用數(shù)字IIR濾波器設(shè)計(jì)頻率計(jì)權(quán).其中,常用雙線性變換(Bilinear Transformation,BT)設(shè)計(jì)數(shù)字IIR濾波器[7].但雙線性變換是一種近似變換,存在固有的頻率失真[8],導(dǎo)致誤差較大.為此,文獻(xiàn)[9]采用粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)對(duì)A計(jì)權(quán)的數(shù)字IIR濾波器系數(shù)進(jìn)行搜索優(yōu)化,取得了明顯成效.但PSO算法在優(yōu)化過(guò)程中容易出現(xiàn)早熟收斂而陷入局部極值點(diǎn),從而得不到全局最優(yōu)解[10-11],尤其在加噪環(huán)境下,誤差更為明顯.
帝國(guó)競(jìng)爭(zhēng)算法(Imperialist Competitive Algorithm,ICA)在濾波器的優(yōu)化設(shè)計(jì)中,全局搜索能力和信息不依賴能力均高于其他智能優(yōu)化算法[12].但該算法在系數(shù)搜索過(guò)程中也同樣存在早熟收斂等不足,導(dǎo)致優(yōu)化結(jié)果存在誤差[13].據(jù)此,本文提出一種改進(jìn)帝國(guó)競(jìng)爭(zhēng)算法(Modified Imperialist Competitive Algorithm,MICA)的聲級(jí)計(jì)頻率計(jì)權(quán)數(shù)字濾波器設(shè)計(jì)方案.MICA在標(biāo)準(zhǔn)ICA算法的同化過(guò)程中添加混沌函數(shù)來(lái)增強(qiáng)算法的搜索可能性,引入克隆進(jìn)化算子來(lái)有效引導(dǎo)算法向最優(yōu)解方向搜索,最終得到濾波器的最優(yōu)系數(shù).相比標(biāo)準(zhǔn)ICA,MICA具有搜索范圍廣,尋優(yōu)精度高和優(yōu)化性能好等特點(diǎn).
本文針對(duì)雙線性變換法實(shí)現(xiàn)聲級(jí)計(jì)頻率計(jì)權(quán)存在的誤差,通過(guò)在ICA算法中添加混沌函數(shù)和引入克隆算子,設(shè)計(jì)MICA算法,并將MICA應(yīng)用到頻率計(jì)權(quán)數(shù)字IIR濾波器設(shè)計(jì)中.仿真與實(shí)驗(yàn)數(shù)據(jù)表明,在加噪環(huán)境下,不同聲信號(hào)級(jí)進(jìn)行的頻率計(jì)權(quán)誤差均能維持在10-2dB數(shù)量級(jí)范圍內(nèi),符合1級(jí)聲級(jí)計(jì)的設(shè)計(jì)要求,證明了該方法的有效性.
根據(jù)IEC 61672標(biāo)準(zhǔn)給出的A、C計(jì)權(quán)計(jì)算式,可分別推導(dǎo)出A、C計(jì)權(quán)模擬濾波器傳遞函數(shù)分別為[2]:
子濾波器傳遞函數(shù)Hi(s)(i=1,…,4)為:
且f1=20.6 Hz,f2=107.7 Hz,f3=737.9 Hz,f4=12 194 Hz.
標(biāo)準(zhǔn)定義下的A、C計(jì)權(quán)表達(dá)式分別為:
式中:WA1000=-2.000 dB;WC1000=-0.062 dB;f為信號(hào)頻率.令z=ejwi,s=jΩi,代入雙線性變換
式中:Ts為采樣周期.模擬截止角頻率Ωi與數(shù)字截止角頻率ωi的關(guān)系為:
將式(1)(2)從s域映射到z域,利用式(6)(7),得到基于雙線性變換的A、C計(jì)權(quán)濾波器傳遞函數(shù).
式中:
基于雙線性變換的A、C計(jì)權(quán)表達(dá)式分別為:
聲級(jí)計(jì)一般采用48 kHz的采樣率[14],頻率測(cè)量范圍為10~20 kHz.在該頻率范圍內(nèi),根據(jù)文獻(xiàn)[3]給定的34個(gè)標(biāo)稱參考頻率點(diǎn),利用MATLAB對(duì)基于雙線性變換的A、C計(jì)權(quán)式(11)(12)進(jìn)行仿真,并與標(biāo)準(zhǔn)A、C計(jì)權(quán)式(4)(5)進(jìn)行對(duì)比.A、C計(jì)權(quán)仿真曲線分別如圖1和圖2所示.
圖1 A計(jì)權(quán)仿真曲線Fig.1 A-weighting simulation curves
圖2 C計(jì)權(quán)仿真曲線Fig.2 C-weighting simulation curves
從圖1和圖2中局部放大圖可清晰地觀察到,基于雙線性變換的A、C計(jì)權(quán)在大于13 kHz的高頻段都嚴(yán)重偏離了標(biāo)準(zhǔn)計(jì)權(quán)曲線,導(dǎo)致誤差較大.
定義基于雙線性變換的A、C計(jì)權(quán)與標(biāo)準(zhǔn)計(jì)權(quán)的誤差為:
將式(4)(5)(11)(12)分別代入式(13)可得出A、C計(jì)權(quán)的誤差表達(dá)式:
式中:i=1,2,3,4.即A計(jì)權(quán)誤差為4個(gè)子濾波器HBTA1(z)~HBTA4(z)的誤差加權(quán)和,C計(jì)權(quán)誤差為子濾波器HBTC1(z)與HBTC4(z)的誤差和的2倍.基于雙線性變換A、C計(jì)權(quán)子濾波器誤差的幅頻響應(yīng)曲線分別如圖3和圖4所示.圖3中EBTA123(f)為子濾波器誤差EBTA1(f)~EBTA3(f)之和.
圖3 A計(jì)權(quán)EBTA123(f)和EBTA4(f)曲線Fig.3 A-weighting curves of EBTA123(f)and EBTA4(f)
圖4 C計(jì)權(quán)EBTC1(f)和EBTC4(f)曲線Fig.4 C-weighting curves of EBTC1(f)and EBTC4(f)
由圖3和圖4可知,基于雙線性變換的A、C計(jì)權(quán)數(shù)字濾波器的誤差都主要來(lái)源于子濾波器HBT4(z).在頻率為20 kHz處,HBT4(z)的最大誤差接近12 dB.分析式(1)(2)可知,在C計(jì)權(quán)的基礎(chǔ)上加上兩個(gè)一階子濾波器HBT2(z)HBT3(z)可實(shí)現(xiàn)A計(jì)權(quán).因此,本文重點(diǎn)對(duì)A計(jì)權(quán)子濾波器HBT4(z)進(jìn)行優(yōu)化設(shè)計(jì),實(shí)現(xiàn)步驟及測(cè)試過(guò)程均以A計(jì)權(quán)為例.
帝國(guó)競(jìng)爭(zhēng)算法(ICA)是一種新型智能優(yōu)化算法[15].該方法模擬帝國(guó)與殖民地之間相互選擇與競(jìng)爭(zhēng),最終剩下最強(qiáng)的帝國(guó),即收斂得到最優(yōu)解.但在濾波器的優(yōu)化設(shè)計(jì)中,ICA在系數(shù)搜索過(guò)程中存在早熟收斂的問(wèn)題,導(dǎo)致尋優(yōu)結(jié)果存在誤差.
在標(biāo)準(zhǔn)ICA的帝國(guó)同化操作中,子群的每一個(gè)非理想解(殖民地)都過(guò)于直接地向子群的最優(yōu)解(帝國(guó))方向靠近,造成搜索范圍過(guò)小、容易陷入局部最優(yōu)的問(wèn)題.為增大搜索范圍,優(yōu)化搜索精度,針對(duì)頻率計(jì)權(quán)參數(shù)優(yōu)化問(wèn)題,本文提出一種改進(jìn)的帝國(guó)競(jìng)爭(zhēng)算法,該方法在殖民地向帝國(guó)移動(dòng)的過(guò)程中添加各種形式的混沌函數(shù),并篩選出優(yōu)化效果最好的函數(shù)更新標(biāo)準(zhǔn)ICA的同化方程,即
式中:colold和colnew分別表示移動(dòng)前后殖民地的位置;β為大于1的系數(shù);d為殖民地與帝國(guó)之間的距離;U表示均勻分布;V1為該殖民地向帝國(guó)移動(dòng)方向的一個(gè)單位向量;θ為移動(dòng)的隨機(jī)角度偏移量;V2為與V1正交的隨機(jī)單位向量.
帝國(guó)競(jìng)爭(zhēng)算法利用殖民地向帝國(guó)移動(dòng)進(jìn)行局部搜索,該操作體現(xiàn)的是帝國(guó)之間的信息交互,每次迭代僅僅是將最弱帝國(guó)中的最弱殖民地添加到最強(qiáng)帝國(guó)中,對(duì)每個(gè)帝國(guó)勢(shì)力大小影響不大.因此,針對(duì)帝國(guó)之間的交互性不足,本文引入克隆進(jìn)化算子,得到MICA.下面對(duì)該算子進(jìn)行描述.
第1步克隆.將當(dāng)前迭代次數(shù)下的m個(gè)帝國(guó)按勢(shì)力大小降序排列,作為待克隆群體.每個(gè)帝國(guó)克隆個(gè)數(shù)NCloi與其所屬殖民地?cái)?shù)量NColi有關(guān),表示為:
式中:λ為克隆系數(shù).
第2步變異.根據(jù)式(19)(20),第i個(gè)帝國(guó)的克隆群體Cloi發(fā)生變異,成為變異群體Muti:
式中:ωi為變異概率,勢(shì)力越大的帝國(guó)變異概率越??;Impbest為當(dāng)前迭代次數(shù)下勢(shì)力最大的帝國(guó);n為優(yōu)化問(wèn)題的維度;rand(NCloi,n)為NCloi×n維矩陣.
第3步交叉.將Muti隨機(jī)分為4組進(jìn)行交叉:
第4步選擇.選擇Muti和Croi中勢(shì)力最大的k個(gè)個(gè)體取代當(dāng)前最弱的k個(gè)帝國(guó).
由1.2節(jié)分析可知,子濾波器HBT4(z)是雙線性法設(shè)計(jì)頻率計(jì)權(quán)濾波器的誤差主要來(lái)源.利用MICA對(duì)A計(jì)權(quán)的數(shù)字濾波器系數(shù)進(jìn)行搜索優(yōu)化.
根據(jù)式(8)和式(10)設(shè)計(jì)MICA優(yōu)化模型:
式中:A0為增益;a0、a1與b0、b1分別為濾波器的零點(diǎn)和極點(diǎn).為保證設(shè)計(jì)的濾波器的穩(wěn)定性,極點(diǎn)的搜索范圍?。?1,1),為方便起見(jiàn)零點(diǎn)的搜索范圍取[-1,1].
增益A0由濾波器系數(shù)推導(dǎo)得到,即
其頻率響應(yīng)為:
理想濾波器H4(s)的頻率響應(yīng)為:
采用頻域均方誤差作為設(shè)計(jì)頻率計(jì)權(quán)濾波器的最優(yōu)化準(zhǔn)則,誤差值越小則優(yōu)化效果越好.利用MICA對(duì)理想濾波器進(jìn)行逼近,在34個(gè)標(biāo)稱參考頻率點(diǎn)處,設(shè)計(jì)的濾波器幅頻響應(yīng)與理想的幅頻響應(yīng)均方誤差為:
利用MICA對(duì)頻率計(jì)權(quán)濾波器進(jìn)行優(yōu)化設(shè)計(jì),將式(26)作為優(yōu)化目標(biāo)函數(shù),對(duì)濾波器系數(shù)a0、a1、b0、b1搜索求解,則優(yōu)化后的濾波器傳遞函數(shù)與A計(jì)權(quán)表達(dá)式變?yōu)椋?/p>
基于MICA的頻率計(jì)權(quán)數(shù)字濾波器設(shè)計(jì)框架如圖5所示.首先初始化MICA算法,然后采用MICA算法在對(duì)目標(biāo)函數(shù)進(jìn)行參數(shù)迭代尋優(yōu)直到達(dá)到對(duì)應(yīng)的停止條件,從而求解出目標(biāo)函數(shù)的優(yōu)化參數(shù).
具體步驟為:
1)初始化帝國(guó)集團(tuán).隨機(jī)生成Npop×4維矩陣的初始位置,MICA主要參數(shù)設(shè)置為:國(guó)家數(shù)量Npop=88、帝國(guó)數(shù)量Nimp=8、殖民地?cái)?shù)量Ncol=80、最大迭代次數(shù)Miter=800、當(dāng)前迭代次數(shù)Niter=0以及數(shù)字濾波器采樣頻率fs=48 kHz.
圖5 基于MICA的聲級(jí)計(jì)頻率計(jì)權(quán)濾波器設(shè)計(jì)框架Fig.5 Flowchart for the frequency weighting filter in sound-level meter based on MICA
2)帝國(guó)同化.殖民地國(guó)家按照式(17)向所屬帝國(guó)方向移動(dòng).并重新計(jì)算殖民地的勢(shì)力,若其勢(shì)力大于所屬帝國(guó)勢(shì)力,則兩者互換位置.
3)帝國(guó)競(jìng)爭(zhēng).帝國(guó)的總勢(shì)力計(jì)算式為:
式中:TCi為第i個(gè)帝國(guó)的總目標(biāo)函數(shù)值,其值越小,表示勢(shì)力越大;ci為該帝國(guó)的目標(biāo)函數(shù)值;系數(shù)ξ為小于1的正數(shù);后一項(xiàng)為該帝國(guó)擁有的殖民地目標(biāo)函數(shù)均值,其中f(colj)為殖民地colj的函數(shù)值,NColi為其擁有的殖民地?cái)?shù)量.根據(jù)式(18)~(21)通過(guò)克隆進(jìn)化將勢(shì)力最強(qiáng)的k個(gè)帝國(guó)取代勢(shì)力最弱的k個(gè)帝國(guó).
4)算法收斂.累積迭代次數(shù)Niter=Niter+1,當(dāng)?shù)螖?shù)達(dá)到最大迭代次數(shù)Miter或者通過(guò)帝國(guó)競(jìng)爭(zhēng)后,最弱帝國(guó)逐漸滅亡,最終只剩一個(gè)帝國(guó)集團(tuán).此時(shí)的群體為算法最優(yōu)解,搜索終止.
5)得到全局最優(yōu)位置處的Hopt(z),根據(jù)式(27)(28)求出基于MICA算法的A計(jì)權(quán)WMICA.A(f).
為驗(yàn)證本文提出的MICA設(shè)計(jì)聲級(jí)計(jì)頻率計(jì)權(quán)數(shù)字濾波器的有效性,利用MATLAB進(jìn)行仿真生成仿真數(shù)據(jù).定義基于MICA的A計(jì)權(quán)的誤差為:
圖6為基于MICA算法的A計(jì)權(quán)誤差EOPTA(f)與基于雙線性變換的A計(jì)權(quán)誤差EBTA(f)的幅頻響應(yīng)曲線,在局部放大圖中,黑色曲線放大的是從10~10 000 Hz的基于MICA的A計(jì)權(quán)誤差.由圖6可知,本文提出的MICA設(shè)計(jì)方法能有效減小雙線性變換設(shè)計(jì)頻率計(jì)權(quán)數(shù)字濾波器的誤差,且誤差范圍能控制在10-3dB的數(shù)量級(jí)范圍內(nèi).
此外,為了比較算法相比傳統(tǒng)優(yōu)化算法的性能,同時(shí)采用PSO和標(biāo)準(zhǔn)ICA算法進(jìn)行了頻率計(jì)權(quán)濾波器優(yōu)化對(duì)比設(shè)計(jì)[16].算法的迭代次數(shù)均設(shè)置為800,仿真結(jié)果的誤差幅頻響應(yīng)曲線如圖7所示.仿真結(jié)果表明,與PSO和ICA優(yōu)化算法相比,在相同的迭代次數(shù)下基于MICA設(shè)計(jì)的濾波器誤差更小,具有更好的優(yōu)化性能,同時(shí)證明了本文改進(jìn)算法的有效性.
圖6 基于MICA的A計(jì)權(quán)誤差曲線Fig.6 Error curve of A-weighting based on MICA
圖7 A計(jì)權(quán)誤差曲線Fig.7 Error curves of A-weighting
為驗(yàn)證所提出的改進(jìn)ICA聲級(jí)計(jì)頻率計(jì)權(quán)濾波器設(shè)計(jì)方法的有效性,本文采用如圖8所示的聲級(jí)計(jì)實(shí)驗(yàn)平臺(tái)進(jìn)行測(cè)試.其中,信號(hào)發(fā)生單元由信號(hào)源與可變衰減器構(gòu)成,利用調(diào)理電路對(duì)電信號(hào)進(jìn)行調(diào)理,采用最高采樣頻率達(dá)450 kHz的16位中泰工控EM-9118B-18同步數(shù)據(jù)采集卡對(duì)電壓信號(hào)進(jìn)行采集.最后,通過(guò)以太網(wǎng)TCP/IP協(xié)議傳輸方式將數(shù)據(jù)實(shí)時(shí)傳輸至PC機(jī)進(jìn)行顯示和管理、以及噪聲數(shù)據(jù)的分析等.
圖8 聲級(jí)計(jì)實(shí)驗(yàn)測(cè)試平臺(tái)Fig.8 Test platform for the sound-level meter
為了測(cè)試聲級(jí)計(jì)在不同信號(hào)級(jí)下的A計(jì)權(quán)特性,在輸入信號(hào)級(jí)為L(zhǎng)={128,118,98,78}dB 4種情況下測(cè)試聲級(jí)計(jì)A計(jì)權(quán)誤差.表1給出了標(biāo)稱參考頻率點(diǎn)處基于雙線性變換、PSO、ICA和MICA的聲級(jí)計(jì)A計(jì)權(quán)在低頻段和高頻段的測(cè)試誤差.同時(shí),為了反映算法的抗噪性,給不同信號(hào)級(jí)聲源添加信噪比為25 dB的高斯白噪聲信號(hào).圖9、圖10分別給出了頻率在10 Hz~20 kHz內(nèi)的34個(gè)標(biāo)稱參考頻率點(diǎn)處基于雙線性變換與MICA的A計(jì)權(quán)測(cè)試結(jié)果曲線.
圖9 基于雙線性變換的A計(jì)權(quán)測(cè)試結(jié)果曲線Fig.9 Curves of the test result of A-weighting based on BT
A計(jì)權(quán)的測(cè)試結(jié)果分析如下:
1)由圖9可知,雙線性變換設(shè)計(jì)的A計(jì)權(quán)在4種輸入信號(hào)級(jí)處的測(cè)試誤差主要來(lái)自于低頻段和高頻段.根據(jù)2.2節(jié)所知,高頻誤差主要來(lái)源于雙線性變換法的非線性變換;低頻段的誤差來(lái)源于文獻(xiàn)[3]規(guī)定,當(dāng)輸入為78 dB的信號(hào)時(shí),低于12.5 Hz的信號(hào)經(jīng)過(guò)A計(jì)權(quán)后至少衰減63.4 dB,即聲級(jí)將小于14.6 dB,該輸入信號(hào)級(jí)的低頻段誤差主要受本底噪聲的影響,故本文對(duì)此未做考慮.
表1 聲級(jí)計(jì)在低頻段和高頻段的A計(jì)權(quán)測(cè)試誤差(SNR=25 dB)Tab.1 A-weighting test error of the sound-level meter in low&high frequency(SNR=25 dB)
2)由圖10可知,基于MICA的A計(jì)權(quán)在高頻處的誤差得到了極大改善.特別是表1中,在噪聲環(huán)境的影響下,MICA的測(cè)試精度均優(yōu)于PSO和ICA,且MICA的測(cè)試誤差基本能維持在10-2dB數(shù)量級(jí)范圍內(nèi),具有良好的抗噪性,符合聲級(jí)計(jì)0.1 dB的精度設(shè)計(jì)需求.
圖10 基于MICA的A計(jì)權(quán)測(cè)試結(jié)果曲線Fig.10 Curves of the test result of A-weighting based on MICA
本文針對(duì)雙線性變換法設(shè)計(jì)聲級(jí)計(jì)頻率計(jì)權(quán)數(shù)字濾波器時(shí)出現(xiàn)誤差較大的問(wèn)題,提出了一種基于改進(jìn)帝國(guó)競(jìng)爭(zhēng)算法的聲級(jí)計(jì)頻率計(jì)權(quán)數(shù)字IIR濾波器設(shè)計(jì)方法.為避免標(biāo)準(zhǔn)ICA早熟收斂而陷入局部最優(yōu),在同化階段加入混沌函數(shù)以及帝國(guó)競(jìng)爭(zhēng)階段引入克隆進(jìn)化算子,進(jìn)一步提高算法的收斂精度.對(duì)A計(jì)權(quán)的測(cè)試結(jié)果表明,本文提出的改進(jìn)ICA算法,有效改善了雙線性變換法的誤差,優(yōu)化效果明顯.且在加噪環(huán)境下,不同聲信號(hào)級(jí)的計(jì)權(quán)誤差均能維持在10-2dB數(shù)量級(jí)范圍內(nèi),符合1級(jí)聲級(jí)計(jì)設(shè)計(jì)要求.本文提出的方法不僅適用于聲級(jí)計(jì)的頻率計(jì)權(quán)優(yōu)化設(shè)計(jì),也適用于其他采用雙線性變換設(shè)計(jì)數(shù)字濾波器引起的頻率特性失真問(wèn)題,具有較高的實(shí)際應(yīng)用價(jià)值.