左智超,王明杰,郭肅麗
(中國電子科技集團公司 第五十四研究所,石家莊 050081)
陣列天線方向圖綜合是陣列天線設計中的一個重要分支,是指根據一定的方向圖設計需求,通過各種優化算法計算各陣元激勵幅度、相位以及空間分布以得到滿足要求的天線方向圖[1]。陣列天線方向圖綜合算法性能的優劣決定了天線的性能,是陣列天線中的重點和難點之一。其中,副瓣電平已經成為了陣列天線方向圖綜合問題中的一項重要性能指標[2]。為了滿足低副瓣電平要求,通常會引起天線主瓣展寬、主瓣增益下降等不利影響[3]。切比雪夫綜合方法是一種獲得一組天線陣列幅度加權值的算法,算法不添加外界干擾條件,在僅考慮系統白噪聲的情況下進行計算獲得相應的波束方向圖。切比雪夫波束形成算法可以獲得等副瓣的波束方向圖,且在達到給定的目標副瓣電平的同時可以獲得最窄的主瓣寬度,同樣若給定主瓣寬度則獲得此時可以到達的最低的副瓣電平[4]。最小均方誤差綜合方法本質上是基于維納濾波理論構成一種空域濾波器,從而達到增強期望信號,抑制干擾和噪聲信號的目的。采用該方法需要知曉干擾信號方向的先驗信息,并且當信噪比比較小的時候雖然可以在干擾方向形成零點,但是在主瓣附近不能形成期望中的副瓣形狀,也不能對主瓣增益進行約束。
現有陣列天線方向圖綜合算法主要是針對方向圖副瓣增益進行抑制或在特定方向形成零陷從而達到抑制干擾的目的,選擇性的忽略了對于主瓣方向上的增益進行控制,因此在實現低副瓣或特定零陷的同時主瓣方向上的最大增益值相比于等幅激勵陣列會大幅度降低,即天線效率大幅降低。然而,主瓣方向上的增益會對天線作用距離產生直接影響。因此,在一些對于增益要求較高且無法通過其他手段提高主瓣方向增益的應用場景中,應盡量減少主瓣方向上的增益損失,在滿足需要增益電平的前提下進行陣列天線方向圖綜合。針對以上問題,本文提出了一種改進的陣列天線方向圖綜合遺傳算法。該算法通過改進適應度函數對主瓣方向上的增益進行約束,避免綜合過程中主瓣方向上增益的過度損失,并在遺傳算法中增加了精英保留策略,改進了交叉、變異概率的設定,從而使所得到的陣列天線方向圖既滿足了主瓣方向上的電平增益要求,同時又達到了一定的低副瓣水平。
以側射線性相控陣列天線為例,設線性天線陣列由2N+1個天線陣元組成,輻射波束與天線在同一xoy平面內。圖1是由2N+1個陣元組成的線性陣列天線簡圖,天線陣元之間的間距為d,遠場陣列天線方向圖的觀測角度為θ(θ∈[-π/2,π/2]),天線波束指向為θB,第n個天線陣元的激勵電流為In。

圖1 2N+1陣元線陣簡圖
假定天線陣元方向圖fn(θ)是全向性的,即可在陣線天線波束掃描范圍內忽略其影響,此時側射線性陣列天線方向圖函數可表示為[5]

令遠場觀測角度θ=0°,則式(1)可簡化為:
(2)
此時可以發現F(0)僅由In確定,對In進行控制即可改變此方向上的陣列方向圖,即改變此方向上陣列天線的輻射強度。同理,當陣列單元位置xn固定不變時,遠場方向θ上的方向圖函數F(θ)僅由In確定,即當陣列單元位置和遠場觀測角度確定時,此方向上的電磁輻射強度由各個陣元的電流激勵決定,改變各個陣元的電流激勵幅度和相位即可改變陣列天線的方向圖。
遺傳算法是模擬生物在自然環境中的遺傳和進化過程形成的一種自適應全局優化概率搜索算法。它將待求解問題的一個可行解視為一個個體并對其編碼,再由許多個個體組成一個群體。之后用這個群體模擬生物進化的過程,群體經過遺傳、交叉、變異產生新的個體,新的個體根據預定的目標適應度函數進行適應度的判斷。對個體進行優勝劣汰,以此模仿生物學中自然淘汰的進化過程。群體經過遺傳迭代,各個個體的適應度不斷提高,這樣就實現了在可行解中的搜索。標準遺傳算法模型流程如圖2所示。

圖2 遺傳算法流程圖
遺傳算法都是基于一個或多個初始群體開始計算的,初始群體一般被要求在解空間中均勻的分散分布,以便遺傳算法對解空間進行全局搜索。群體大小規模也是使用遺傳算法解決實際問題時必須考慮的問題,群體規模根據問題的復雜程度決定,越是復雜的問題需要的初始群體規模越大,否則遺傳算法無法對解空間進行充分搜索[6-7]。
對于初始群體中的個體則需要根據具體解決的問題確定染色體的編碼長度和編碼方式,合適的編碼長度可以提高計算效率,減少計算資源的消耗;編碼方式則影響到算法復雜度與求解精度,編碼方式包括二進制編碼,實數編碼等。
生物進化過程中適應度(fitness)表示了一個生物個體適應環境的能力,也體現了這個個體繁育后代的能力。適應度函數在遺傳算法中也被稱為評價函數,是對群體中的個體進行優劣判斷的標準,應根據求解的問題設計合適的適應度函數。而且遺傳算法一般不依賴于其他外部信息,僅依靠適應度函數計算出的適應度值對個體進行是否優劣的判斷,適應度值也是后續進行遺傳操作時的重要依據。所以根據實際問題設計出合理且適用的適應度函數是在使用遺傳算法的過程中重要的一個設計步驟。一般適應度函數的值要求取正值,在不少場合中,將目標函數映射成求最大值形式且函數值非負的適應度函數是必要的[8]。
在應用遺傳算法進行優化計算時,主要通過遺傳操作完成對自然界中遺傳變異現象的模擬仿真。遺傳操作將根據計算出的個體適應度值對編碼產生的群體進行處理,這樣就實現了對生物優勝劣汰過程的模擬[9]。操作由3個遺傳算子(genetic operator)組成,分別是選擇(selection);交叉(crossover);變異(mutation)。
將適應度更好的個體挑選保留下來并將適應度差的個體剔除的操作叫做選擇。被選擇操作選擇出的個體將作為交叉操作的對象進行下一步處理,部分優秀個體也可通過選擇操作直接出現在下一代群體之中。被選擇的概率由個體適應度值計算得到,因此在進行選擇操作之前必須先行計算個體的適應度值。
將兩兩配對的編碼個體的部分內容進行交換進而重新組合形成新的個體編碼的處理叫做交叉。交叉操作作為起關鍵作用的處理步驟存在于遺傳算法之中,交叉操作的存在使遺傳算法的搜索能力得到了巨大的提升。最常用的交叉算子為單點交叉。交叉時,在個體編碼串中隨機選擇一個位置作為交叉點,將兩個被選中個體該位置前后的兩部分進行分配組合形成新的兩個個體作為子代。下面給出一個單點交叉的簡單例子:
個體A:
1011↑101→1011↑000新個體
個體B:
1010↑000→1010↑101新個體
對某些個體上的編碼值進行改變的操作叫做變異。一般情況中,變異算子分兩步進行:1)根據事先設定好的變異概率對群體中的個體進行判斷是否需要進行操作;2)若判定進行變異操作,則對需要進行變異操作的個體隨機選擇其一部分編碼結構進行改變。遺傳算法中,變異算子和交叉算子相互配合競爭使算法同時具備全局和局部的搜索能力。
遺傳算法計算獲得的結果優劣和上述3個遺傳算子所取的操作概率,個體編碼方法,群體規模大小,初始群體的建立以及適應度函數的設定均密切相關。
遺傳算法作為一種啟發式搜索算法,對于陣列天線方向圖綜合這種目標空間巨大且具有不可預測性的復雜優化問題有較高的搜索速率。
在標準遺傳算法模型的基礎上進行改進。
雖然實數編碼方式不需要進行編碼解碼的過程節省了計算資源,但是其遺傳操作過程復雜,而且在工程實現中使用的數控幅相控制器一般也采用二進制編碼進行控制,仍需要將計算結果進行量化使用[10]。因此,與采用二進制編碼進行計算相比雖然可以提高計算效率,但是對于需要進行工程實現的問題并不存在明顯優勢。
在改進算法中仍舊采用二進制編碼作為編碼方式,用“0”和“1”編碼組成個體的遺傳基因型,其優點在于編碼、解碼操作簡單,交叉、變異等遺傳操易于實現。同時在遺傳算法中采用與實際需要使用的數控幅相控制器位數形同或略多的二進制編碼,可以減小算法需要進行搜索的空間,并且有利于后期的工程實現。
適應度函數計算出的適應度是遺傳算法中判斷個體優劣程度的唯一標準,一般在陣列天線方向圖綜合中為了實現對副瓣的抑制的目標,遺傳算法的適應度函數被設計如下:
(3)
其中,MSLL為最大副瓣相對增益,SLVL為目標副瓣相對增益,兩者采用歸一化dB值進行表示。
為實現在對主瓣方向上的增益進行控制的同時實現低的副瓣水平的目標,在將目標函數映射為適應度函數的過程中增加相關計算來達到目的,現將適應度函數修改如下所示:
fit=a·|G-GT|+b·|MSLL-SLVL|
(4)
其中,G為主瓣相對增益,是將加權控制后的主瓣增益值與未進行加權控制時的主瓣增益值進行歸一化處理得到的dB值;GT為目標主瓣相對增益,同樣為與未進行加權控制時的主瓣增益值進行歸一化處理得到的dB值。a,b為調整系數a,b∈[0,1]且a+b=1,選取不同的值可以實現對主瓣相對增益與副瓣相對增益在適應度函數中貢獻度的調整,達到在保證主瓣增益值得到滿足的情況下對副瓣相對增益的抑制,經試驗此處取a=0.85,b=0.15。不過此時越接近目標增益時,fit函數值越接近于零,為了方便計算還需要對適應度函數值進行標定。
(5)
重新標定后的適應度值f∈[0,1]。此時,當前最接近目標相對增益的個體即最優個體的適應度值f=1,適應度值最大;最差個體的適應度值f=0,適應度值最小。
在遺傳算法中通過交叉算子和變異算子產生與父代中不同的新個體,實現對可行解空間的搜索。因為交叉和變異操作是依照設定的概率隨機選擇進行的,所以適應度高的個體仍有可能在遺傳迭代的過程中丟失,即將優秀個體意外淘汰。雖然這是在自然界生物遺傳進化中正常發生的情況,但是對于尋優算法優秀個體的意外淘汰不利于算法的快速收斂,所以為了有效地防止最優解丟失并加速算法的收斂在交叉、變異產生新的一代個體之后增加精英保留策略,精英保留策略如圖3所示。

圖3 精英保留策略
精英保留策略使得具有最優適應度值的個體得以保留,這種個體是搜索進行到當前為止最優的個體。增加精英保留策略之后的遺傳算法在理論上已經被證明具有全局收斂性[11]。
使用輪盤賭選擇法(roulette wheel selection)構建選擇算子,這種方法最早由Holland提出,是遺傳算法中提出相對較早的一種選擇算子,因為它簡單實用,所以被廣泛采用。每個個體保留至下一代中的概率由其適應度值大小所決定,若某個個體的適應度為,群體大小為,則它被選擇的概率表示為:
Pi=fi/fsum
(6)

交叉操作與變異操作共同作為群體進化的動力源泉存在于遺傳算法之中。在算法中將對在同一代中的個體采用不重復交叉和不重復變異的策略。即在同一代進化中,對父代的那些可能發生交叉又或者變異的個體,使其最多只能發生一次交叉或者變異,也就是讓同一個父代個體不能多次進行交又和變異。這樣的操作提高了群體之中各種 優秀基因的利用率,預防了算法過早地陷入局部最優解。
對于遺傳算法計算過程的各項可調整參數,如何確定進行交叉操作的概率和進行變異操作的概率的方法決定了算法的實現效果與算法的優化性能,采用隨進化代數而改變的交叉、變異概率可以提升算法的優化效率。
對于交叉概率Pc而言在優化計算的初始時期個體之間的差異比較明顯,調整交叉概率進行更多的交叉操作有助于加快收斂;而在優化迭代過程的中、后段,將進行交叉操作的概率減小則可以有效地預防陷入局部最優。所以,將其設置為隨進化代數α的不斷增加而減小。Pc隨進化代數α的關系為:
(7)
其中:Pc(0)為初始狀態交叉概率參數,令Pc(0)=0.9;αmax為設置的最大進化代數;Pc,min=0.6為進化后期最小交叉概率,令Pc,min=0.6。
對于交叉概率Pm而言,在進化初期,染色體的差異一般較大,變異概率小有助于加快收斂;而在進化的中后期,變異概率增大則有助于防止過早陷入局部最優解。因變異概率本身不大,若像交叉概率一樣每一代都進行改變,其每一代的變化并不明顯,故將變異概率Pm按進化代數分為前中后3個階段,進化前期令Pm=0.08,進化中期令Pm=0.1,進化后期令Pm=0.12。
改進后的遺傳算法流程圖如圖4所示。

圖4 改進后的遺傳算法流程圖
以陣元間隔的16陣元側射線性陣列天線為例進行仿真實驗,以期望的主瓣相對增益和副瓣相對增益為優化目標,采用改進之后的遺傳算法對線性陣列天線各單元的激勵電流幅度進行優化。考慮到工程使用的實際需要,陣列天線激勵需要各個陣元激勵關于中心對稱,則優化變量選擇陣列一端起的8個單元的饋電幅度即可,二進制編碼長度選擇10位,激勵電流最大衰減幅度31.5 dB。目標主瓣相對增益設定為-1.5 dB,目標副瓣相對增益設定為-35 dB。
群體大小設定為64,最大遺傳迭代次數設定為500。表1為改進的遺傳算法計算得到的歸一化之后的激勵電流幅度值。

表1 16陣元歸一化激勵電流幅度值
圖5分別是改進遺傳算法優化所得的線性陣列天線方向圖與等幅激勵情況和使用切比雪夫綜合方法得到具有相同主瓣相對增益的方向圖的對比。

圖5 16陣元方向圖對比
從圖5(a)可以看出目標主瓣相對增益-1.5 dB基本達到,而從圖5(b)中可以發現副瓣情況相對于切比雪夫綜合算法更優,但是仍只有極少部分的副瓣達到了目標副瓣相對增益設定的-35 dB。
通過對遺傳算法中適應度函數的重新設計,在線性陣列天線方向圖綜合中成功的在保持期望的主瓣相對電平的前提下,獲得了擁有低副瓣特性的陣列天線方向圖。令外通過增加精英保留策略,改進交叉、變異概率,使遺傳算法具有更高的有效性。以陣元間隔的16陣元線性陣列天線為例進行了陣列天線方向圖綜合的仿真實驗,實驗結果表明相比于切比雪夫綜合算法在獲得同樣的主瓣相對增益時可以獲得更好的低副瓣效果。對于陣列天線方向圖綜合這類有著特殊要求的優化問題,智能優化算法能夠提供有效的解決途徑,相比于傳統算法更加便捷有效,這類算法除遺傳算法外還包括模擬退火算法、蟻群算法、粒子群算法等。