顧綺芳
(無錫城市職業(yè)技術(shù)學(xué)院,江蘇 無錫 214000)
數(shù)字濾波器性能指標優(yōu)化中FIR的設(shè)計與仿真研究
顧綺芳
(無錫城市職業(yè)技術(shù)學(xué)院,江蘇無錫214000)
數(shù)字濾波器,通俗來講,就是一種算法或者裝置,一般情況下由數(shù)字乘法器、加法器和延時單元3部分構(gòu)成。對數(shù)字濾波器的設(shè)計方法研究已有20年的歷史,目前其正處于穩(wěn)定發(fā)展時期。遺傳算法等優(yōu)化算法的利用,在優(yōu)化數(shù)字濾波器的性能指標以及仿真實現(xiàn)FIR數(shù)字濾波器方面進行得如火如荼。這種基于生物界自然選擇和進化機制發(fā)展的算法具有并行度高、隨機、自適應(yīng)搜索等特點,當(dāng)前在組合優(yōu)化、生產(chǎn)調(diào)度、自動控制、圖像處理、機器學(xué)習(xí)、數(shù)據(jù)挖掘等各個方面均有所應(yīng)用。正如人們所理解的,數(shù)字信號處理就是從噪聲中尋找有用的信號,恰巧這也是尋找最優(yōu)解的過程??梢哉f,在數(shù)字濾波器設(shè)計方面,遺傳算法是一個大膽的嘗試。所以,文章針對數(shù)字濾波器性能指標優(yōu)化中FIR的設(shè)計與仿真進行了研究。
數(shù)字濾波器;性能指標;FIR;設(shè)計仿真
數(shù)字濾波器的主要工作原理就是使信號頻譜產(chǎn)生變化,運算所輸入的離散信號的數(shù)字代碼,具有精度高、可靠性強、可程控改變、集成方便以及應(yīng)用范圍廣等特點。尤其是對語言、圖像、生物信號處理等方面。然而在設(shè)計技術(shù)方面,其卻跟不上科學(xué)的發(fā)展步伐。因此,一種類似于達爾文進化論的遺傳算法誕生,并且在數(shù)字濾波器的設(shè)計中已經(jīng)有所應(yīng)用。這種算法實際上是仿照生態(tài)環(huán)境中的生物遺傳和進化而逐漸衍變出來的一種算法,具有自適應(yīng)、全局優(yōu)化、概率搜索的特點,可以幫助人們解決復(fù)雜系統(tǒng)優(yōu)化的問題。
1.1數(shù)字濾波器的設(shè)計要求
在日常工作中所使用的數(shù)字濾波器大都為選頻濾波器,其頻響特性函數(shù)H(ejω)屬于一種復(fù)函數(shù),一般表示如下:
在公式(1)中,|H(ejω)|是幅頻特性函數(shù),說明信號經(jīng)過濾波器后各頻率成分的衰減問題;θ(ω)是相頻特性函數(shù),主要反映各頻率經(jīng)過濾波器后在時間上相關(guān)延時問題。
圖1為低通濾波器的幅值特性,ωp和ωs分別稱為通帶截止頻率和阻帶截止頻率。通帶頻率范圍為0≤ω≤ωp,在通帶中要求1-δ1<ωs≤1,阻帶頻率范圍為ωs<ω≤π,在阻帶中要求,從ωp至ωs稱為過渡帶。通帶內(nèi)所允許的最大衰減(dB)和阻帶內(nèi)所允許的最小衰減(dB)分別為αp和αs,分別定義為:
一般要求:
圖1 低通濾波器的幅值特性
1.2數(shù)字濾波器的設(shè)計方法
數(shù)字濾波器的設(shè)計方法有很多,其中有一種兼具窗口設(shè)計法和頻率采樣法的卷積(convolution)的FIR濾波器。
FIR濾波器(Finite Impulse Response,F(xiàn)IR)的窗口設(shè)計方法主要通過自時域出發(fā)利用其頻率響應(yīng)來縮小與理想的)距離, 可以通過利用一個長度為N的窗口函數(shù)ω(n)來截取hd(n),即:hd(n)=ω(n)hd(n)來達到用有限長的h (n)來逼近無限長的hd(n)的目的;其頻率采樣法從頻域出發(fā),對理想的頻率響應(yīng))再進行等間隔采樣)|2kπ/ N=Hd(k)。把所有的采樣值都作為變量是其最優(yōu)化設(shè)計原理,進而達到獲得最優(yōu)結(jié)果的目的。一般情況下,采用均方誤差最小準則和最大誤差最小化準則。
2.1MATLAB軟件的概述
矩陣實驗室(Matrix Laboratory,MATLAB)誕生在美
矩陣構(gòu)成了MATLAB的基本數(shù)據(jù),MATLAB中的指令表達式和在數(shù)學(xué)、工程領(lǐng)域方面應(yīng)用基本是一致的,用戶可以借助效率非常高的數(shù)值計算及符號計算功能來處理繁瑣的數(shù)學(xué)運算分析;此外,MATLAB還可以利用其自帶的圖形處理功能來達到使計算結(jié)果和編程可視化的目的;MATLAB相對來說是比較容易掌握的,用戶界面簡潔明了,類似于數(shù)學(xué)表達式的語言都降低了用戶學(xué)習(xí)的難度;信號處理和通信等工具箱等功能為用戶提供了許多便捷的工具,擴大了工具內(nèi)容和種類。
MATLAB在信號處理、圖像處理、通訊、財務(wù)以及計算生物學(xué)等方面都有所應(yīng)用,可見其應(yīng)用面之廣。而且具有專用MATLAB函數(shù)集的附加工具箱提高了MATLAB的工作空間,對于那些特定的問題處理起來更加方便。
2.2基于遺傳算法的FIR數(shù)字濾波器的設(shè)計與仿真
2.2.1基于遺傳算法的FIR數(shù)字濾波器的設(shè)計
首先討論一下4種線性相位濾波器的特點:
第一類,如果相位為零較為理想,那么FIR濾波器的幅頻特性對于ω=0,π,2π皆成偶對稱。
H(k)=H(N-k),N為奇數(shù),h(n)=h(N-1-n)(5)
第二類,對于符合理想的零相位FIR濾波器的幅頻特性對ω=π為奇對稱,且幅頻特性非零,對ω=0,2π為偶對稱的過濾器,高通濾波器和帶阻濾波器不予采用。
第三類,當(dāng)零相位FIR濾波器的幅頻特性對ω=0,π,2π都為奇對稱,同時ω=0,π,2π情況下,幅頻特性均是零。
第四類,理想的零相位FIR濾波器的幅頻特性對于ω=0,2π成奇對稱,對于ω=π成偶對稱,且ω=0,2π處,幅頻特性都為零。
H(k)=H(N-k),H(0)=0,N為偶數(shù),h(n)=-h(N-1-n)
(8)
例:用頻率采樣法設(shè)計一個FIR帶通濾波器,技術(shù)指標:低阻帶邊緣頻率ω1s=0.2π,低通帶邊緣頻率ω1p=0.3π,通帶邊緣頻率ω2p=0.7π,高阻帶邊緣頻率ω2s=0.8π,通帶最大波動AP=0.3dB,阻帶最小衰減As=40dB,采樣點數(shù)N=40。
設(shè)過渡中的值用T1來表示,則Hk=T1,k=5, 15, 25, 35 (10)
因為是帶通濾波器且N=40為偶數(shù),所以為第四類線性濾波器。
對于線性相位濾波器的對稱脈沖響應(yīng),有
式中k取整。
所以,
本文就是利用遺傳算法尋找合適的過渡帶采樣值,以使阻帶最小衰減取的最大值。
遺傳算法的具體步驟如下:
(1)估計參數(shù)0<T1<1,對T1進行編碼;
(2)初始化種群,假設(shè)群體規(guī)模(染色體)為S,即每代中的個體也是估計參數(shù)的個數(shù),G為遺傳算法的代數(shù),Pm為變異概率,Pc為交叉概率,在遺傳算法的每i代中,對第j個估計參數(shù)譯碼得到一個T1,并計算出對應(yīng)的阻帶最小衰減Asij,通過下式計算出該估計參數(shù)的適應(yīng)度fij,即:
fij越大說明此最小衰減Asij適應(yīng)度越大,被保留的可能性越大,否則就會被優(yōu)解淘汰;
(3)選擇策略方面,由達爾文適者生存的進化論可以知道在一個群體中經(jīng)常出現(xiàn)為了生存而打斗的現(xiàn)象,往往適應(yīng)能力強的取勝。針對這個情況,采用輪盤賭選擇法作為生存策略。
此法與賭場所用的輪盤有一樣的原理,即遇到每一個數(shù)據(jù)都具有相同的概率??梢园凑兆约盒枰獊碓O(shè)置輪盤格子數(shù),再隨機旋轉(zhuǎn)轉(zhuǎn)盤,用這個隨機結(jié)果代表是哪一個格子。個體的適應(yīng)能力按比例換算為選中的概率。表1中分別顯示了11個個體的適應(yīng)度、選擇概率和累積概率。可通過多次重復(fù)試驗來進行個體選擇。每次試驗可產(chǎn)生一個[0, 1]隨機數(shù),把這個隨機數(shù)當(dāng)成選擇指針以確定選擇哪個個體。如圖2所示,若第一輪隨機數(shù)為0.81,則第六個個體被選中,第二輪隨機數(shù)為0.32,則第二個個體被選中,以此類推,若第3,4,5,6的隨機數(shù)分別為0.96,0.01,0.65,0.42,則第9,1,5,3個個體依次被選中。這樣經(jīng)過選擇產(chǎn)生的種群由以下個體組成:1,2,3,5,6,9。
表1 輪盤賭選擇法的選擇概率計算
圖2 輪盤賭選擇法
按照輪盤賭選擇法進行選擇操作。計算每個染色體的適度fij,根據(jù)適應(yīng)度求出第j個染色體的累積概率qi,
在[0,1]內(nèi)產(chǎn)生S個均勻分布的隨機數(shù)r,若r≤qi,則染色體 x1被選中;若qk-1<r≤qk(2≤k≤N),則染色體xk被選中,從而生成新的種群;
(4)交叉操作,按照概率pc挑選出將要配對的個體,如果待配對個體是奇數(shù),就自動去掉最后那個,以保證待交叉的個體是偶數(shù),再與鄰近個體配對,然后得到一個隨機交叉點,在此點進行配對個體的交叉操作;
(5)變異操作,概率pm為依據(jù),先假設(shè)等待變異的種群規(guī)模S和每一個染色體的編碼位數(shù)相乘之后等于n,這里的n就是指基因總數(shù),會得到n個[0,1]間的隨機數(shù),然后尋找隨機數(shù)中小于變異概率的數(shù)的具體位置,這就是待變異的染色體的基因的位置,變異操作就可以進行;
(6)如果i=G,那么結(jié)束算法,否則轉(zhuǎn)至步驟(2)。
2.2.2基于遺傳算法的FIR數(shù)字濾波器的仿真結(jié)果
對比分析圖3和圖4的仿真結(jié)果可以發(fā)現(xiàn),濾波器幅度響應(yīng)曲線由遺傳算法繪出的比查表法要好,也得到了合適的過渡帶采樣值,以得到更大的阻帶最小的衰減。加之普通算法的最小衰減是達不到題目要求的。然而遺傳算法的隨機性大,執(zhí)行結(jié)果每次都不相同,因此如何選擇最優(yōu)仿真結(jié)果需要進一步研究。
(1)用一般算法實現(xiàn)FIR濾波器的程序代碼及仿真結(jié)果:
圖3 本例題一般算法的仿真結(jié)果(T1=0.5,As=40.0129dB )
(2)本題基于遺傳算法設(shè)計的仿真結(jié)果
圖4 本例題遺傳算法的仿真結(jié)果(T1=0.5378, As=42.7316dB)
這種基于生物界自然選擇和進化機制發(fā)展的算法具有并行度高、隨機、自適應(yīng)搜索等特點。當(dāng)前在組合優(yōu)化、生產(chǎn)調(diào)度、自動控制、圖像處理、機器學(xué)習(xí)、數(shù)據(jù)挖掘等各個方面均有所應(yīng)用。一直以來,在濾波器的設(shè)計中如何運用遺傳算法,如何優(yōu)化濾波器都是非常熱門的研究話題。隨著科學(xué)計算水平的不斷提高,可編程邏輯器越來越多地被應(yīng)用在濾波器的設(shè)計中,這也為濾波器的硬件提供了一條新思路。
雖然相較于其他算法,遺傳算法結(jié)構(gòu)比較簡單,但是在解決一些問題時,存在不容易選擇群體大小、交叉變異概率等問題,而且搜索效率并不理想。隨機性大可以是優(yōu)勢也可以是劣勢,因為根據(jù)其進行的最優(yōu)選擇也是隨機的,不可能每次都得到最優(yōu)解。針對這個問題,還需要進行更深層次的研究。
[1]甘明剛,潘峰,蔡濤.基于協(xié)調(diào)粒子群算法的無限沖激響應(yīng)濾波器優(yōu)化設(shè)計[J].兵工學(xué)報,2010(10):1398-1402.
[2]賈金鎖,高梅國,韓月秋.遺傳算法在海雜波產(chǎn)生中的應(yīng)用[J].北京理工大學(xué)學(xué)報,2004(5):446-449.
[3]梁天,周暉,謝靜,等.無線傳感器網(wǎng)絡(luò)的多目標覆蓋控制策略[J].傳感技術(shù)學(xué)報,2010(7):994-999.
[4]鄒娟,賈世杰,曾潔.基于遺傳算法的FIR濾波器設(shè)計[J].大連交通大學(xué)學(xué)報,2010(4):22-25.
[5]余靜,吳樂南,靳一.基于量子粒子群優(yōu)化的數(shù)字沖擊濾波器自動設(shè)計[J].東南大學(xué)學(xué)報(自然科學(xué)版),2012(2):224-228.
[6]趙瑞杰.二維FIR數(shù)字濾波器優(yōu)化設(shè)計理論與二維優(yōu)化設(shè)計算法研究[D].濟南:山東大學(xué),2012.
[7]李鴻,曾喆昭,周云飛.基于神經(jīng)網(wǎng)絡(luò)并行算法的海爾伯特變換器優(yōu)化設(shè)計[J].湖南師范大學(xué)自然科學(xué)學(xué)報,2005(3):40-44.
[8]田樹耀.圓度誤差的最小二乘法、最小包容區(qū)域法和最優(yōu)函數(shù)法評定精度之比較[J].計量技術(shù),2008(7):63-65.
[9]張林家.基于Pareto遺傳算法的多目標優(yōu)化[J].鞍山師范學(xué)院學(xué)報,2008(4):22-24.
Study on FIR design and simulation of digital flter performance index optimization
Gu Qifang
(Wuxi City College of Vocational Technology, Wuxi 214000, China)
Digital filter is a kind of algorithm or device in terms of popularity, which is composed of three parts: digital multiplier,adder and the delay unit generally. Study on the design method of digital flter has a history of 20 years, which is currently in a stable development period. The use of genetic algorithm in optimization algorithm for optimal performance index and simulation of FIR digital flter area is developing rapidly. This kind of algorithm based on the development of natural selection and evolution has the advantages of high degree of parallelism, random, adaptive search, etc. Which is currently applied to combination optimization, production scheduling,automatic control, image processing, machine learning, data mining and other aspects. As we all know, the digital signal processing is to fnd the useful signal in the noise, which is just the process to fnd the optimum solution. It can be said that in the design of digital flter,genetic algorithm is a bold attempt. Therefore, the design and simulation of performance index optimization of digital flter in FIR were studied in the article.
digital flter; performance index; FIR; design and simulation
無錫城市職業(yè)技術(shù)學(xué)院教改課題;項目名稱:高職校企合作人才培養(yǎng)與就業(yè)一體化研究—以計算機應(yīng)用技術(shù)專業(yè)為例;項目編號:WXCY-2014-JG-015。
顧綺芳(1980— ),女,江蘇無錫,碩士,講師;研究方向:計算機仿真,圖像處理技術(shù)。國的mathworks公司,在科學(xué)計算、可視化及交互式程序設(shè)計等技術(shù)含量高的計算環(huán)境的背景下,可以通過一個視窗把數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等許多功能集中體現(xiàn),MATLAB在必須進行有效數(shù)值計算的領(lǐng)域發(fā)揮著日益重要的作用,而且避免了像C語言,F(xiàn)ortran語言等傳統(tǒng)非交互式程序設(shè)計語言的編輯模式,是國際科學(xué)計算軟件的領(lǐng)頭羊。