《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > 基于遗传算法的复杂无源滤波器参数设计

基于遗传算法的复杂无源滤波器参数设计

2009-06-01
作者:郑力新1 周凯汀2

  摘 要: 提出了一種基于計算機數(shù)值計算的復(fù)雜無源濾波器參數(shù)設(shè)計的新方法,首先把求解電路參數(shù)的問題數(shù)學(xué)化為性能指標優(yōu)化模型,然后采用遺傳算法求得特性符合要求的電路參數(shù)值,數(shù)值實驗表明了此方法的有效性。
  關(guān)鍵詞: 無源濾波器 參數(shù)優(yōu)化設(shè)計 遺傳算法


  無源濾波器在電子技術(shù)領(lǐng)域有著廣泛的應(yīng)用。針對某一應(yīng)用的復(fù)雜無源濾波器,往往結(jié)構(gòu)容易確定,參數(shù)調(diào)整卻十分困難。其原因是:結(jié)構(gòu)中的組成元件(電阻、電容、電感)個數(shù)較多,頻率特性與元件參數(shù)的關(guān)系是一個高階的非線性函數(shù),相互間對頻率特性的影響存在著高度的耦合,因而欲達到頻率特性優(yōu)良的設(shè)計目的,無論采用實驗手段還是常規(guī)數(shù)學(xué)手段,都需花費大量的時間與精力。
  近年來,模擬生物進化過程的遺傳算法作為求解優(yōu)化問題的有效手法而倍受關(guān)注。正如Thomas Back等人指出[1],同其他手法相比,其優(yōu)點在于:處理問題的靈活性、適應(yīng)性、魯棒性,能取得全局解,對模型要求低,針對不同問題設(shè)計的不同遺傳算法,不僅能提高現(xiàn)有解的優(yōu)化品質(zhì),還能攻克某些難度大的優(yōu)化問題。
  本文以遺傳算法的應(yīng)用為出發(fā)點,提出了一種新的無源濾波器參數(shù)設(shè)計方法。它能有效克服上述無源濾波器參數(shù)設(shè)計的困難,十分方便地取得滿足性能指標要求的參數(shù)設(shè)計值。


1 優(yōu)化模型的建立
  典型的無源濾波器電路組成元件一般按T型結(jié)構(gòu)連接,如圖1所示。濾波器的頻率特性可以用功率傳輸函數(shù)來定義,即:
  
  其中,X=[X1,X2,...,Xn],為電路的元件參數(shù)值矩陣,n為元件總個數(shù),W為頻率。若X已知,頻率采樣點Wi對應(yīng)的頻率特性Li可按下述方法計算:
  
  用簡易的迭代程序求得Es,代入式(1)即可求得Li。
  濾波器的結(jié)構(gòu)已知后,先確定結(jié)構(gòu)中的參數(shù)取值范圍,選擇的條件可以比較寬松,然后按預(yù)期的性能指標要求,選定適當(dāng)個頻率采樣點W1,W2,...,規(guī)定其對應(yīng)功率傳輸函數(shù)幅度界限值,迫使它調(diào)整后經(jīng)過采樣點時,滿足幅度界限要求(大于、小于或介于)。由此獲得的新設(shè)計參數(shù)X*即是滿足預(yù)期性能指標的設(shè)計值。為求得X*,建立如下優(yōu)化模型:
  
  其中,X的定義同前,T=[T1,T2,...]為幅度界限值矩陣,S=[S1,S2,...]為加權(quán)系數(shù)矩陣,U=[U1,U2,...]為裕度矩陣,XL、XU分別為設(shè)計參數(shù)的上下界限矩陣。p為偶次方,m為采樣點總數(shù),Ri稱為余差,具體表達式為:
  下界 Ri=Si×Min(+[Li-Ti]-Ui,0)
  上界 Ri=Si×Min(-[Li-Ti]-Ui,0)
  顯然,當(dāng)存在解X使F函數(shù)最小時,Li的值應(yīng)能控制在Ti的要求范圍內(nèi),從而使頻率特性滿足指標要求,因此該解即可視為X*。
2 優(yōu)化模型的求解
  遺傳算法是一個強有力的求優(yōu)算法,它首先隨機地產(chǎn)生一組潛在的解X(該解稱為“染色體”,解的特定集合稱為“人口”,解中的變量稱為“基因”),然后采用生物進化的過程(如染色體交叉,變異,淘汰等)不斷提高解的品質(zhì),最后獲得最優(yōu)解。遺傳算法有兩個重要控制參數(shù)——交叉率Pc和變異率Pm對算法的收斂速度有較大影響,文獻[3]采用確定不變的Pc和Pm,而本文采用隨世代數(shù)增加而不斷自動調(diào)整的Pc和Pm。這樣做的目的在于:在進化的初期,人口的差異一般較大,交叉率大和變異率小有助于加快收斂,而在進化的后期,交叉率小和變異率大有助防止過早陷入局部最優(yōu)點。公式如下:
  Pc(gen)=Pc(gen-1)-[Pc(0)-0.3]/MAXGEN
  Pm(gen)=Pm(gen-1)+[0.3-Pm(0)]/MAXGEN
  其中,gen表示世代數(shù),MAXGEN表示最大世代數(shù),具體算法如下:
  第1步,全局參數(shù)設(shè)定
  給出POP_SIZE(人口數(shù))、Pc(0)、Pm(0)、MAXGEN和設(shè)計次數(shù)dcnt的大小或范圍。
  第2步,人口的產(chǎn)生及初使化
  設(shè)世代數(shù)gen=1。以設(shè)計參數(shù)為變量,組成矩陣X=[X1,X2,...,Xn]。第一代人口由POP_SIZE個染色體構(gòu)成,每個染色體的基因(即設(shè)計參數(shù))在參數(shù)各自取值范圍內(nèi)隨機產(chǎn)生。
  第3步,染色體評價
  為了評價代世代中染色體X的優(yōu)劣,建立染色體適應(yīng)性評價函數(shù)eval(X):
  

  對本問題,評價函數(shù)越小越好。
  第4步,基因操作
  通?;虿僮饔薪徊?、變異、選擇三種[2]。
  基因交叉:設(shè)交叉計數(shù)器ccnt=0,從[0,1]范圍內(nèi)產(chǎn)生隨機數(shù)rk(k=1,2,...,POP_SIZE),如果rk<Pc(gen),則選擇Xk為交叉用;使交叉染色體配對進行如下位交叉操作:
  
  其中Xj、Xl為配對染色體,Xj′、Xl′為交叉后染色體。p為隨機選擇的交插位,接受交叉操作的染色體個數(shù)記入ccnt中。
  基因變異:設(shè)變異計數(shù)器mcnt=0,從[0,1]范圍內(nèi)產(chǎn)生隨機數(shù)rk(k=1,2,...,n×POP_SIZE+n×ccnt),如果rk<Pm(gen),則第k個基因進行變異操作,并使mcnt=mcnt+1。新基因Xk′隨機產(chǎn)生于區(qū)間[(1-α)Xk,(1+α)Xk];其中1≤i≤POP_SIZE,α為[0,1]范圍內(nèi)選定常數(shù)。
  染色體選擇:計算新生染色體Xn′的評價函數(shù)eval(Xn′)(n=1,2,...,ccnt+mcnt)和父代染色體Xn的評價函數(shù)eval(Xn)(n=1,2,...,POP_SIZE),并按適應(yīng)性大小排列,選出其中適應(yīng)性最強的POP_SIZE個染色體構(gòu)成新一代人口并保留上述過程中最佳染色體V*,這個過程稱為“適者生存”選擇。
  第5步,單次過程結(jié)束判斷
  當(dāng)F<Er時(Er為一小數(shù)量級數(shù)值),X*=V*,輸出X*,轉(zhuǎn)第6步。
  當(dāng)F≥Er且gen≥MAXGEN時,gen=gen+1,返回第3步。
  當(dāng)F≥Er時且gen≥MAXGEN時,返回第2步。
  第6步,全過程結(jié)束判斷
  dcnt=dcnt-1;當(dāng)dcnt>0時,返回第2步;否則,停機。


3 數(shù)值實驗例
  圖2為一帶通無源濾波器電路結(jié)構(gòu),通頻帶要求在950~1050 rad/s之間。為此,每隔5 rad/s作一次采樣,采樣點的幅度大于0.85;設(shè)定低頻截止頻率為800 rad/s,幅度小于1e-5;高頻截止頻率為1300rad/s,幅度小于1e-5。建立如下優(yōu)化模型:
  
  s.t. XL=[0,0,...,0]<X<XU=[18,18,...,18]
  其中
  X=[X1,X2,...,X19]=[L1,C3,C4,L6,L7,C7,L9,L10,C12,L13,C13,L15,L16,C18,L19,C19,L21,L22,C24];
  R1=10×Min(+[1.0e-5-L1]-0.0,0),對應(yīng)W1=800 rad/s
  Rj=1.0×Min(+[Lj-0.85]-0.05,0);j=2,3,...,22,對應(yīng)Wj=(5×j+940)rad/s
  R23=10×Min(+[1.0e-5-L23]-0.0,0),對應(yīng)W23=1300 rad/s
  在NEC4800/210Ⅱ工作站完成上述算法。算法的參數(shù)設(shè)置為Er=1e-6,α=0.1,Pc=Pc(0)=0.6,Pm(0)=0.1,POP_SIZE=40,MAXGEN=2000,程序語言為UNIX-C。dcnt取10,得到10組設(shè)計值,皆能使頻率特性滿足要求。平均世代數(shù)為1508代,平均時間為9.8min。其中一組結(jié)果為:
  X*=[0.0792,12.6514,0.0752,13.0157,0.1058,3.3131,0.1793,13.3386,0.0726,0.1334,3.326,0.1722,15.1218,0.0633,0.0876,1.9288,0.3333,10.3171,0.0900]。
  按此參數(shù)設(shè)計后,濾波器頻率特性較好地達到了預(yù)期要求,如圖3所示。


  本文簡要分析了無源濾波器參數(shù)設(shè)計存在困難的主要原因。對無源濾波器的常用電路結(jié)構(gòu),提出了計算頻率特性的簡易迭代法,并將求解滿足指標要求的參數(shù)設(shè)計值的問題轉(zhuǎn)化為優(yōu)化模型的求解過程,使的原來難以描述和解決的設(shè)計問題變得明確和簡單。
  在遺傳算法方面,我們并不照搬前人的方法[3],例如,把最小目標函數(shù)的求解要求轉(zhuǎn)化為進化的驅(qū)動力而不是刻意求得最優(yōu)解,不僅減少了計算時間,還可提供設(shè)計者多種可選擇的方案。在遺傳算法的變異階段,采用的是以現(xiàn)有的基因為中心的左右變異方法,有別于常用的在變量范圍內(nèi)變異的方法。因本法中心不斷靈活飄移,求解過程出現(xiàn)兩個極端,即快速找到合適解或走入死區(qū)——永遠找不到解。我們通過設(shè)定最大世代數(shù)消除了后者的可能性,總體上提高了效率。
  本法有效地克服了無源濾波器參數(shù)設(shè)計的困難,具有普遍性的價值和意義。其基本思想及原理亦可在電氣、電子、自動化等較復(fù)雜系統(tǒng)的參數(shù)設(shè)計領(lǐng)域得到廣泛的應(yīng)用。
參考文獻
1 Thomas.B.Evolutionary Computation:Comments on the History and Current State.IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION,1997;4(1)3~17
2 Mitsuo Gen,Runwei Cheng.Genetic Algorithms & Engineering Design.John WILEY & SONS,INC,1997:50~60
3 鄭力新.采用遺傳算法的模擬集成電路參數(shù)最優(yōu)設(shè)計.華僑大學(xué)學(xué)報(自然科學(xué)版),1998;(4):128~132。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。