王鵬 蘆浩 劉金枝 薛茜男 金志威
摘? 要: 大氣中子是航空高度下造成航空器機載電子系統翻轉故障的主要輻射源。面對航空單粒子效應與航空高度影響關系,該文提出一種基于協同進化的單粒子翻轉故障生成方法。生成的故障數據用于模擬實際中子通量隨高度變化的規律,為機載電子設備單粒子效應加固和防護實驗提供數據支持,同時也可以用于分析航空機組人員飛行期間所接收的中子輻射劑量。驗證結果表明,該單粒子翻轉故障生成方法生成故障數據與真實高度變化下單粒子失效特征吻合,能夠滿足器件航空單粒子效應加固測試的需求。
關鍵詞: 協同進化; 航空高度; 翻轉故障; 單粒子效應; 中子通量; 故障生成方法
中圖分類號: TN383+.3?34; V240.2? ? ? ? ? ? ? ? 文獻標識碼: A? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)16?0112?05
0? 引? 言
隨著航空器機載電子系統半導體集成度不斷提高,器件的特征尺寸越來越小,單粒子效應會越來越嚴重,逐漸成為影響航空器可靠性和壽命的重要因素之一[1?3]。在北緯30° 30 000英尺高度飛行時,航空器機載電子系統中應用的特征尺寸為0.13 μm的100萬門FPGA器件發生單粒子翻轉率為1.85×10-2次/天·器件,相當于8×105 FIT,遠遠無法滿足航空器所需的可靠性與安全性要求[4]。單粒子效應對航空器的威脅已經引起了FAA(美國聯邦航空管理局)、EASA(歐洲航空安全局)和航空工業方的廣泛重視。
目前對于單粒子效應的研究手段主要有飛行搭載實驗研究[5?6]、地面實驗裝置模擬研究[7?8]和故障注入研究[9?11]。飛行搭載實驗具有研究結果直觀、針對性強等優點,但其費用高、周期長;地面實驗裝置模擬具有輻射源選取靈活的優點,但是各種客觀因素的限制條件較多;采用故障注入的方法進行單粒子效應的測試研究是一種高效且低成本的方式,可以彌補上述方法的不足[12]。
根據研究表明,在航空高度和地面層大氣中的單粒子效應主要是由質子和上層大氣分子互相碰撞產生的次級中子所引發的[13];在航空高度,次級宇宙射線輻射的中子成分貢獻了對機組人員約一半的劑量當量[14]。如何真實模擬航空飛行高度下器件所遭受的中子單粒子效應,成為航空單粒子效應防護實驗首要解決的問題。對于單粒子效應的故障注入測試,大多數實驗采用逐位翻轉的方式,雖然這種方式能夠測試所有的待測存儲位,但是并不能較好地模擬實際航空環境中的故障狀況,因而需要提出一種有效的試驗方法模擬實際可能發生的故障。本文針對航空高度中子通量的數據變化特征,根據實際航線高度軌跡,進行故障數據算法研究。生成的模擬故障數據符合實際的中子通量隨高度變化的規律,能夠滿足故障注入單粒子效應研究的輸入需求,使輸入的數據更接近真實的動態特征,為機載電子設備單粒子效應加固和防護實驗提供數據支持。同時模擬得出的數據能夠為航空機組人員所受的大氣層宇宙射線劑量的研究提供支撐。
1? 航空高度單粒子效應高度模型
單粒子效應是由輻射粒子直接或者間接引起的,航空高度下的輻射源主要是中子,其余有質子、π介子、電子和光子,這些次級粒子是具有高能量的初級輻射粒子與大氣中的氮、氧原子碰撞而產生的。這些粒子具有較大的能量,如大氣中子的最高能量可達到1 000 MeV以上[14],而這些高能量的粒子可能會使航空器機載電子設備產生故障。機載電子設備單粒子效應發生頻次正比于大氣中子通量(n/cm2·h)與單粒子效應截面(cm2)的乘積。
民用航空器短航線的飛行高度一般在20 000~32 000英尺之間,長航線的飛行高度則是在26 000~42 000英尺之間,一些公務機的飛行高度可以達到50 000英尺。軍用航空器的飛行高度在民用航空器之上,第三代戰斗機的升限在55 000~65 000英尺,偵察機的升限會更高。考慮到軍用和民用航空器的飛行高度,需要對這個飛行高度范圍內的中子通量進行分析與計算,能夠在不同高度下隨機產生在容限范圍內的中子通量值,進而更加有效地測評航空高度下的單粒子翻轉率。中子通量與大氣深度密切相關,在海平面上50 000~65 000英尺高度(大氣深度為55~125 g/cm2)達到極大值。當大氣深度超過150 g/cm2時,中子總通量隨深度變化呈指數衰減[14]。綜合考慮兩方面因素,選取80 000英尺作為研究高度。通過對文獻[15]中子通量數據的研究,進行了算法處理,生成了高度與大氣中子通量的關系圖。圖1為0~80 000英尺范圍內高度和大氣中子通量的關系[15]。
本文依據之前的分析,在0~80 000英尺的航空高度范圍之間進行模擬,以500英尺為節點依次取值,每個高度對應生成1 000個中子通量值,最后生成的模擬數值可以用矩陣的形式表示。
[J=J1J2?JN=μ0+σ1,1μ0+σ1,2…μ0+σ1,Sμ1+σ2,1μ1+σ2,2…μ1+σ2,S????μN+σN,1μN+σN,2…μN+σN,S] (1)
式中:[J1]表示某一高度;N=160表示高度個數;S=1 000表示在這一高度下對應生成的故障數據數量;μ表示每一高度下對應的理論值;σi,j為某個高度下的第j個故障數據的誤差值。
所需的故障注入數據,在同一高度下均值是一致的,需要求解出誤差值對數據進行處理,從而生成故障注入數組。
對于故障注入數據進行驗證時,需要盡可能保證生成的故障數據覆蓋到實際可能產生的各種數值,即保證故障數據的健壯性。對于每一個高度,均會生成1 000個故障數據,這1 000個數據需服從一定的正態分布;同時每一組數據也應該服從一定的分布,從而確保模擬產生的故障數據能夠覆蓋到實際可能收到的中子通量值。
2? 航空高度單粒子翻轉故障生成算法流程
要生成如上160×1 000的故障數據矩陣,如果采用常規的遺傳算法,常規的思路是將該矩陣轉換為一個一維矩陣,然后將其作為一個個體經過一系列的選擇、交叉、變異等算子從而生成符合約束條件的數據,其算法流程為:
1) 初始化種群;
2) 計算適應度;
3) 選擇、交叉、變異;
4) 重組種群;
5) 如果終止條件未達到,返回步驟2)。
但是采用這種方式,即使采用實數編碼方式,每個個體的維度都將高達160 000,導致算法執行過程中產生巨大的運算量,解空間變大,算法的耗時將會很長,算法的效率低下。
上述方法中每一個個體都是待解問題的一個候選解,通過初始化生成大量的個體組成種群,并模仿生物學中的選擇、交叉、變異等過程來產生一個最優解。
針對航空高度單粒子效應模擬的問題,對應的高度數據已經確定,相應的各個高度下的數據之間有著非常緊密的關系,每個高度下對應生成的故障數據需要服從正態分布;同時為了保證每組數據總體分布的有效性,其也需要滿足相應的分布。因此,本文基于協同進化理論提出航空高度單粒子翻轉故障生成方法。
首先生成一組航空高度數據矩陣,作為單粒子翻轉故障數據生成的基準,然后通過擬合生成的大氣中子通量與高度曲線模型,對應提取出在1 h內該航空高度下每平方厘米遭受到中子輻射的理論值。依據高度約束條件進行故障數據種群初始化,在算法運算過程中不使用變異算子,從而使對于高度的約束條件在整個運算過程中始終成立。進行適應度的計算,對160個高度下的故障數據組進行分類,對不符合約束條件的一類應用交叉算子,之后在計算適應度并進行交叉算子,直到所有個體均符合約束條件,從而生成符合約束條件的單粒子翻轉故障數據。本文中的單粒子效應故障生成均以單位面積計算。主要算法流程如下:
1) 基于高度分布的初始化;
2) 選擇;
3) 離散重組;
4) 如果有不符合約束條件的數據組,返回步驟2),否則進入下一步;
5) 故障數據隨機化。
2.1? 種群初始化
對于高度的編碼采用實數編碼,將高度數據[0,80 000]分成160個區間,通過區間的最大值來代表所處區間,如表1所示。在初始化種群時,首先生成滿足高度需求的160×1的高度序列,利用中子通量和高度的關系,確定目標高度下中子通量的理論值;之后生成翻轉故障值時均以這個高度所對應的理論值為基準值;最后進行適應度計算,從而更真實地模擬航空器在對應高度下可能受到的中子通量大小。中子能量理論值如表2所示。
2.2? 中子通量數值分布
為了使生成的數據具有多樣性,且能夠對可能存在的中子通量值進行充分的驗證,所以需要確保每個高度下生成的中子通量值滿足正態分布。將數據誤差分為5個區間,每個高度的誤差序列(σi,1,σi,2,…,σi,s)所屬的區間分布需服從一定的正態分布[N′1],N1~N(0,100)。由于Li∈[-100,100],所以需去掉N1中超出邊界的部分,所以各區間的分布數量:
[F1(i)=Φ1(40i-100)-Φ1(40i-140)Φ1(100)-Φ1(-100)·S]? ?(2)
式中,[Φ1(x)]為N1的概率分布函數。通過式(2)計算出各區間的分布數,并為其增加一個±10的容差,各區間的分布如表3所示。
2.3? 中子通量數據選擇
選擇算子以適應度為標準,將N個高度分成兩類:符合高度約束條件的一類(Lf)和不符合高度約束條件(Lp)的一類。適應度的計算以單個高度數據為單位。每個高度數據的適應度的評價標準為中子通量值滿足正態分布。適應度分類流程圖如圖2所示。首先判斷每個高度下的數據是否符合約束條件,以此為標準將160個高度分成兩類。之后按照誤差區間的不同,將1 000組數據依次分為5類,并統計各類的個數。判斷各區間內的數量是否多于期望值,若多于期望值,將其歸為不符合約束的類別。
2.4? 離散重組
選擇算子將N個高度故障數據分成了兩類:Lf和Lp,重組算子只作用于Lp。其作用是生成新的Lp′,使Lp′中的故障數據個數逐漸減少,使盡可能多的故障數據滿足約束條件。重組算子就是將Lp′逐行隨機重新排序,即離散重組。采用多點交叉的方式既能夠較大程度地改變原有的Lp,又可以最大程度上滿足約束條件。
3? 實驗結果與分析
基于本文協同進化的航空高度單粒子翻轉故障生成算法,可以生成160×1 000故障數據矩陣。以其中30 000英尺高度為例,分析其生成的1 000個故障數據為是否滿足約束條件。通過對1 000個故障數據進行分析處理,每個數據都代表該高度下每小時發生翻轉的次數,可以得到其正態分布圖如圖3所示。
從圖3可以看出生成的故障數據基本符合約束要求。在30 000英尺高度平均每小時中子通量為1 368.207 n/cm2·h,與標準數據對比的標準偏差為10.274 3,說明了該算法生成的故障數據能夠很好地滿足需求,符合所需要的目標要求。
4? 實際航線的單粒子故障生成算法驗證
為了驗證基于協同進化的航空高度單粒子效應故障數據生成的有效性。本文選擇了一條目前在飛的從洛杉磯飛往華盛頓的航線,整段航線時長達4 h 25 min,包括滑行、起飛、爬升、巡航、下降、著陸等全程的飛行軌跡。飛行軌跡航線圖[16]見圖4。
航線關鍵數據[17]見表4。飛機從07:01:00離開停機位,滑行時間為13 min,之后開始起飛、爬升,至07:43:50,飛機爬升至35 000英尺的巡航高度;在巡航高度飛機飛行3 h 23 min后開始下降,11:31:25飛機著陸完成航行。