張金萍 郭存貞 鄢利群 侯維杰
摘要:利用遺傳算法可以實現(xiàn)尋優(yōu)的特點,提出了基于遺傳算法的FIR數(shù)字濾波器優(yōu)化設(shè)計。該方法能有效的設(shè)計FIR數(shù)字濾波器,提高了設(shè)計的準確性。最后以設(shè)計低通濾波驗證該方法的可行性。
關(guān)鍵詞:遺傳算法;FIR數(shù)字濾波器
引言
濾波器在信號處理中一直占據(jù)著重要的地位,數(shù)字濾波器在語音、圖像處理和譜分析等應(yīng)用中經(jīng)常使用。?FIR濾波器具有系統(tǒng)總是穩(wěn)定的,易于實現(xiàn)線性相位,允許多通帶或多阻帶濾波器等優(yōu)點。因此,F(xiàn)IR濾波器在處理數(shù)字信號中應(yīng)用廣泛。
窗函數(shù)法設(shè)計數(shù)字濾波器是最常見的方法之一。目前,常見的窗函數(shù)有矩形窗、漢寧窗、巴特利特窗、漢明窗、布萊克曼窗、凱澤窗。但一些窗函數(shù)形狀固定,不能滿足多樣性的要求。如矩形窗,漢寧窗。而利用凱澤窗給出的經(jīng)驗公式需多次嘗試。FIR數(shù)字濾波器設(shè)計問題是一個多變量多極值的尋優(yōu)問題。遺傳算法正式求解最優(yōu)問題的有效方法,在濾波器設(shè)計中得倒廣泛的應(yīng)用。王耀輝等人利用BP神經(jīng)網(wǎng)絡(luò)和遺傳算法相結(jié)合來設(shè)計優(yōu)化FIR數(shù)字濾波器,路慎力等利用將云計算與遺傳算法相結(jié)合來設(shè)計優(yōu)化FIR數(shù)字濾波器,本文將最優(yōu)設(shè)計法與遺傳算法相結(jié)合設(shè)計FIR數(shù)字濾波器,使得在設(shè)計過程簡潔快速。
1.?遺傳算法
遺傳算法是一種借鑒生物界自然選擇和進化機制發(fā)展起來的高度并行、隨機、自適應(yīng)的全局優(yōu)化概率搜索算法。它提供了一種求解復(fù)雜系統(tǒng)優(yōu)化問題的框架,具有很強的魯棒性。它能快速有效的求解出最優(yōu)數(shù)值.
2.?FIR濾波器
有限沖擊響應(yīng)FIR數(shù)字濾波器是輸出僅與過去和現(xiàn)在的輸入有關(guān)的濾波器,它可以由以下表示:
y(n)=
系統(tǒng)的傳遞函數(shù)為:H(z)=
頻率響應(yīng)函數(shù)為:H(e)=,?-π
當(dāng)M階線性相位FIR濾波器,其脈沖相應(yīng)為h(n),加上線性相位條件:
∠H(e)=-aw,?-π
可得?h(n)=h(M-1-n),0≤n≤(M-1)和a=(M-1)/2
如果要求相位響應(yīng)滿足:
∠H(e)=β-aw,
則可得:
h(n)=h(M-1-n),0≤n≤(M-1);a=(M-1)/2,β=±π/2
h(n)長度N的奇偶不同,決定了濾波器的種類不同,F(xiàn)IR數(shù)字濾波器可以分為四類:
1類線性FIR濾波器:?對稱脈沖響應(yīng),M為奇數(shù)
2類線性FIR濾波器:?對稱脈沖響應(yīng),M為偶數(shù)
3類線性FIR濾波器:反對稱脈沖相應(yīng),M為奇數(shù)
4類線性FIR濾波器:反對稱脈沖響應(yīng),M為偶數(shù)
對于低通濾波器來說,一般可以選用以下公式:
h(n)=h(M-1-n)?M為h(n)長度且M為奇數(shù)
2.1數(shù)字濾波器的優(yōu)化準則
切比雪夫最佳一致逼近原則:設(shè)H(w)是待設(shè)計的濾波器的幅度特性,H(w)為理想濾波器的幅度特性,其加權(quán)誤差E(w)表示為:
E(w)=W(w)[?H(w)-?H(w)]
上式中?W(w)為加權(quán)誤差函數(shù)。在要求逼近精度高的頻帶W(w)取值大,在要求逼近精度低的頻帶W(w)取值小
優(yōu)化準則為:min[|E(w)|]s表示各通帶和各阻帶
對于低通濾波器有S[0,w]∪[w,π]?w為通帶截止頻率,w為阻帶截止頻率
3.遺傳算法的實現(xiàn)
利用遺傳算法求解的具體流程如下:
第1步:創(chuàng)建初始種群,個體數(shù)目一定,每個個體都表示為染色體的基因編碼。
第2步:計算各初始種群個體的目標函數(shù)值,記錄精華種群,并記錄精華種群的編碼。
第3步:
A?判斷是某滿足最優(yōu)個體最少保持代數(shù),若滿足則進行第4步,不滿足則轉(zhuǎn)B
B?按設(shè)定的交叉概率和交叉方法,進行交叉操作,生成新的個體。
C?按設(shè)定的變異概率和變異方法,進行交叉操作,生成新的個體。
D?計算子代目標函數(shù)值,并進行重插入操作。
第4步:尋找出精華種群中最優(yōu)個體,并對最優(yōu)個體解碼,得到最優(yōu)值。
下面實例進行說明:
例1?設(shè)計一個低通濾波器,其技術(shù)指標為:wp=0.2π,Rp=0.25dB;ws=0.3π;As=50dB.
在此例子中,選定初始種群為40;種群數(shù)目為10;交叉概率是0.7,變異概率是0.01。由此方法更能準確的得出設(shè)計結(jié)果。運算之后所得結(jié)果為:M=47.
4.結(jié)論
本文通過利用遺傳算法完成了對FIR數(shù)字濾波器的設(shè)計的優(yōu)化。通過舉例優(yōu)化設(shè)計FIR數(shù)字低通濾波器,說明了本方法的可行性,并驗證此方法的所得結(jié)果的準確性。
參考文獻:
[1]史峰,王輝,郁磊等.?MATLAB?智能算法[M]北京航空航天大學(xué)出版社?2011年7月.
[2]陳懷琛.數(shù)字信號處理教程—MATLAB釋義與實現(xiàn)(第2版)[M]電子工業(yè)出版社?2008年10月.
[3]Rebert?Meddins.?Introduction?to?Digital?Signal?Processing?[M].Newnes,2000
[4]陳曦,王希誠.一種改進的多種群遺傳算法[J].遼寧科技大學(xué)學(xué)報,2009,32(2):160-163
[5]楊福寶.基于遺傳算法的FIR數(shù)字濾波器的優(yōu)化設(shè)計[J].武漢理工大學(xué)學(xué)報。2002,26(4):55.