任 偉,曾以成,陳 莉,楊 丹
(湘潭大學光電工程系,湖南 湘潭 411105)
無限脈沖響應(Infinite Impulse Response,IIR)數字濾波器因具有計算精度高和設計階數低等特點,在通信、生物醫學、地質勘探等方面得到了廣泛的應用[1]。其設計的模型是給定一個期望的頻率響應Hd(ejω),然后尋找一個穩定的傳遞函數H(z),使頻率響應H(ejω)在某種準則下逼近期望頻率響應Hd(ejω)。近年來,許多學者把智能優化算法引入到IIR濾波器設計中,如遺傳算法(Genetic Algorithm,GA)[2]、粒子群優化 (Particle Swarm Optimization,PSO)[3]算法和分布式估計算法(Estimation of Distribution Algorithm,EDA)[4]等。然而這些優化算法存在不足,如GA及其改進算法HGA(Hierarchical GA)[5]、CCGA(Cooperative Coevolutionary GA)[6]等受其全局選擇機制和交叉算子的影響,種群模式缺乏多樣性,容易出現早熟現象,且由于采用選擇、交叉和變異等操作,結構比較復雜。與GA相比,PSO、綜合學習粒子群優化算法(CLPSO)[7]和EDA簡單、高效,易于實現,但同樣面臨早熟問題。
自由搜索算法(Free Search Algorithm,FSA)[8]作為一種新穎的啟發式算法受到廣泛關注,該算法模擬牛馬羊等群居動物的覓食過程,于2005年提出。FSA具有更大的自由性、獨立性和不確定性,在兼顧局部搜索和全局搜索、提高魯棒性和自適應等方面有一定的提高,已經成功應用于解決復雜組合優化問題[9]。本文嘗試將FSA引入IIR濾波器優化設計中,其優化模型通常是高度非線性化,且對同一個系統存在無數種相似變換。FSA的搜索機制能提高尋找IIR數字濾波器系數最優解的概率。因原型FSA的搜索半徑固定不變,在多維空間后期尋優效率降低,難以尋找全局最優參數組,需要對搜索策略進行合理的調整,本文采用動態調整搜索半徑,定期軸向搜索等策略,加快收斂速度,提高多維空間的后期尋優能力,進一步增大得到全局最優解的概率。
IIR數字濾波器的實現結構總體采用直接Ⅰ型、Ⅱ型,或通過子系統級聯、并聯等形式。其中,二階節級聯型結構具有代表性,通過單獨調整系數b1k,b2k就能單獨調整濾波器的第k對零點,調整系數a1k,a2k,單獨調整濾波器第k對極點,且不影響其他零點、極點。其頻率響應如式(1)所示。數字濾波器的設計,就是確定系數 a1k,a2k,b1k,b2k(k=1,2,…,N)。

IIR數字濾波的性能要求以頻率響應的幅度特性進行誤差表征,常用的誤差評價準則有最小均方誤差和通帶阻帶紋波幅度準則。這2類評價準則都是實際頻率響應幅度值與理想頻率響應幅度值的逼近誤差,誤差越小,則濾波器的性能越好。
(1)最小均方誤差準則:

(2)通帶阻帶紋波幅度準則:

(3)2種準則結合:

其中,v1,v2,v3為權系數。
FSA的基本思想[8]:以不確定應對不確定,以無窮盡應對無窮盡。個體可以在其自身的當前最佳值鄰域周圍搜索,也可在其他個體或群體發現的當前最佳值鄰域周圍搜索。個體通過信息素和靈敏度的比較在搜索步內選擇坐標點,具體算法模型如下。
在搜索步內,個體的行為描述如下:

其中,j代表第 j個體(j=1,2,…,m);m 是個體的數量;i代表變量的第i維(i=1,2,…,n);n是搜索空間的維數;Rj是第j只個體在搜索空間中的領域搜索半徑(Rj∈[Rmin,Rmax]);randomtji(0,1)表示(0,1)內的均勻隨機數。
搜索過程中,對目標函數的簡化表達式作如下規定:

其中,f(xtji)是一個個體完成搜索步以后作標記的位置。
信息素定義如下:

其中,max(fj)是當代第j只個體的最佳位置。
靈敏度定義為:

其中,Smin和Smax是靈敏度的最小值和最大值。
信息素的最小值和最大值分別為Pmin,Pmax,規定:Smin=Pmin,Smax=Pmax。
一輪搜索結束后,確定下一輪搜索的起始點。

3.2.1 實時調節搜索半徑
FSA原型中搜索半徑R是固定的,若其取值較大,則搜索時間長、收斂精度低;若取值較小,則搜索范圍小,容易出現早熟現象,尤其在多維環境中,算法對半徑R非常敏感。本文首先采用分段給R賦值,彌補因種群規模不足而導致局部搜索的缺陷,增加種群的多樣性,確保個體在參數空間廣泛分布;然后動態調整R,使Rj(t)遞階減小,提高在多維空間后期的尋優效率,其變化規律如下式所示:

其中,g是當前搜索代數;Rmin是最小搜索半徑;ρ1是收縮系數:1≥ρ1>0,當ρ1=1時,即為基本FSA。
3.2.2 定期軸向搜索
當搜索半徑逐步減小時,可能進入局部收斂,導致早熟。為了提高算法的局部搜索能力,需要作定期軸向搜索,即每迭代一定次數后對當前最優個體進行一次增大搜索半徑的軸向搜索,這樣可以加快收斂速度,更易得到全局最優解,另外軸向搜索增強了種群的多樣性。由于一次軸向搜索的計算量比較大,因此采用了定期軸向搜索。
軸向搜索是指得到當前最優個體后,以當前最優個體為中心,進行軸向搜索,如:以當前最優個體xji為中心,以α為步長進行搜索,令:

如果x′ji的值超出規定范圍,就取最大值或者最小值。比較目標函數 f(x′ji)和 f(xji),若 f(x′ji)<f(xji),則用 x′ji取代 xji,否則坐標不變。
FSA優化設計IIR數字濾波器的實現步驟如下:
(1)初始化參數,包括種群規模、種群個體的初始坐標、收縮系數ρ1、參數空間大小等。
(2)初始搜索。根據式(5)~式(7)生成初始信息素,釋放初始信息素Pj→Xk,得到初始搜索結果Pk,Xkp。
(3)動態調整搜索半徑R。
(4)計算靈敏度。按照式(8)計算靈敏度Sj。
(5)確定新的始點。選擇新一輪搜索的起始點,x′0j=xk(Sj,Pk)。
(6)計算搜索步。計算目標函數ftj(x′0j+Δxt),其中,Δxt由式(5)計算。
(7)若迭代次數達到規定周期,則對當前最優個體進行軸向搜索。
(8)釋放信息素。按照式(8)計算信息素Pj;按照式(9)釋放信息素Pj→xk,得到本次搜索結果。
(9)終止判斷。若滿足終止條件則輸出搜索結果;否則,跳轉步驟(2)。
為了驗證FSA設計IIR數字濾波器的有效性和可行性,在計算機上進行仿真實驗,并與已有的設計方法進行比較。
例1 在最小均方誤差準則下,設計一個低通IIR數字濾波器,階數為2n=6,[0,π]內的頻率采樣點M=21,其技術指標為:

圖1顯示了本例在最小均方誤差準則下,FSA,GA,PSO以及IA設計所得IIR低通濾波器幅頻響應曲線。4種優化算法的種群大小都為50,最大迭代次數均為500。從圖1可以看出,FSA設計的濾波器優化結果比較理想,通帶比較平坦,阻帶衰減較大,且過渡帶窄。4種算法具體優化結果比較如表1所示。由表1可知,在通帶和阻帶紋波方面,FSA比其他3種優化算法的波動都小;FSA所設計的濾波器均方誤差可以達到10-4數量級,且阻帶衰減為41.49 dB,比GA提高了13.67 dB。這種優化準則比較適用于對頻帶誤差能量要求比較高的情形。

圖1 IIR低通濾波器幅頻響應曲線

表1 4種算法的優化結果比較
例2 為了進一步驗證FSA的優越性,在通帶阻帶紋波幅度準則下,設計一個低通IIR數字濾波器,設計指標來源于文獻[4],其技術指標為:

FSA 算法、HGA算法[5]、CCGA 算法[6]、IIA(Improved Immune Algorithm)算法[10]以及EDA算法[4]設計本例所得濾波器幅頻響應曲線如圖2所示。從圖中可以看出,無論在通帶還是阻帶,FSA算法設計的濾波器性能都比其他4種算法有較大的進步,顯示了良好的性能。具體優化結果比較如表2所示。這種優化準則比較適合設計對頻帶紋波要求比較高的濾波器。

圖2 IIR低通濾波器幅頻響應曲線

表2 5種算法的優化結果比較
例3 FSA與經典濾波器設計方法巴特沃斯、切比雪夫Ⅰ、切比雪夫Ⅱ、橢圓設計作比較。濾波器設計指標采用例2中的設計指標。設計準則為均方誤差準則和通帶阻帶紋波幅值準則相結合,具體形式如式(4)所示,其中,v1∶v2∶v3=1∶8∶8。表 3 是 5 種設計方法的性能對比。在相同濾波器階數的條件下,FSA的均方誤差比其他4種都小,比ELTC提高11倍多,可以實現對頻帶誤差要求高的IIR數字濾波器設計。在通帶和阻帶紋波方面,FSA比其他設計方法的波動都小,且通過調整權系數的比值,可以優化設計不同性能要求的IIR數字濾波器。

表3 本文設計方法與經典設計方法比較
本文將改進的自由搜索算法應用于無限脈沖響應(IIR)數字濾波器的優化設計,在3種不同優化準則下,都顯示了一定的優越性。同時,仿真結果表明,最小均方誤差準則比較適用于對頻帶誤差能量要求比較高的情形,最小通帶阻帶紋波幅值準則比較適用于頻帶紋波要求比較高的情形,且2種準則相結合,既可以滿足通帶和阻帶紋波要求,又可以進行頻帶誤差能量優化。通過調整權系數的比值,可以實現不同性能要求的濾波器。但本文算法性能只在Matlab仿真軟件中實現,還未能夠在硬件上實現,這將是下一步的研究方向。
[1]Lai Xiaoping,Lin Zhiping.Minimax Phase Error Design of IIR Digital Filters with Prescribed Magnitude and Phase Responses[J].IEEE Transactions on Signal Processing,2012,60(2):980-986.
[2]李建華,殷福亮.設計IIR數字濾波器的遺傳優化算法[J].通信學報,1999,17(3):1-7.
[3]張旭珍,馬紅梅,薛鵬騫.基于改進粒子群優化算法的IIR數字濾波器設計[J].計算機工程與設計,2011,32(8):2853-2856.
[4]Li Yuquan,Zhang Gexiang.A Modified Estimation of Distribution Algorithm for Digital Filter Design[J].Romanian Journal of Information Science and Technology,2012,15(1):50-62.
[5]Tang K S,Man K F,Kwon S,et al.Design and Optimization of IIR Filter Structure Using Hierarchical Genetic Algorithms[J].IEEE Transactions on Industrial Electronics,1998,45(3):481-487.
[6]Yang Yu, Yu Xinjie.Cooperative Coevolutionary Genetic Algorithm for Digital IIR Filter Design[J].IEEE Transactions on Industrial Electronics,2007,54(3):1311-1318.
[7]趙新安,陳 明,張鐘華,等.采用綜合學習粒子群算法的有限脈沖響應數字濾波器設計[J].西安交通大學學報,2012,46(8):71-75.
[8]Penev K,Littlefair G.Free Search——A Comparative Analysis[J].Information Sciences,2005,172(1/2):173-193.
[9]畢曉君,李云剛.基于自由搜索算法的圖像分割研究[J].信息技術,2010,(7):97-100.
[10]Tsai J T,Chou J H.Design of Optimal Digital IIR Filters by Using an Improved Immune Algorithm[J].IEEE Transactions on Signal Processing,2006,54(12):4582-4596.