基于遺傳算法的復(fù)雜無源濾波器參數(shù)設(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=[X1j,X2j,...,Xpj,...,Xnj] Xj′=[X1j,X2j,...,Xpl,...,Xnl
Xl=[X1l,X2l,...,Xpl,...,Xnl] Xl′=[X1l,X2l,...,Xpj,...,Xnj]
其中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ù)evalXnn=12...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]=[L,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=800rad/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=1300rad/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.079212.65140.075213.01570.10583.3131
0.179313.33860.07260.13343.3260.172215.12180.06330.08761.92880.333310.31710.0900]。
按此參數(shù)設(shè)計后,濾波器頻率特性較好地達到了預(yù)期要求,如圖3所示。
本文簡要分析了無源濾波器參數(shù)設(shè)計存在困難的主要原因。對無源濾波器的常用電路結(jié)構(gòu),提出了計算頻率特性的簡易迭代法,并將求解滿足指標(biāo)要求的參數(shù)設(shè)計值的問題轉(zhuǎn)化為優(yōu)化模型的求解過程,使的原來難以描述和解決的設(shè)計問題變得明確和簡單。
在遺傳算法方面,我們并不照搬前人的方法[3],例如,把最小目標(biāo)函數(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)用。本文引用地址:http://butianyuan.cn/article/151155.htm
評論