左智超,王明杰,郭肅麗
(中國(guó)電子科技集團(tuán)公司 第五十四研究所,石家莊 050081)
陣列天線方向圖綜合是陣列天線設(shè)計(jì)中的一個(gè)重要分支,是指根據(jù)一定的方向圖設(shè)計(jì)需求,通過(guò)各種優(yōu)化算法計(jì)算各陣元激勵(lì)幅度、相位以及空間分布以得到滿足要求的天線方向圖[1]。陣列天線方向圖綜合算法性能的優(yōu)劣決定了天線的性能,是陣列天線中的重點(diǎn)和難點(diǎn)之一。其中,副瓣電平已經(jīng)成為了陣列天線方向圖綜合問(wèn)題中的一項(xiàng)重要性能指標(biāo)[2]。為了滿足低副瓣電平要求,通常會(huì)引起天線主瓣展寬、主瓣增益下降等不利影響[3]。切比雪夫綜合方法是一種獲得一組天線陣列幅度加權(quán)值的算法,算法不添加外界干擾條件,在僅考慮系統(tǒng)白噪聲的情況下進(jìn)行計(jì)算獲得相應(yīng)的波束方向圖。切比雪夫波束形成算法可以獲得等副瓣的波束方向圖,且在達(dá)到給定的目標(biāo)副瓣電平的同時(shí)可以獲得最窄的主瓣寬度,同樣若給定主瓣寬度則獲得此時(shí)可以到達(dá)的最低的副瓣電平[4]。最小均方誤差綜合方法本質(zhì)上是基于維納濾波理論構(gòu)成一種空域?yàn)V波器,從而達(dá)到增強(qiáng)期望信號(hào),抑制干擾和噪聲信號(hào)的目的。采用該方法需要知曉干擾信號(hào)方向的先驗(yàn)信息,并且當(dāng)信噪比比較小的時(shí)候雖然可以在干擾方向形成零點(diǎn),但是在主瓣附近不能形成期望中的副瓣形狀,也不能對(duì)主瓣增益進(jìn)行約束。
現(xiàn)有陣列天線方向圖綜合算法主要是針對(duì)方向圖副瓣增益進(jìn)行抑制或在特定方向形成零陷從而達(dá)到抑制干擾的目的,選擇性的忽略了對(duì)于主瓣方向上的增益進(jìn)行控制,因此在實(shí)現(xiàn)低副瓣或特定零陷的同時(shí)主瓣方向上的最大增益值相比于等幅激勵(lì)陣列會(huì)大幅度降低,即天線效率大幅降低。然而,主瓣方向上的增益會(huì)對(duì)天線作用距離產(chǎn)生直接影響。因此,在一些對(duì)于增益要求較高且無(wú)法通過(guò)其他手段提高主瓣方向增益的應(yīng)用場(chǎng)景中,應(yīng)盡量減少主瓣方向上的增益損失,在滿足需要增益電平的前提下進(jìn)行陣列天線方向圖綜合。針對(duì)以上問(wèn)題,本文提出了一種改進(jìn)的陣列天線方向圖綜合遺傳算法。該算法通過(guò)改進(jìn)適應(yīng)度函數(shù)對(duì)主瓣方向上的增益進(jìn)行約束,避免綜合過(guò)程中主瓣方向上增益的過(guò)度損失,并在遺傳算法中增加了精英保留策略,改進(jìn)了交叉、變異概率的設(shè)定,從而使所得到的陣列天線方向圖既滿足了主瓣方向上的電平增益要求,同時(shí)又達(dá)到了一定的低副瓣水平。
以側(cè)射線性相控陣列天線為例,設(shè)線性天線陣列由2N+1個(gè)天線陣元組成,輻射波束與天線在同一xoy平面內(nèi)。圖1是由2N+1個(gè)陣元組成的線性陣列天線簡(jiǎn)圖,天線陣元之間的間距為d,遠(yuǎn)場(chǎng)陣列天線方向圖的觀測(cè)角度為θ(θ∈[-π/2,π/2]),天線波束指向?yàn)棣菳,第n個(gè)天線陣元的激勵(lì)電流為In。
圖1 2N+1陣元線陣簡(jiǎn)圖
假定天線陣元方向圖fn(θ)是全向性的,即可在陣線天線波束掃描范圍內(nèi)忽略其影響,此時(shí)側(cè)射線性陣列天線方向圖函數(shù)可表示為[5]
令遠(yuǎn)場(chǎng)觀測(cè)角度θ=0°,則式(1)可簡(jiǎn)化為:
(2)
此時(shí)可以發(fā)現(xiàn)F(0)僅由In確定,對(duì)In進(jìn)行控制即可改變此方向上的陣列方向圖,即改變此方向上陣列天線的輻射強(qiáng)度。同理,當(dāng)陣列單元位置xn固定不變時(shí),遠(yuǎn)場(chǎng)方向θ上的方向圖函數(shù)F(θ)僅由In確定,即當(dāng)陣列單元位置和遠(yuǎn)場(chǎng)觀測(cè)角度確定時(shí),此方向上的電磁輻射強(qiáng)度由各個(gè)陣元的電流激勵(lì)決定,改變各個(gè)陣元的電流激勵(lì)幅度和相位即可改變陣列天線的方向圖。
遺傳算法是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過(guò)程形成的一種自適應(yīng)全局優(yōu)化概率搜索算法。它將待求解問(wèn)題的一個(gè)可行解視為一個(gè)個(gè)體并對(duì)其編碼,再由許多個(gè)個(gè)體組成一個(gè)群體。之后用這個(gè)群體模擬生物進(jìn)化的過(guò)程,群體經(jīng)過(guò)遺傳、交叉、變異產(chǎn)生新的個(gè)體,新的個(gè)體根據(jù)預(yù)定的目標(biāo)適應(yīng)度函數(shù)進(jìn)行適應(yīng)度的判斷。對(duì)個(gè)體進(jìn)行優(yōu)勝劣汰,以此模仿生物學(xué)中自然淘汰的進(jìn)化過(guò)程。群體經(jīng)過(guò)遺傳迭代,各個(gè)個(gè)體的適應(yīng)度不斷提高,這樣就實(shí)現(xiàn)了在可行解中的搜索。標(biāo)準(zhǔn)遺傳算法模型流程如圖2所示。
圖2 遺傳算法流程圖
遺傳算法都是基于一個(gè)或多個(gè)初始群體開(kāi)始計(jì)算的,初始群體一般被要求在解空間中均勻的分散分布,以便遺傳算法對(duì)解空間進(jìn)行全局搜索。群體大小規(guī)模也是使用遺傳算法解決實(shí)際問(wèn)題時(shí)必須考慮的問(wèn)題,群體規(guī)模根據(jù)問(wèn)題的復(fù)雜程度決定,越是復(fù)雜的問(wèn)題需要的初始群體規(guī)模越大,否則遺傳算法無(wú)法對(duì)解空間進(jìn)行充分搜索[6-7]。
對(duì)于初始群體中的個(gè)體則需要根據(jù)具體解決的問(wèn)題確定染色體的編碼長(zhǎng)度和編碼方式,合適的編碼長(zhǎng)度可以提高計(jì)算效率,減少計(jì)算資源的消耗;編碼方式則影響到算法復(fù)雜度與求解精度,編碼方式包括二進(jìn)制編碼,實(shí)數(shù)編碼等。
生物進(jìn)化過(guò)程中適應(yīng)度(fitness)表示了一個(gè)生物個(gè)體適應(yīng)環(huán)境的能力,也體現(xiàn)了這個(gè)個(gè)體繁育后代的能力。適應(yīng)度函數(shù)在遺傳算法中也被稱為評(píng)價(jià)函數(shù),是對(duì)群體中的個(gè)體進(jìn)行優(yōu)劣判斷的標(biāo)準(zhǔn),應(yīng)根據(jù)求解的問(wèn)題設(shè)計(jì)合適的適應(yīng)度函數(shù)。而且遺傳算法一般不依賴于其他外部信息,僅依靠適應(yīng)度函數(shù)計(jì)算出的適應(yīng)度值對(duì)個(gè)體進(jìn)行是否優(yōu)劣的判斷,適應(yīng)度值也是后續(xù)進(jìn)行遺傳操作時(shí)的重要依據(jù)。所以根據(jù)實(shí)際問(wèn)題設(shè)計(jì)出合理且適用的適應(yīng)度函數(shù)是在使用遺傳算法的過(guò)程中重要的一個(gè)設(shè)計(jì)步驟。一般適應(yīng)度函數(shù)的值要求取正值,在不少場(chǎng)合中,將目標(biāo)函數(shù)映射成求最大值形式且函數(shù)值非負(fù)的適應(yīng)度函數(shù)是必要的[8]。
在應(yīng)用遺傳算法進(jìn)行優(yōu)化計(jì)算時(shí),主要通過(guò)遺傳操作完成對(duì)自然界中遺傳變異現(xiàn)象的模擬仿真。遺傳操作將根據(jù)計(jì)算出的個(gè)體適應(yīng)度值對(duì)編碼產(chǎn)生的群體進(jìn)行處理,這樣就實(shí)現(xiàn)了對(duì)生物優(yōu)勝劣汰過(guò)程的模擬[9]。操作由3個(gè)遺傳算子(genetic operator)組成,分別是選擇(selection);交叉(crossover);變異(mutation)。
將適應(yīng)度更好的個(gè)體挑選保留下來(lái)并將適應(yīng)度差的個(gè)體剔除的操作叫做選擇。被選擇操作選擇出的個(gè)體將作為交叉操作的對(duì)象進(jìn)行下一步處理,部分優(yōu)秀個(gè)體也可通過(guò)選擇操作直接出現(xiàn)在下一代群體之中。被選擇的概率由個(gè)體適應(yīng)度值計(jì)算得到,因此在進(jìn)行選擇操作之前必須先行計(jì)算個(gè)體的適應(yīng)度值。
將兩兩配對(duì)的編碼個(gè)體的部分內(nèi)容進(jìn)行交換進(jìn)而重新組合形成新的個(gè)體編碼的處理叫做交叉。交叉操作作為起關(guān)鍵作用的處理步驟存在于遺傳算法之中,交叉操作的存在使遺傳算法的搜索能力得到了巨大的提升。最常用的交叉算子為單點(diǎn)交叉。交叉時(shí),在個(gè)體編碼串中隨機(jī)選擇一個(gè)位置作為交叉點(diǎn),將兩個(gè)被選中個(gè)體該位置前后的兩部分進(jìn)行分配組合形成新的兩個(gè)個(gè)體作為子代。下面給出一個(gè)單點(diǎn)交叉的簡(jiǎn)單例子:
個(gè)體A:
1011↑101→1011↑000新個(gè)體
個(gè)體B:
1010↑000→1010↑101新個(gè)體
對(duì)某些個(gè)體上的編碼值進(jìn)行改變的操作叫做變異。一般情況中,變異算子分兩步進(jìn)行:1)根據(jù)事先設(shè)定好的變異概率對(duì)群體中的個(gè)體進(jìn)行判斷是否需要進(jìn)行操作;2)若判定進(jìn)行變異操作,則對(duì)需要進(jìn)行變異操作的個(gè)體隨機(jī)選擇其一部分編碼結(jié)構(gòu)進(jìn)行改變。遺傳算法中,變異算子和交叉算子相互配合競(jìng)爭(zhēng)使算法同時(shí)具備全局和局部的搜索能力。
遺傳算法計(jì)算獲得的結(jié)果優(yōu)劣和上述3個(gè)遺傳算子所取的操作概率,個(gè)體編碼方法,群體規(guī)模大小,初始群體的建立以及適應(yīng)度函數(shù)的設(shè)定均密切相關(guān)。
遺傳算法作為一種啟發(fā)式搜索算法,對(duì)于陣列天線方向圖綜合這種目標(biāo)空間巨大且具有不可預(yù)測(cè)性的復(fù)雜優(yōu)化問(wèn)題有較高的搜索速率。
在標(biāo)準(zhǔn)遺傳算法模型的基礎(chǔ)上進(jìn)行改進(jìn)。
雖然實(shí)數(shù)編碼方式不需要進(jìn)行編碼解碼的過(guò)程節(jié)省了計(jì)算資源,但是其遺傳操作過(guò)程復(fù)雜,而且在工程實(shí)現(xiàn)中使用的數(shù)控幅相控制器一般也采用二進(jìn)制編碼進(jìn)行控制,仍需要將計(jì)算結(jié)果進(jìn)行量化使用[10]。因此,與采用二進(jìn)制編碼進(jìn)行計(jì)算相比雖然可以提高計(jì)算效率,但是對(duì)于需要進(jìn)行工程實(shí)現(xiàn)的問(wèn)題并不存在明顯優(yōu)勢(shì)。
在改進(jìn)算法中仍舊采用二進(jìn)制編碼作為編碼方式,用“0”和“1”編碼組成個(gè)體的遺傳基因型,其優(yōu)點(diǎn)在于編碼、解碼操作簡(jiǎn)單,交叉、變異等遺傳操易于實(shí)現(xiàn)。同時(shí)在遺傳算法中采用與實(shí)際需要使用的數(shù)控幅相控制器位數(shù)形同或略多的二進(jìn)制編碼,可以減小算法需要進(jìn)行搜索的空間,并且有利于后期的工程實(shí)現(xiàn)。
適應(yīng)度函數(shù)計(jì)算出的適應(yīng)度是遺傳算法中判斷個(gè)體優(yōu)劣程度的唯一標(biāo)準(zhǔn),一般在陣列天線方向圖綜合中為了實(shí)現(xiàn)對(duì)副瓣的抑制的目標(biāo),遺傳算法的適應(yīng)度函數(shù)被設(shè)計(jì)如下:
(3)
其中,MSLL為最大副瓣相對(duì)增益,SLVL為目標(biāo)副瓣相對(duì)增益,兩者采用歸一化dB值進(jìn)行表示。
為實(shí)現(xiàn)在對(duì)主瓣方向上的增益進(jìn)行控制的同時(shí)實(shí)現(xiàn)低的副瓣水平的目標(biāo),在將目標(biāo)函數(shù)映射為適應(yīng)度函數(shù)的過(guò)程中增加相關(guān)計(jì)算來(lái)達(dá)到目的,現(xiàn)將適應(yīng)度函數(shù)修改如下所示:
fit=a·|G-GT|+b·|MSLL-SLVL|
(4)
其中,G為主瓣相對(duì)增益,是將加權(quán)控制后的主瓣增益值與未進(jìn)行加權(quán)控制時(shí)的主瓣增益值進(jìn)行歸一化處理得到的dB值;GT為目標(biāo)主瓣相對(duì)增益,同樣為與未進(jìn)行加權(quán)控制時(shí)的主瓣增益值進(jìn)行歸一化處理得到的dB值。a,b為調(diào)整系數(shù)a,b∈[0,1]且a+b=1,選取不同的值可以實(shí)現(xiàn)對(duì)主瓣相對(duì)增益與副瓣相對(duì)增益在適應(yīng)度函數(shù)中貢獻(xiàn)度的調(diào)整,達(dá)到在保證主瓣增益值得到滿足的情況下對(duì)副瓣相對(duì)增益的抑制,經(jīng)試驗(yàn)此處取a=0.85,b=0.15。不過(guò)此時(shí)越接近目標(biāo)增益時(shí),fit函數(shù)值越接近于零,為了方便計(jì)算還需要對(duì)適應(yīng)度函數(shù)值進(jìn)行標(biāo)定。
(5)
重新標(biāo)定后的適應(yīng)度值f∈[0,1]。此時(shí),當(dāng)前最接近目標(biāo)相對(duì)增益的個(gè)體即最優(yōu)個(gè)體的適應(yīng)度值f=1,適應(yīng)度值最大;最差個(gè)體的適應(yīng)度值f=0,適應(yīng)度值最小。
在遺傳算法中通過(guò)交叉算子和變異算子產(chǎn)生與父代中不同的新個(gè)體,實(shí)現(xiàn)對(duì)可行解空間的搜索。因?yàn)榻徊婧妥儺惒僮魇且勒赵O(shè)定的概率隨機(jī)選擇進(jìn)行的,所以適應(yīng)度高的個(gè)體仍有可能在遺傳迭代的過(guò)程中丟失,即將優(yōu)秀個(gè)體意外淘汰。雖然這是在自然界生物遺傳進(jìn)化中正常發(fā)生的情況,但是對(duì)于尋優(yōu)算法優(yōu)秀個(gè)體的意外淘汰不利于算法的快速收斂,所以為了有效地防止最優(yōu)解丟失并加速算法的收斂在交叉、變異產(chǎn)生新的一代個(gè)體之后增加精英保留策略,精英保留策略如圖3所示。
圖3 精英保留策略
精英保留策略使得具有最優(yōu)適應(yīng)度值的個(gè)體得以保留,這種個(gè)體是搜索進(jìn)行到當(dāng)前為止最優(yōu)的個(gè)體。增加精英保留策略之后的遺傳算法在理論上已經(jīng)被證明具有全局收斂性[11]。
使用輪盤賭選擇法(roulette wheel selection)構(gòu)建選擇算子,這種方法最早由Holland提出,是遺傳算法中提出相對(duì)較早的一種選擇算子,因?yàn)樗?jiǎn)單實(shí)用,所以被廣泛采用。每個(gè)個(gè)體保留至下一代中的概率由其適應(yīng)度值大小所決定,若某個(gè)個(gè)體的適應(yīng)度為,群體大小為,則它被選擇的概率表示為:
Pi=fi/fsum
(6)
交叉操作與變異操作共同作為群體進(jìn)化的動(dòng)力源泉存在于遺傳算法之中。在算法中將對(duì)在同一代中的個(gè)體采用不重復(fù)交叉和不重復(fù)變異的策略。即在同一代進(jìn)化中,對(duì)父代的那些可能發(fā)生交叉又或者變異的個(gè)體,使其最多只能發(fā)生一次交叉或者變異,也就是讓同一個(gè)父代個(gè)體不能多次進(jìn)行交又和變異。這樣的操作提高了群體之中各種 優(yōu)秀基因的利用率,預(yù)防了算法過(guò)早地陷入局部最優(yōu)解。
對(duì)于遺傳算法計(jì)算過(guò)程的各項(xiàng)可調(diào)整參數(shù),如何確定進(jìn)行交叉操作的概率和進(jìn)行變異操作的概率的方法決定了算法的實(shí)現(xiàn)效果與算法的優(yōu)化性能,采用隨進(jìn)化代數(shù)而改變的交叉、變異概率可以提升算法的優(yōu)化效率。
對(duì)于交叉概率Pc而言在優(yōu)化計(jì)算的初始時(shí)期個(gè)體之間的差異比較明顯,調(diào)整交叉概率進(jìn)行更多的交叉操作有助于加快收斂;而在優(yōu)化迭代過(guò)程的中、后段,將進(jìn)行交叉操作的概率減小則可以有效地預(yù)防陷入局部最優(yōu)。所以,將其設(shè)置為隨進(jìn)化代數(shù)α的不斷增加而減小。Pc隨進(jìn)化代數(shù)α的關(guān)系為:
(7)
其中:Pc(0)為初始狀態(tài)交叉概率參數(shù),令Pc(0)=0.9;αmax為設(shè)置的最大進(jìn)化代數(shù);Pc,min=0.6為進(jìn)化后期最小交叉概率,令Pc,min=0.6。
對(duì)于交叉概率Pm而言,在進(jìn)化初期,染色體的差異一般較大,變異概率小有助于加快收斂;而在進(jìn)化的中后期,變異概率增大則有助于防止過(guò)早陷入局部最優(yōu)解。因變異概率本身不大,若像交叉概率一樣每一代都進(jìn)行改變,其每一代的變化并不明顯,故將變異概率Pm按進(jìn)化代數(shù)分為前中后3個(gè)階段,進(jìn)化前期令Pm=0.08,進(jìn)化中期令Pm=0.1,進(jìn)化后期令Pm=0.12。
改進(jìn)后的遺傳算法流程圖如圖4所示。
圖4 改進(jìn)后的遺傳算法流程圖
以陣元間隔的16陣元側(cè)射線性陣列天線為例進(jìn)行仿真實(shí)驗(yàn),以期望的主瓣相對(duì)增益和副瓣相對(duì)增益為優(yōu)化目標(biāo),采用改進(jìn)之后的遺傳算法對(duì)線性陣列天線各單元的激勵(lì)電流幅度進(jìn)行優(yōu)化。考慮到工程使用的實(shí)際需要,陣列天線激勵(lì)需要各個(gè)陣元激勵(lì)關(guān)于中心對(duì)稱,則優(yōu)化變量選擇陣列一端起的8個(gè)單元的饋電幅度即可,二進(jìn)制編碼長(zhǎng)度選擇10位,激勵(lì)電流最大衰減幅度31.5 dB。目標(biāo)主瓣相對(duì)增益設(shè)定為-1.5 dB,目標(biāo)副瓣相對(duì)增益設(shè)定為-35 dB。
群體大小設(shè)定為64,最大遺傳迭代次數(shù)設(shè)定為500。表1為改進(jìn)的遺傳算法計(jì)算得到的歸一化之后的激勵(lì)電流幅度值。
表1 16陣元?dú)w一化激勵(lì)電流幅度值
圖5分別是改進(jìn)遺傳算法優(yōu)化所得的線性陣列天線方向圖與等幅激勵(lì)情況和使用切比雪夫綜合方法得到具有相同主瓣相對(duì)增益的方向圖的對(duì)比。
圖5 16陣元方向圖對(duì)比
從圖5(a)可以看出目標(biāo)主瓣相對(duì)增益-1.5 dB基本達(dá)到,而從圖5(b)中可以發(fā)現(xiàn)副瓣情況相對(duì)于切比雪夫綜合算法更優(yōu),但是仍只有極少部分的副瓣達(dá)到了目標(biāo)副瓣相對(duì)增益設(shè)定的-35 dB。
通過(guò)對(duì)遺傳算法中適應(yīng)度函數(shù)的重新設(shè)計(jì),在線性陣列天線方向圖綜合中成功的在保持期望的主瓣相對(duì)電平的前提下,獲得了擁有低副瓣特性的陣列天線方向圖。令外通過(guò)增加精英保留策略,改進(jìn)交叉、變異概率,使遺傳算法具有更高的有效性。以陣元間隔的16陣元線性陣列天線為例進(jìn)行了陣列天線方向圖綜合的仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明相比于切比雪夫綜合算法在獲得同樣的主瓣相對(duì)增益時(shí)可以獲得更好的低副瓣效果。對(duì)于陣列天線方向圖綜合這類有著特殊要求的優(yōu)化問(wèn)題,智能優(yōu)化算法能夠提供有效的解決途徑,相比于傳統(tǒng)算法更加便捷有效,這類算法除遺傳算法外還包括模擬退火算法、蟻群算法、粒子群算法等。