《電子技術應用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 基于遗传算法的复杂无源滤波器参数设计
基于遗传算法的复杂无源滤波器参数设计
摘要: 提出了一种基于计算机数值计算的复杂无源滤波器参数设计的新方法,首先把求解电路参数的问题数学化为性能指标优化模型,然后采用遗传算法求得特性符合要求的电路参数值,数值实验表明了此方法的有效性。
Abstract:
Key words :

    無源濾波器" title="無源濾波器">無源濾波器在電子技術領域有著廣泛的應用。針對某一應用的復雜無源濾波器,往往結構容易確定,參數調整卻十分困難。其原因是:結構中的組成元件電阻、電容、電感個數較多,頻率特性與元件參數的關系是一個高階的非線性函數,相互間對頻率特性的影響存在著高度的耦合,因而欲達到頻率特性優(yōu)良的設計目的,無論采用實驗手段還是常規(guī)數學手段,都需花費大量的時間與精力。


    近年來,模擬生物進化過程的遺傳算法" title="遺傳算法">遺傳算法作為求解優(yōu)化問題的有效手法而倍受關注。正如Thomas Back等人指出1,同其他手法相比,其優(yōu)點在于:處理問題的靈活性、適應性、魯棒性,能取得全局解,對模型要求低,針對不同問題設計的不同遺傳算法,不僅能提高現(xiàn)有解的優(yōu)化品質,還能攻克某些難度大的優(yōu)化問題。

    本文以遺傳算法的應用為出發(fā)點,提出了一種新的無源濾波器參數設計方法。它能有效克服上述無源濾波器參數設計的困難,十分方便地取得滿足性能指標要求的參數設計值。

1 優(yōu)化模型的建立

    典型的無源濾波器電路組成元件一般按T型結構連接,如圖1所示。濾波器的頻率特性可以用功率傳輸函數來定義,即:





    其中,X=[X1,X2,...,Xn],為電路的元件參數值矩陣,n為元件總個數,W為頻率。若X已知,頻率采樣點Wi對應的頻率特性Li可按下述方法計算:

設 I1=IL=0.1,

    V1=ILRL+0=VL

    I2=V1Y1+IL

    V3=I2Z2+V1

    V2n+1=I2nZ2n+V2n-1

    I2n+2=V2n+1Y2n+1+I2n

    Es=RsI2n+2+V2n+1

    用簡易的迭代程序求得Es,代入式(1)即可求得Li。

    濾波器的結構已知后,先確定結構中的參數取值范圍,選擇的條件可以比較寬松,然后按預期的性能指標要求,選定適當個頻率采樣點W1,W2,...,規(guī)定其對應功率傳輸函數幅度界限值,迫使它調整后經過采樣點時,滿足幅度界限要求(大于、小于或介于)。由此獲得的新設計參數X*即是滿足預期性能指標的設計值。為求得X*,建立如下優(yōu)化模型:



    其中,X的定義同前,T=[T1,T2,...]為幅度界限值矩陣,S=[S1,S2,...]為加權系數矩陣,U=[U1,U2,...]為裕度矩陣,XL、XU分別為設計參數的上下界限矩陣。p為偶次方,m為采樣點總數,Ri稱為余差,具體表達式為:

    下界 Ri=Si×Min(+[Li-Ti]-Ui,0)

    上界 Ri=Si×Min(-[Li-Ti]-Ui,0)

    顯然,當存在解X使F函數最小時,Li的值應能控制在Ti的要求范圍內,從而使頻率特性滿足指標要求,因此該解即可視為X*。

2 優(yōu)化模型的求解

    遺傳算法是一個強有力的求優(yōu)算法,它首先隨機地產生一組潛在的解X(該解稱為“染色體”,解的特定集合稱為“人口”,解中的變量稱為“基因”),然后采用生物進化的過程(如染色體交叉變異淘汰等)不斷提高解的品質,最后獲得最優(yōu)解。遺傳算法有兩個重要控制參數——交叉率Pc和變異率Pm對算法的收斂速度有較大影響,文獻[3]采用確定不變的Pc和Pm而本文采用隨世代數增加而不斷自動調整的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表示世代數,MAXGEN表示最大世代數,具體算法如下:

第1步,全局參數設定

給出POP_SIZE(人口數)、Pc(0)、Pm(0)、MAXGEN和設計次數dcnt的大小或范圍。

第2步,人口的產生及初使化

設世代數gen=1。以設計參數為變量,組成矩陣X=[X1,X2,...,Xn]。第一代人口由POP_SIZE個染色體構成,每個染色體的基因(即設計參數)在參數各自取值范圍內隨機產生。

第3步,染色體評價

為了評價代世代中染色體X的優(yōu)劣,建立染色體適應性評價函數eval(X):

eval(X)={F(X,T,S,U);當X滿足約束條件    M,M為一大正數;當X不滿足約束條件

對本問題,評價函數越小越好。

第4步,基因操作

    通?;虿僮饔薪徊?、變異、選擇三種(2)。

    基因交叉:設交叉計數器ccnt=0,從[0,1]范圍內產生隨機數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為隨機選擇的交插位,接受交叉操作的染色體個數記入ccnt中。

    基因變異:設變異計數器mcnt=0,從[0,1]范圍內產生隨機數rk(k=1,2,...,n×POP_SIZE+n×ccnt),如果rk<Pm(gen),則第k個基因進行變異操作,并使mcnt=mcnt+1。新基因Xk′隨機產生于區(qū)間[(1-α)Xk,(1+α)Xk];其中1≤i≤POP_SIZE,α為[0,1]范圍內選定常數。

    染色體選擇:計算新生染色體Xn′的評價函數eval(Xn′)(n=1,2,...,ccnt+mcnt和父代染色體Xn的評價函數evalXnn=12...POP_SIZE,并按適應性大小排列,選出其中適應性最強的POP_SIZE個染色體構成新一代人口并保留上述過程中最佳染色體V*,這個過程稱為“適者生存”選擇。

第5步,單次過程結束判斷

    當F<Er時(Er為一小數量級數值,X*=V*,輸出X*,轉第6步。

    當F≤Er且gen≥MAXGEN時,gen=gen+1,返回第3步。

    當F≥Er時且gen≥MAXGEN時,返回第2步。

第6步,全過程結束判斷

    dcnt=dcnt-1;當dcnt>0時,返回第2步;否則,停機。

3 數值實驗例

    圖2為一帶通無源濾波器電路結構,通頻帶要求在950~1050 rad/s之間。為此,每隔5 rad/s作一次采樣,采樣點的幅度大于0.85;設定低頻截止頻率為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),對應W1=800rad/s

    Rj=1.0×Min(+[Lj-0.85]-0.05,0);j=2,3,...,22,對應Wj=(5×j+940)rad/s

    R23=10×Min(+[1.0e-5-L23]-0.0,0),對應W23=1300rad/s

    在NEC4800/210Ⅱ工作站完成上述算法。算法的參數設置為Er=1e-6,α=0.1,Pc=Pc(0)=0.6,Pm(0)=0.1,POP_SIZE=40,MAXGEN=2000,程序語言為UNIX-C。dcnt?。保?得到10組設計值,皆能使頻率特性滿足要求。平均世代數為1508代,平均時間為9.8min。其中一組結果為:

    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]。

    按此參數設計后,濾波器頻率特性較好地達到了預期要求,如圖3所示。

    本文簡要分析了無源濾波器參數設計存在困難的主要原因。對無源濾波器的常用電路結構,提出了計算頻率特性的簡易迭代法,并將求解滿足指標要求的參數設計值的問題轉化為優(yōu)化模型的求解過程,使的原來難以描述和解決的設計問題變得明確和簡單。

    在遺傳算法方面,我們并不照搬前人的方法[3],例如,把最小目標函數的求解要求轉化為進化的驅動力而不是刻意求得最優(yōu)解,不僅減少了計算時間,還可提供設計者多種可選擇的方案。在遺傳算法的變異階段,采用的是以現(xiàn)有的基因為中心的左右變異方法,有別于常用的在變量范圍內變異的方法。因本法中心不斷靈活飄移,求解過程出現(xiàn)兩個極端,即快速找到合適解或走入死區(qū)——永遠找不到解。我們通過設定最大世代數消除了后者的可能性,總體上提高了效率。
本法有效地克服了無源濾波器參數設計的困難,具有普遍性的價值和意義。其基本思想及原理亦可在電氣、電子、自動化等較復雜系統(tǒng)的參數設計領域得到廣泛的應用。

此內容為AET網站原創(chuàng),未經授權禁止轉載。

相關內容