?

基于MICA的聲級計頻率計權數字IIR濾波器設計

2020-03-02 10:05唐求吳娟邱偉沈潔滕召勝
關鍵詞:帝國濾波器誤差

唐求,吳娟,邱偉,沈潔,滕召勝

(湖南大學 電氣與信息工程學院,湖南長沙410082)

人耳對響度相同、頻率成分不同的聲音產生不同的聽覺感受,為了模擬人耳的聽覺特性,需在聲級計中設計一種頻率計權網絡修正聲音信號,使其對不同頻率信號具有與人耳相同的靈敏度[1].因此,頻率計權是聲級計實現噪聲測量的一項重要計量指標[2].IEC 61672規定1級聲級計必須實現A、C頻率計權功能[3].

近年來,全數字式聲級計得到廣泛應用[4],但針對聲級計頻率計權數字濾波器的設計研究較少.頻率計權數字濾波器的實現可以選擇無限沖激響應(IIR)數字濾波器和有限沖激響應(FIR)數字濾波器[5].對于相同的濾波精度,與FIR濾波器相比,IIR濾波器所用的階數少,存儲單元也較少[6].

由于聲級計的頻率計權算法采用嵌入式系統實現,要求計算量小,占用存儲空間少,故本文選用數字IIR濾波器設計頻率計權.其中,常用雙線性變換(Bilinear Transformation,BT)設計數字IIR濾波器[7].但雙線性變換是一種近似變換,存在固有的頻率失真[8],導致誤差較大.為此,文獻[9]采用粒子群優化算法(Particle Swarm Optimization,PSO)對A計權的數字IIR濾波器系數進行搜索優化,取得了明顯成效.但PSO算法在優化過程中容易出現早熟收斂而陷入局部極值點,從而得不到全局最優解[10-11],尤其在加噪環境下,誤差更為明顯.

帝國競爭算法(Imperialist Competitive Algorithm,ICA)在濾波器的優化設計中,全局搜索能力和信息不依賴能力均高于其他智能優化算法[12].但該算法在系數搜索過程中也同樣存在早熟收斂等不足,導致優化結果存在誤差[13].據此,本文提出一種改進帝國競爭算法(Modified Imperialist Competitive Algorithm,MICA)的聲級計頻率計權數字濾波器設計方案.MICA在標準ICA算法的同化過程中添加混沌函數來增強算法的搜索可能性,引入克隆進化算子來有效引導算法向最優解方向搜索,最終得到濾波器的最優系數.相比標準ICA,MICA具有搜索范圍廣,尋優精度高和優化性能好等特點.

本文針對雙線性變換法實現聲級計頻率計權存在的誤差,通過在ICA算法中添加混沌函數和引入克隆算子,設計MICA算法,并將MICA應用到頻率計權數字IIR濾波器設計中.仿真與實驗數據表明,在加噪環境下,不同聲信號級進行的頻率計權誤差均能維持在10-2dB數量級范圍內,符合1級聲級計的設計要求,證明了該方法的有效性.

1 基于雙線性變換的頻率計權原理與誤差

1.1 頻率計權原理

根據IEC 61672標準給出的A、C計權計算式,可分別推導出A、C計權模擬濾波器傳遞函數分別為[2]:

子濾波器傳遞函數Hi(s)(i=1,…,4)為:

且f1=20.6 Hz,f2=107.7 Hz,f3=737.9 Hz,f4=12 194 Hz.

標準定義下的A、C計權表達式分別為:

式中:WA1000=-2.000 dB;WC1000=-0.062 dB;f為信號頻率.令z=ejwi,s=jΩi,代入雙線性變換

式中:Ts為采樣周期.模擬截止角頻率Ωi與數字截止角頻率ωi的關系為:

將式(1)(2)從s域映射到z域,利用式(6)(7),得到基于雙線性變換的A、C計權濾波器傳遞函數.

式中:

基于雙線性變換的A、C計權表達式分別為:

聲級計一般采用48 kHz的采樣率[14],頻率測量范圍為10~20 kHz.在該頻率范圍內,根據文獻[3]給定的34個標稱參考頻率點,利用MATLAB對基于雙線性變換的A、C計權式(11)(12)進行仿真,并與標準A、C計權式(4)(5)進行對比.A、C計權仿真曲線分別如圖1和圖2所示.

圖1 A計權仿真曲線Fig.1 A-weighting simulation curves

圖2 C計權仿真曲線Fig.2 C-weighting simulation curves

從圖1和圖2中局部放大圖可清晰地觀察到,基于雙線性變換的A、C計權在大于13 kHz的高頻段都嚴重偏離了標準計權曲線,導致誤差較大.

1.2 頻率計權誤差分析

定義基于雙線性變換的A、C計權與標準計權的誤差為:

將式(4)(5)(11)(12)分別代入式(13)可得出A、C計權的誤差表達式:

式中:i=1,2,3,4.即A計權誤差為4個子濾波器HBTA1(z)~HBTA4(z)的誤差加權和,C計權誤差為子濾波器HBTC1(z)與HBTC4(z)的誤差和的2倍.基于雙線性變換A、C計權子濾波器誤差的幅頻響應曲線分別如圖3和圖4所示.圖3中EBTA123(f)為子濾波器誤差EBTA1(f)~EBTA3(f)之和.

圖3 A計權EBTA123(f)和EBTA4(f)曲線Fig.3 A-weighting curves of EBTA123(f)and EBTA4(f)

圖4 C計權EBTC1(f)和EBTC4(f)曲線Fig.4 C-weighting curves of EBTC1(f)and EBTC4(f)

由圖3和圖4可知,基于雙線性變換的A、C計權數字濾波器的誤差都主要來源于子濾波器HBT4(z).在頻率為20 kHz處,HBT4(z)的最大誤差接近12 dB.分析式(1)(2)可知,在C計權的基礎上加上兩個一階子濾波器HBT2(z)HBT3(z)可實現A計權.因此,本文重點對A計權子濾波器HBT4(z)進行優化設計,實現步驟及測試過程均以A計權為例.

2 基于MICA的頻率計權數字濾波器設計

2.1 改進帝國競爭算法

帝國競爭算法(ICA)是一種新型智能優化算法[15].該方法模擬帝國與殖民地之間相互選擇與競爭,最終剩下最強的帝國,即收斂得到最優解.但在濾波器的優化設計中,ICA在系數搜索過程中存在早熟收斂的問題,導致尋優結果存在誤差.

在標準ICA的帝國同化操作中,子群的每一個非理想解(殖民地)都過于直接地向子群的最優解(帝國)方向靠近,造成搜索范圍過小、容易陷入局部最優的問題.為增大搜索范圍,優化搜索精度,針對頻率計權參數優化問題,本文提出一種改進的帝國競爭算法,該方法在殖民地向帝國移動的過程中添加各種形式的混沌函數,并篩選出優化效果最好的函數更新標準ICA的同化方程,即

式中:colold和colnew分別表示移動前后殖民地的位置;β為大于1的系數;d為殖民地與帝國之間的距離;U表示均勻分布;V1為該殖民地向帝國移動方向的一個單位向量;θ為移動的隨機角度偏移量;V2為與V1正交的隨機單位向量.

帝國競爭算法利用殖民地向帝國移動進行局部搜索,該操作體現的是帝國之間的信息交互,每次迭代僅僅是將最弱帝國中的最弱殖民地添加到最強帝國中,對每個帝國勢力大小影響不大.因此,針對帝國之間的交互性不足,本文引入克隆進化算子,得到MICA.下面對該算子進行描述.

第1步克隆.將當前迭代次數下的m個帝國按勢力大小降序排列,作為待克隆群體.每個帝國克隆個數NCloi與其所屬殖民地數量NColi有關,表示為:

式中:λ為克隆系數.

第2步變異.根據式(19)(20),第i個帝國的克隆群體Cloi發生變異,成為變異群體Muti:

式中:ωi為變異概率,勢力越大的帝國變異概率越??;Impbest為當前迭代次數下勢力最大的帝國;n為優化問題的維度;rand(NCloi,n)為NCloi×n維矩陣.

第3步交叉.將Muti隨機分為4組進行交叉:

第4步選擇.選擇Muti和Croi中勢力最大的k個個體取代當前最弱的k個帝國.

2.2 聲級計頻率計權的MICA優化對象設計

由1.2節分析可知,子濾波器HBT4(z)是雙線性法設計頻率計權濾波器的誤差主要來源.利用MICA對A計權的數字濾波器系數進行搜索優化.

根據式(8)和式(10)設計MICA優化模型:

式中:A0為增益;a0、a1與b0、b1分別為濾波器的零點和極點.為保證設計的濾波器的穩定性,極點的搜索范圍?。?1,1),為方便起見零點的搜索范圍取[-1,1].

增益A0由濾波器系數推導得到,即

其頻率響應為:

理想濾波器H4(s)的頻率響應為:

采用頻域均方誤差作為設計頻率計權濾波器的最優化準則,誤差值越小則優化效果越好.利用MICA對理想濾波器進行逼近,在34個標稱參考頻率點處,設計的濾波器幅頻響應與理想的幅頻響應均方誤差為:

利用MICA對頻率計權濾波器進行優化設計,將式(26)作為優化目標函數,對濾波器系數a0、a1、b0、b1搜索求解,則優化后的濾波器傳遞函數與A計權表達式變為:

基于MICA的頻率計權數字濾波器設計框架如圖5所示.首先初始化MICA算法,然后采用MICA算法在對目標函數進行參數迭代尋優直到達到對應的停止條件,從而求解出目標函數的優化參數.

具體步驟為:

1)初始化帝國集團.隨機生成Npop×4維矩陣的初始位置,MICA主要參數設置為:國家數量Npop=88、帝國數量Nimp=8、殖民地數量Ncol=80、最大迭代次數Miter=800、當前迭代次數Niter=0以及數字濾波器采樣頻率fs=48 kHz.

圖5 基于MICA的聲級計頻率計權濾波器設計框架Fig.5 Flowchart for the frequency weighting filter in sound-level meter based on MICA

2)帝國同化.殖民地國家按照式(17)向所屬帝國方向移動.并重新計算殖民地的勢力,若其勢力大于所屬帝國勢力,則兩者互換位置.

3)帝國競爭.帝國的總勢力計算式為:

式中:TCi為第i個帝國的總目標函數值,其值越小,表示勢力越大;ci為該帝國的目標函數值;系數ξ為小于1的正數;后一項為該帝國擁有的殖民地目標函數均值,其中f(colj)為殖民地colj的函數值,NColi為其擁有的殖民地數量.根據式(18)~(21)通過克隆進化將勢力最強的k個帝國取代勢力最弱的k個帝國.

4)算法收斂.累積迭代次數Niter=Niter+1,當迭代次數達到最大迭代次數Miter或者通過帝國競爭后,最弱帝國逐漸滅亡,最終只剩一個帝國集團.此時的群體為算法最優解,搜索終止.

5)得到全局最優位置處的Hopt(z),根據式(27)(28)求出基于MICA算法的A計權WMICA.A(f).

2.3 仿真分析

為驗證本文提出的MICA設計聲級計頻率計權數字濾波器的有效性,利用MATLAB進行仿真生成仿真數據.定義基于MICA的A計權的誤差為:

圖6為基于MICA算法的A計權誤差EOPTA(f)與基于雙線性變換的A計權誤差EBTA(f)的幅頻響應曲線,在局部放大圖中,黑色曲線放大的是從10~10 000 Hz的基于MICA的A計權誤差.由圖6可知,本文提出的MICA設計方法能有效減小雙線性變換設計頻率計權數字濾波器的誤差,且誤差范圍能控制在10-3dB的數量級范圍內.

此外,為了比較算法相比傳統優化算法的性能,同時采用PSO和標準ICA算法進行了頻率計權濾波器優化對比設計[16].算法的迭代次數均設置為800,仿真結果的誤差幅頻響應曲線如圖7所示.仿真結果表明,與PSO和ICA優化算法相比,在相同的迭代次數下基于MICA設計的濾波器誤差更小,具有更好的優化性能,同時證明了本文改進算法的有效性.

圖6 基于MICA的A計權誤差曲線Fig.6 Error curve of A-weighting based on MICA

圖7 A計權誤差曲線Fig.7 Error curves of A-weighting

3 實驗測試分析

為驗證所提出的改進ICA聲級計頻率計權濾波器設計方法的有效性,本文采用如圖8所示的聲級計實驗平臺進行測試.其中,信號發生單元由信號源與可變衰減器構成,利用調理電路對電信號進行調理,采用最高采樣頻率達450 kHz的16位中泰工控EM-9118B-18同步數據采集卡對電壓信號進行采集.最后,通過以太網TCP/IP協議傳輸方式將數據實時傳輸至PC機進行顯示和管理、以及噪聲數據的分析等.

圖8 聲級計實驗測試平臺Fig.8 Test platform for the sound-level meter

為了測試聲級計在不同信號級下的A計權特性,在輸入信號級為L={128,118,98,78}dB 4種情況下測試聲級計A計權誤差.表1給出了標稱參考頻率點處基于雙線性變換、PSO、ICA和MICA的聲級計A計權在低頻段和高頻段的測試誤差.同時,為了反映算法的抗噪性,給不同信號級聲源添加信噪比為25 dB的高斯白噪聲信號.圖9、圖10分別給出了頻率在10 Hz~20 kHz內的34個標稱參考頻率點處基于雙線性變換與MICA的A計權測試結果曲線.

圖9 基于雙線性變換的A計權測試結果曲線Fig.9 Curves of the test result of A-weighting based on BT

A計權的測試結果分析如下:

1)由圖9可知,雙線性變換設計的A計權在4種輸入信號級處的測試誤差主要來自于低頻段和高頻段.根據2.2節所知,高頻誤差主要來源于雙線性變換法的非線性變換;低頻段的誤差來源于文獻[3]規定,當輸入為78 dB的信號時,低于12.5 Hz的信號經過A計權后至少衰減63.4 dB,即聲級將小于14.6 dB,該輸入信號級的低頻段誤差主要受本底噪聲的影響,故本文對此未做考慮.

表1 聲級計在低頻段和高頻段的A計權測試誤差(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計權在高頻處的誤差得到了極大改善.特別是表1中,在噪聲環境的影響下,MICA的測試精度均優于PSO和ICA,且MICA的測試誤差基本能維持在10-2dB數量級范圍內,具有良好的抗噪性,符合聲級計0.1 dB的精度設計需求.

圖10 基于MICA的A計權測試結果曲線Fig.10 Curves of the test result of A-weighting based on MICA

4 結論

本文針對雙線性變換法設計聲級計頻率計權數字濾波器時出現誤差較大的問題,提出了一種基于改進帝國競爭算法的聲級計頻率計權數字IIR濾波器設計方法.為避免標準ICA早熟收斂而陷入局部最優,在同化階段加入混沌函數以及帝國競爭階段引入克隆進化算子,進一步提高算法的收斂精度.對A計權的測試結果表明,本文提出的改進ICA算法,有效改善了雙線性變換法的誤差,優化效果明顯.且在加噪環境下,不同聲信號級的計權誤差均能維持在10-2dB數量級范圍內,符合1級聲級計設計要求.本文提出的方法不僅適用于聲級計的頻率計權優化設計,也適用于其他采用雙線性變換設計數字濾波器引起的頻率特性失真問題,具有較高的實際應用價值.

猜你喜歡
帝國濾波器誤差
恐龍帝國(6)
恐龍帝國(5)
恐龍帝國(4)
Beidou, le système de navigation par satellite compatible et interopérable
從濾波器理解卷積
開關電源EMI濾波器的應用方法探討
隧道橫向貫通誤差估算與應用
隧道橫向貫通誤差估算與應用
一種微帶交指濾波器的仿真
精確與誤差
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合