楊婧 張寶安 李丹丹 方心樂 尹婼楠 劉婷
【摘 要】FIR濾波器被廣泛應用于數(shù)字信號處理和工程實際中。最優(yōu)化FIR濾波器設計可看作為一種尋優(yōu)過程,利用啟發(fā)式算法能夠快速解決這一問題。水循環(huán)算法是一種模擬自然界水循環(huán)過程的新型啟發(fā)式算法,由于其具有運算速度快、控制參數(shù)少、收斂性能優(yōu)等特點而受到越來越多學者的重視。文章首先介紹水循環(huán)算法和最優(yōu)化濾波器設計的基本原理,其次采用均方誤差最小準則,利用水循環(huán)算法實現(xiàn)最優(yōu)化FIR濾波器設計,最后通過MATLAB軟件仿真驗證該設計的有效性。
【關鍵詞】FIR濾波器;水循環(huán)算法;最優(yōu)化FIR濾波器;均方誤差最小準則
【中圖分類號】TP301.6 【文獻標識碼】A 【文章編號】1674-0688(2021)01-0032-03
0 引言
隨著人工智能時代的來臨,人們對信息處理的要求越來越高,濾波器作為信息處理過程中的重要組件,其設計和優(yōu)化方法顯得越來越重要。數(shù)字濾波器與模擬濾波器相比具有穩(wěn)定、可實現(xiàn)精確度高、多速率處理等特點,廣泛應用于圖像處理、HDTV、模式識別等領域。
數(shù)字濾波器按照單位脈沖分類,可分為有限脈沖響應(Finite Impulse Response,F(xiàn)IR)濾波器和無線脈沖響應(Infinite Impulse Response,IIR)濾波器兩種。FIR數(shù)字濾波器廣泛應用于工程實際中,它最大的特點是穩(wěn)定,可以在保證隨意設置幅頻特性的同時獲得嚴格的線性相頻特性。此外,F(xiàn)IR數(shù)字濾波器具有硬件較容易實現(xiàn),可通過線性方式設計,過渡過程是有限區(qū)間等特點。在數(shù)字信號處理領域中,優(yōu)化FIR濾波器設計可抽象為一種最優(yōu)化問題,即利用數(shù)學逼近理論在指定的優(yōu)化準則下,尋找合適的濾波器系數(shù),優(yōu)化FIR濾波器的性能。近年來,F(xiàn)IR濾波器得到國內(nèi)外許多學者的關注,出現(xiàn)了許多優(yōu)化方法,其中啟發(fā)式算法優(yōu)化濾波器獲得了較好的效果[1,2]。水循環(huán)算法(Water Cycle Algorithm,WCA)是Hadi Eskandar[3]等人提出的一種模擬自然界水循環(huán)過程的智能優(yōu)化算法,由于其具有運算速度快、收斂性能好的優(yōu)點[4]而被廣泛應用于許多領域,例如求解貝葉斯網(wǎng)絡結(jié)構(gòu)學習問題的二進制水循環(huán)算法[5]、改進的長時期多水庫優(yōu)化水循環(huán)算法[6]、基于梯度的水循環(huán)算法應用于混沌抑制[7]。本文試將水循環(huán)算法應用到FIR濾波器的研究中,提出了一種基于水循環(huán)算法的FIR濾波器設計,并用MATLAB軟件仿真驗證其有效性。
1 水循環(huán)算法基本原理
水循環(huán)算法(WCA)是模擬大自然水循環(huán)過程而提出的一種元啟發(fā)式算法。該算法將最優(yōu)解的尋找過程與自然界水循環(huán)過程相結(jié)合,以適應度函數(shù)為導向,進行溪流、河流的匯合,以蒸發(fā)降雨作用為輔助跳出局部最優(yōu)解,最終找到問題的近似最優(yōu)解。WCA的基本尋優(yōu)原理如下。
1.1 種群初始化
利用公式(1)生成初始種群個體,根據(jù)公式(2)計算個體的適應度,按照適應度大小排序后,根據(jù)需要設定河流和大海,并根據(jù)其流量強度分配溪流,得到種群如公式(3)。
1.4 算法結(jié)束
判斷算法是否達到最大迭代次數(shù);沒達到就繼續(xù)迭代尋優(yōu),反之算法結(jié)束并輸出最優(yōu)解(海洋的位置)。
2 基于水循環(huán)算法的FIR濾波器設計
2.1 FIR濾波器設計
數(shù)字濾波器可看作一個離散時間系統(tǒng),設有限脈沖響應濾波器的單位抽樣響應為h(d),則L階濾波器輸入x(d)與y(n)輸出的關系表達式如下:
經(jīng)典法FIR濾波器設計原理簡單、設計方式較為成熟,因而成為設計濾波器的主要方法,但這種方法得到的數(shù)字濾波器實際頻率響應與理想值相差太大,濾波器的性能較差無法滿足對性能要求高的場合,所以需要使用最優(yōu)化設計方法設計濾波器。最優(yōu)化設計方法是根據(jù)某些準則設計濾波器,例如最大誤差最小化準則、最小平方準則、均方誤差最小準則等。
本文利用均方誤差最小準則實現(xiàn)最優(yōu)化FIR濾波器設計。均方誤差最小是指找到一組h(d)使得均方誤差Ex2最小,其中均方誤差為實際濾波器的頻率響應H(ejω)與理想濾波器頻率響應H0(ejω)之差的平方,選擇M個頻率點,均方誤差如下:
2.2 基于水循環(huán)算法的FIR濾波器設計
將水循環(huán)算法河流溪流匯入海洋的過程看作最優(yōu)化FIR濾波器設計尋找最優(yōu)濾波器系數(shù)的過程,將最小均方誤差作為目標函數(shù),函數(shù)值越小,則實際設計的濾波器性能越好。算法結(jié)束后,大海的值對應FIR濾波器的最優(yōu)濾波器系數(shù)h(d)0≤d≤L-1。
基于水循環(huán)算法FIR濾波器的實現(xiàn)步驟如下:{1}初始化。初始種群總數(shù)為Npop、河流與海洋總個數(shù)為Nsr、溪流總數(shù)為Nstream、最優(yōu)解個數(shù)為1、極小值為dmax、最大迭代次數(shù)為max_it,設置終止條件為超出最大迭代次數(shù)終止。{2}根據(jù)公式(3)生成初始種群,根據(jù)公式(14)計算每個雨滴的適應度值,并據(jù)此劃分大海、河流與溪流。{3}計算河流和大海的流量強度,并據(jù)此劃分跟隨每條河流和大海的溪流數(shù)目。{4}執(zhí)行循環(huán)。根據(jù)公式(4)、公式(5)、公式(6)進行河流與溪流、溪流與大海、河流與大海的位置更新。根據(jù)公式(7)、公式(8)判斷是否滿足蒸發(fā)條件,如果滿足,則根據(jù)公式(1)和公式(9)執(zhí)行降雨操作。判斷是否滿足最大迭代次數(shù),若滿足,算法結(jié)束,并返回最優(yōu)解,此時最優(yōu)解即濾波器的最佳系數(shù);如果不滿足,返回繼續(xù)進入循環(huán)。
3 實驗仿真
利用MATLAB軟件仿真驗證基于水循環(huán)算法的IIR濾波器的可行性,在仿真實驗中設定了水循環(huán)算法的初始參數(shù):Npop=350,Nsr=24,dmax=1e-5,最大迭代次數(shù)max_it=100。
實驗1:設計一個階數(shù)為21的FIR低通數(shù)字濾波器,其技術指標:
H0(ejω)=1? ? ? 0≤ω≤0.48π0.793 7 ω=0.5π0.396 8 ω=0.52π0? ? ? ? 0.53π≤ω≤π(15)
實驗2:設計一個階數(shù)為21的FIR高通濾波器,其技術要求:
H0(ejω)=0? ? ? 0≤ω≤0.48π0.396 8 ω=0.5π0.793 7 ω=0.52π1? ? ? ? 0.53π≤ω≤π(16)
實驗3:設計一個階數(shù)為21的FIR帶通濾波器,其技術要求:
H0(ejω)=0? ? ? ? ?0≤ω≤0.25π0.5? ? ? ω=0.27π1? ? 0.28π≤ω≤0.73π0.5? ? ? ? ?ω=0.75π0? ? 0.76π≤ω≤π(17)
實驗4:設計一個階數(shù)為21的FIR帯阻濾波器,其技術要求:
H0(ejω)=1? ? ? ? ?0≤ω≤0.25π0.5? ? ? ω=0.27π0? ? 0.28π≤ω≤0.73π0.5? ? ? ? ?ω=0.75π1? ? 0.76π≤ω≤π(18)
圖1至圖4分別為低通、高通、帶通、帶阻FIR濾波器的適應度和歸一化幅頻響應曲線。
由圖1至圖4可知,基于水循環(huán)算法的FIR濾波器的幅頻特性曲線比較符合理想濾波器的濾波性能,因此該方法是一種可行的設計方案。
4 結(jié)論
本文研究水循環(huán)算法和FIR濾波器設計的基本原理,分析水循環(huán)算法用于優(yōu)化FIR濾波器設計的可行性,提出利用水循環(huán)算法優(yōu)化FIR濾波器設計的新方案,并借助MATLAB軟件進行仿真實驗,驗證了該設計方案的有效性。
參 考 文 獻
[1]邵鵬,吳志健,彭虎,等.改進的粒子群優(yōu)化算法設計FIR低通數(shù)字濾波器[J].計算機科學,2017,44(S1):136-138,156.
[2]陳曉文.基于粒子群算法的FIR濾波器的優(yōu)化設計[J].寧德師范學院學報(自然科學版),2019,31(3):257-262.
[3]Eskandar H,Sadollah A,Bahreininejad A,et al.Water cycle algorithm - A novel metaheuristic opti-
mization method for solving constrained engineering optimization problems[J].Computers & Structures,2012,110(10):151-166.
[4]周后英.基于水循環(huán)算法的陣列天線方向圖綜合[D].西安:西安電子科技大學,2018.
[5]Wang Jingyun,Liu Sanyang.Novel binary encoding water cycle algorithm for solving Bayesian network structures learning problem[J].Knowledge-Based Systems,2018,150:95-110.
[6]Yuni Xu,Yadong Mei.A modified water cycle alg-
orithm for long-term multi-reservoir optimization[J].Applied Soft Computing Journal,2018,71:317-332.
[7]Seyed Mehdi Abedi Pahnehkolaei,Alireza Alfi,Ali Sadollah,Joong Hoon Kim.Gradient-based water cycle algorithm with evaporation rate applied to chaos suppression[J].Applied Soft Computing,2017,
53:420-440.