邵 鵬,吳志健,周炫余
(1.武漢大學(xué) 軟件工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,武漢430072;2.武漢大學(xué) 計(jì)算機(jī)學(xué)院,武漢430072)
數(shù)字濾波器是數(shù)字信號(hào)處理系統(tǒng)中的重要組成部分。根據(jù)脈沖響應(yīng)的長(zhǎng)度,數(shù)字濾波器可以分為無(wú)限沖激響應(yīng)(IIR)型和有限沖激響應(yīng)(FIR)型。IIR 型數(shù)字濾波器可利用模擬濾波器進(jìn)行設(shè)計(jì),實(shí)現(xiàn)方法簡(jiǎn)單,但由于其在相頻特性控制上是非線性相位,應(yīng)用范圍狹窄。FIR 型濾波器的相位是嚴(yán)格線性的,并且FIR 結(jié)構(gòu)是非遞歸的,因此不存在穩(wěn)定性問(wèn)題。由于FIR 具有的這些特點(diǎn),其應(yīng)用越來(lái)越多。因此,設(shè)計(jì)高性能的FIR 數(shù)字濾波器顯得尤為重要。
傳統(tǒng)FIR 數(shù)字濾波器的設(shè)計(jì)方法有窗函數(shù)法[1]和頻率抽樣法[2-3]。這些方法都是近似的逼近理想濾波器的頻率特征。頻率抽樣法和窗函數(shù)法簡(jiǎn)單易行,但不易精確地確定其通帶和阻帶的邊界頻率,并且都只能收斂于局部最優(yōu)。近年來(lái),學(xué)者們提出了使用演化算法,如模擬退火法(Simulated annealing algorithm,SAA)[4-5]、遺傳算法(Genetic algorithm,GA)[6-7]、粒子群優(yōu)化算法(Particle swarm optimization,PSO)[8-11]等進(jìn)行數(shù)字濾波器設(shè)計(jì)并取得了很好的效果。但SA 算法采用了隨機(jī)策略,運(yùn)算量大[4];GA 是一種全局優(yōu)化算法,但采用了選擇、交叉和變異等操作,運(yùn)算量大、收斂速度慢[6];PSO 算法也是一種全局優(yōu)化算法,具有參數(shù)少、實(shí)現(xiàn)簡(jiǎn)單、收斂速度快等優(yōu)點(diǎn)[11],這對(duì)設(shè)計(jì)性能高的數(shù)字濾波器有很大的幫助。因此,本文將一種改進(jìn)的粒子群算法應(yīng)用于FIR 型數(shù)字濾波器的設(shè)計(jì)中,并通過(guò)仿真試驗(yàn)證明采用該算法所設(shè)計(jì)的濾波器有較好的濾波效果。
PSO 算法[11]最早是在1995 年由美國(guó)社會(huì)心理學(xué)家Kennedy 和電氣工程師Eberhart 共同提出的,它是一種自適應(yīng)群智能搜索算法,該算法思想源于對(duì)魚(yú)群、鳥(niǎo)群等動(dòng)物簡(jiǎn)單的捕食行為的模擬。PSO 算法的數(shù)學(xué)模型由速度更新方程和位置更新方程兩部分組成。
速度更新方程如下:
位置更新方程如下:
式中:vi(t+1)為粒子i 在第t+1 代的速度;xi(t+1)為粒子i 在第t+1 代的位置;c1和c2分別為認(rèn)知系數(shù)和社會(huì)系數(shù)(加速因子);w 為慣性權(quán)重;r1和r2為[0,1]之間服從均勻分布的隨機(jī)數(shù);pbesti為第i 個(gè)個(gè)體歷史最優(yōu)位置;gbest 為群體歷史最優(yōu)化位置。
在PSO 算法中,每個(gè)粒子具有位置xi(t+1)和速度vi(t+1)兩個(gè)參量,每個(gè)粒子代表搜索空間中一個(gè)候選解,粒子通過(guò)自身的經(jīng)驗(yàn)值和其他粒子的經(jīng)驗(yàn)值來(lái)調(diào)整自身的搜索策略。PSO 算法具有簡(jiǎn)單、容易實(shí)現(xiàn)、在初期收斂速度快但在后期很容易陷入局部最優(yōu)、收斂速度慢且精度低等缺點(diǎn)[13]。
1.2.1 反向?qū)W習(xí)策略
定義1[12]若x 是定義在實(shí)數(shù)集R 上區(qū)間[a,b]內(nèi)的一個(gè)實(shí)數(shù),即x ∈[a,b],則x 的反向解x1定義如下:
若a=0 且b=1,則有:
定義2[12]若P(x1,x2,…,xn)是n 維空間上的一個(gè)點(diǎn),x1,x2,…,xn為實(shí)數(shù),且xi∈[ai,bi],則其反向解x 為:
根據(jù)以上兩個(gè)定義,反向?qū)W習(xí)算法思想描述如下:假設(shè)f(x)是原始函數(shù),g(·)是評(píng)價(jià)函數(shù)。如果x 是區(qū)間[a,b]內(nèi)產(chǎn)生的隨機(jī)數(shù),x1是x 的反向解,那么在每次迭代中計(jì)算f(x)和f(x1),若g(f(x))≥g(f(x1)),仍然以x 進(jìn)行迭代;否則以x1進(jìn)行迭代。
反向?qū)W習(xí)策略是2005 年提出的智能學(xué)習(xí)策略,學(xué)者們已經(jīng)證明該策略是一種有效的提高各種優(yōu)化問(wèn)題效率的方法[12]。
1.2.2 反向?qū)W習(xí)的粒子群算法(OPPSO)
為了克服粒子群優(yōu)化算法存在的不足,引入反向?qū)W習(xí)策略來(lái)提高粒子群優(yōu)化算法的優(yōu)化性能。對(duì)于粒子群中的每一個(gè)候選解來(lái)說(shuō),通過(guò)反向?qū)W習(xí)策略計(jì)算每一個(gè)候選解的反向解,增加了候選解的個(gè)數(shù),提高了種群的多樣性,從而增加了找到全局最優(yōu)解的概率。OPLPSO 算法描述如下:
(1) 隨機(jī)初始化種群,初始化加速因子c1、c2,慣性權(quán)重ω 等參數(shù);
(2) for i=1 to ps do
(3) 根據(jù)式(1)更新粒子的速度;
(4) if 速度不在規(guī)定的范圍內(nèi)
(5) 隨機(jī)產(chǎn)生速度;
(6) 根據(jù)式(2)更新粒子的位置x;
(7) 計(jì)算粒子x 的適應(yīng)值F;
(8) a=min(粒子位置);
(9) b=max(粒子位置);
(10)反向解x1=a+b-x;
(11)通過(guò)反向解x1計(jì)算適應(yīng)值F1;
(12) if F1<F
(13) x=x1;
(14) F=F1;
(15) 接下來(lái)同粒子群算法過(guò)程;
(16) end
FIR 濾波器[1]最重要的優(yōu)點(diǎn)是其具有線性相位頻率響應(yīng)。FIR 濾波器的單位沖激響應(yīng)h(n)是有限長(zhǎng)的(0 ≤n ≤N-1),其z 變換(系統(tǒng)函數(shù))為:
式中:N 為濾波器的階數(shù);h(n)為濾波器的脈沖響應(yīng),h(n)取值的不同決定FIR 濾波器的類型(低通、高通、帶阻等)。
令z=ejω,則式(1)的頻率響應(yīng)可以轉(zhuǎn)換為:
理想濾波器頻率響應(yīng)Hd(ejω)被分成相等的頻率間隔,故可以得到:
式中:Hd(k)為將要設(shè)計(jì)的濾波器的頻率響應(yīng)。當(dāng)h(n)為實(shí)序列時(shí),可將H(ejω)表示成:
可證明FIR 濾波器有兩類準(zhǔn)確的線性相位[1],其分別滿足以下條件:
由式(7)可以看出:單位沖激響應(yīng)的h(n)序列以n=(N-1)/2 為中心對(duì)稱。因此,設(shè)計(jì)線性相位FIR 濾波器的計(jì)算量是設(shè)計(jì)非線性濾波器的一半。
FIR 濾波器的系統(tǒng)函數(shù)H(ejω)如式(3)所示,其中h(n)是FIR 濾波的n 個(gè)系數(shù)。這n 個(gè)系數(shù)取值的組合決定所設(shè)計(jì)FIR 濾波性能的好壞。
在OPPSO 優(yōu)化FIR 濾波器的過(guò)程中,將n 個(gè)系數(shù)看作n 個(gè)粒子的位置。由于FIR 濾波器具有嚴(yán)格的線性相位,這種特性具有對(duì)稱性,故在算法優(yōu)化過(guò)程中只需要計(jì)算(n+1)/2 個(gè)粒子位置,也就是說(shuō)只要找到n+1 個(gè)系數(shù)。
2.2.1 零相位數(shù)字濾波器
任何一個(gè)數(shù)字濾波器都具有幅頻特性和相頻特性,如果對(duì)于濾波不要求實(shí)時(shí)性,可以設(shè)計(jì)一種相頻特性始終為0 的濾波器,即一個(gè)信號(hào)序列經(jīng)過(guò)該濾波器濾波后,信號(hào)序列的相位不發(fā)生變化。這種數(shù)字濾波器就稱為零相位數(shù)字濾波器[15]。零相位數(shù)字濾波器是為了使用一般的濾波器進(jìn)行濾波時(shí),由于濾波器的相位響應(yīng)而導(dǎo)致待處理信號(hào)經(jīng)過(guò)濾波器后產(chǎn)生的相位偏移進(jìn)而產(chǎn)生相位失真而設(shè)計(jì)的[14-15]。
文獻(xiàn)[15]中通過(guò)推導(dǎo)證明,零相位數(shù)字濾波器的設(shè)計(jì)思想簡(jiǎn)單,但只能通過(guò)軟件來(lái)實(shí)現(xiàn),靠硬件實(shí)現(xiàn)是相當(dāng)困難、甚至是無(wú)法實(shí)現(xiàn)的。因此,零相位數(shù)字濾波器是一種更接近于理想的線性相位濾波器,即它也與現(xiàn)實(shí)中所設(shè)計(jì)的濾波器接近,更具參考性。正是由于它具有這種特性,文中將其作為理想濾波器與其他方法設(shè)計(jì)的濾波器進(jìn)行比較,使這些濾波器逼近于理想的零相位數(shù)字濾波器。
2.2.2 低通FIR 數(shù)字濾波器
數(shù)字濾波器按頻率特性可以分為低通、高通等類型[1]。低通濾波器(Low-pass filter)讓低于所設(shè)計(jì)頻率的信號(hào)分量通過(guò),而對(duì)高于該頻率的信號(hào)分量進(jìn)行抑制,不讓其通過(guò)。低通FIR 濾波器的性能要求通常以頻率響應(yīng)的幅度特性的允許誤差來(lái)表征。頻率響應(yīng)有通帶、阻帶以及過(guò)渡帶3 個(gè)范圍。在通帶內(nèi),頻率響應(yīng)逼近于1;阻帶內(nèi)逼近于0。為了逼近于理想的濾波器,在過(guò)渡帶內(nèi)的頻率響應(yīng)應(yīng)該平滑地從通帶下降到阻帶,具體技術(shù)指標(biāo)往往使用通帶最大衰減(波紋)及阻帶最小衰減。理想低通濾波器的頻率響應(yīng)見(jiàn)圖1。
圖1 理想低通濾波器的頻率響應(yīng)Fig.1 Ideal low-pass filter frequency response
目前設(shè)計(jì)FIR 濾波器有兩種最優(yōu)化準(zhǔn)則:均方誤差最小準(zhǔn)則和最大誤差最小化準(zhǔn)則。已有研究[1]表明,第2 種準(zhǔn)則設(shè)計(jì)出的濾波器在階數(shù)相同時(shí)性能更優(yōu)越。FIR 濾波器的主要優(yōu)點(diǎn)就是能得到嚴(yán)格線性相位,因此文中所述的FIR 濾波器是指這類具有嚴(yán)格相位的濾波器。
設(shè)理想濾波器和所要設(shè)計(jì)的濾波器的頻率響應(yīng)的幅度函數(shù)分別為Hd(ejω)和H(ejω),加權(quán)函數(shù)為G(ω),則加權(quán)逼近誤差函數(shù)定義為:
式中:G(ω)=δp/δs。
最小化誤差函數(shù):
式中:δp、δs分別為通帶和阻帶波紋;ωp、ωs分別為通帶和阻帶的截止頻率。
為了獲得一組最優(yōu)的濾波器系數(shù),文中將式(9)作為OPPSO 算法以及與該算法相比較的算法的適應(yīng)值函數(shù),在文獻(xiàn)[16-18]中此函數(shù)都作為適應(yīng)值函數(shù)。用OPPSO 算法優(yōu)化低通FIR 數(shù)字濾波器步驟如下:
Step1 給定低通FIR 濾波器的性能指標(biāo);
Step2 初始化OPPSO 算法各粒子的參數(shù):種群大小、慣性權(quán)重等;
Step3 將濾波器系數(shù)作為粒子的初始位置并設(shè)粒子的初始速度;
Step4 根據(jù)式(10)計(jì)算粒子的適應(yīng)值;
Step5 根據(jù)式(1)(2)更新粒子的速度和位置;
Step6 計(jì)算粒子的反向解,如果粒子原位置計(jì)算出的適應(yīng)值比其反向解計(jì)算出的適應(yīng)值大,則將反向解作為新的位置更新粒子的位置,否則用原位置更新粒子的位置;
Step7 判斷是否更新粒子的個(gè)體極值pbest和粒子群的全局極值gbest;
Step8 重復(fù)(4)~(7)步直到滿足精度要求或到達(dá)迭代次數(shù)為止;
Step9 輸出gbest,得到最優(yōu)化的FIR 數(shù)字濾波器的系數(shù)h(n)。
為了驗(yàn)證所提算法設(shè)計(jì)FIR 濾波器的有效性,使用PSO 算法[8]、一種改進(jìn)的PSO 算法(IPSO)[19]以及OPPSO 算法設(shè)計(jì)低通FIR 濾波器,并比較這3 種算法所設(shè)計(jì)的低通FIR 濾波器的性能。低通FIR 濾波器的頻率響應(yīng)為:
使用Matlab 語(yǔ)言實(shí)現(xiàn)算法以及FIR 濾波器的設(shè)計(jì),所設(shè)計(jì)濾波器的階數(shù)為40,即濾波器的系數(shù)的個(gè)數(shù)為41。濾波器的其他參數(shù)設(shè)置如下:通帶波紋δp為0.1,阻帶波紋δs為0.01;對(duì)于低通濾波器,其低通帶截止頻率ωlp1為0.25,低阻帶截止頻率ωlp2為0.35;過(guò)渡帶寬度ωlp2-ωlp1為0.1。各種粒子群算法參數(shù)設(shè)置如表1 所示。
表1 粒子群算法參數(shù)設(shè)置Table 1 PSO parameter settings
3.2.1 低通FIR 濾波器設(shè)計(jì)結(jié)果
圖2 為3 種算法所設(shè)計(jì)的低通FIR 濾波器的幅頻響應(yīng),圖3 為3 種算法的收斂速度曲線圖。其中,H0為逼近于理想低通FIR 濾波器的零相位數(shù)字濾波器幅頻響應(yīng)曲線。
從圖2(a)中可看出:由OPPSO 算法設(shè)計(jì)的低通FIR 濾波器的幅頻響應(yīng)更接近于文中設(shè)計(jì)的理想低通FIR 濾波器(零相位數(shù)字濾波器),即其更平滑地從通帶下降到阻帶;通帶波紋與零相位數(shù)字濾波器最接近,波紋波動(dòng)較其他兩種算法大。從圖2 中可以看出:與其他算法相比,由OPPSO算法設(shè)計(jì)的低通FIR 濾波器的阻帶衰減較小,更接近零相位數(shù)字濾波。綜上所述,用OPPSO 算法所設(shè)計(jì)的低通FIR 數(shù)字濾波器的性能要高于其他算法所設(shè)計(jì)的濾波器性能。
圖2 FIR 低通濾波器幅頻響應(yīng)Fig.2 FIR low-pass filter amplitude-frequency response
3.2.2 三種算法收斂性分析
三種算法的收斂性如圖3 所示。從圖3 可以看出:OPPSO 算法比其他PSO 算法有著更快的收斂速度,并且收斂適應(yīng)值最小,從而說(shuō)明OPPSO算法能更快地找到一組相對(duì)最優(yōu)的低通FIR 濾波器的系數(shù)。
圖3 三種PSO 算法收斂曲線圖Fig.3 Converges of graph three algorithms
PSO、IPSO 和OPPSO 三種算法分別得到的低通FIR 濾波器系數(shù)的最優(yōu)組合如表2 所示。
表2 三種算法最優(yōu)系數(shù)組合Table 2 Optimal combination coefficient of three algorithms
從以上試驗(yàn)結(jié)果可以看出,OPPSO 算法在設(shè)計(jì)具有線性相位的低通FIR 濾波器方面比其他PSO 算法有著更好的性能。
為了驗(yàn)證OPPSO 算法所設(shè)計(jì)的具有線性相位FIR 低通濾波器的有效性,將其與PSO 算法以及IPSO 算法所設(shè)計(jì)的低通FIR 濾波器進(jìn)行比較。同時(shí),文中引入一種接近于理想數(shù)字濾波器、但很難使用硬件實(shí)現(xiàn)的零相位數(shù)字濾波作為對(duì)比。試驗(yàn)結(jié)果表明:OPPSO 算法在優(yōu)化具有線性相位的低通FIR 濾波器時(shí)收斂速度快、收斂精度高,并能更快地獲得一組最優(yōu)的濾波器系數(shù)組合。因此,利用該算法可以設(shè)計(jì)出性能很好的低通FIR 數(shù)字濾波器。
[1]Li K,Liu Y.The FIR window function design based on evolutionary algorithm[C]∥2011 International Conference on Mechatronic Science,Electric Engineering and Computer,Jilin,2011:1797-1800.
[2]程佩青.數(shù)字信號(hào)處理[M].北京:清華大學(xué)出版社,2009.
[3]Zhao Z K,Gao H Y,Liu Y Q.Chaotic particle swarm optimization for FIR filter design[C]∥2011 International Conference on Electrical and Control Engineering,Yichang,2011:2058-2061.
[4]Ahmad S U,Antoniou A.A genetic algorithm approach for fractional delay FIR filters[C]∥IEEE International Symposium on Circuits and Systems,Island of Kos,2006:2517-2520.
[5]Mastorakis N E,Gonos I F,Swamy M N S.Design of two dimensional recursive filters using genetic algorithms[J].IEEE Transaction on Circuits and Systems-I:Fundamental Theory and Applications,2003,50(5):634-639.
[6]Mercier P,Kilambi S M,Nowrouzian B.Optimization of FRM FIR digital filters over CSD and CDBNS multiplier coefficient spaces employing a novel genetic algorithm[J].Journal of Computers,2007,9(2):20-31.
[7]An-xin Z,Ping L,Jian-jun L.The design of FIR filter based on APA genetic algorithms[C]∥2011 International Conference on Mechatronic Science,Electric Engineering and Computer,Jilin,2011:1118-1121.
[8]李輝,張安,趙敏,等.粒子群優(yōu)化算法在FIR 數(shù)字濾波器設(shè)計(jì)中的應(yīng)用[J].電子學(xué)報(bào),2005,33(7):1338-1341.Li Hui,Zhang An,Zhao Min,et al.Particle swarm optimization algorithm for FIR digital filters design[J].Acta Electronica Sinica,2005,33(7):1338-1341.
[9]Rajib Kar,Durbadal Mandal,Sangeeta Mondal,et al.Craziness based particle swarm optimization algorithm for FIR band stop filter design[J].Swarm and Evolutionary Computation,2012,7:58-64.
[10]Mondal S,Chakraborty D,Kar R,et al.Novel particle swarm optimization for high pass FIR filter design[C]∥2012 IEEE Symposium on Humanities,Science and Engineering Research,Kuala Lumpur,2012:413-418.
[11]Kennedy J,Eberhart R.Particle swarm optimization[C]∥Proceedings of IEEE International Conference on Neural Networks,1995,4(2):1942-1948.
[12]Tizhoosh H R.Opposition-based learning:a new scheme for machine intelligence[C]∥CIMCA/IAWTI,Vienna,Austria,2005:695-701.
[13]寇曉麗,劉三陽(yáng).基于模擬退火的粒子群算法求解約束優(yōu)化問(wèn)題[J].吉林大學(xué)學(xué)報(bào):工學(xué)版,2007,37(1):136-140.Kou Xiao-li,Liu San-yang.Particle swarm algorithm based on simulated annealing to solve constrained optimization[J].Journal of Jilin University(Engineering and Technology Edition),2007,37(1):136-140.
[15]紀(jì)躍波,秦樹(shù)人,湯寶平.零相位數(shù)字濾波器[J].重慶大學(xué)學(xué)報(bào):自然科學(xué)版,2000,23(16):4-7.Ji Yue-bo,Qin Shu-ren,Tang Bao-ping.Digital filtering with zero phase error[J].Journal of Chongqing University(Natural Science Edition),2000,23(16):4-7.
[16]Luitel B,Venayagamoorthy G K.Differential evolution particle swarm optimization for digital filter design[C]∥2008 IEEE Congress on Evolutionary Computation,Hong Kong,2008:3954-3961.
[17]Ababneh J I,Bataineh M H.Linear phase FIR filter design using particle swarm optimization and genetic algorithms[J].Digital Signal Processing,2008,18(4):657-668.
[18]Sarangi A,Mahapatra R K,Panigrahi S P.DEPSO and PSO-QI in digital filter design[J].Expert Systems with Applications,2011,38(9):10966-10973.
[19]Mandal S,Ghoshal S P,Kar R,et al.FIR band stop filter optimization by improved particle swarm optimization[C]∥2011 World Congress on Information and Communication Technologies,Mumbai,2011:699-704.
吉林大學(xué)學(xué)報(bào)(工學(xué)版)2015年3期