摘 要:在電子裝備可靠性評估過程中,通過各類試驗所獲得的原始數(shù)據(jù)對裝備可靠性評估及可靠性設計具有重要意義,可靠性試驗數(shù)據(jù)處理的效果直接影響著可靠性班次估的準確性和有效性。這里介紹了可靠性試驗數(shù)據(jù)的處理方法以及MATLAB和Visual C++混合編程的幾種方法,并綜合考慮其優(yōu)缺點采用其中一種方法編程實現(xiàn)可靠性數(shù)據(jù)處理系統(tǒng),實現(xiàn)可靠性數(shù)據(jù)整理分析、數(shù)據(jù)處理的自動化,縮短數(shù)據(jù)處理周期,并舉例說明方法的有效性和可用性。
0 引言
隨著電子裝備的復雜程度越來越高,現(xiàn)代戰(zhàn)爭對裝備的可靠性的要求也愈來愈高,因此對可靠性試驗提出了更高的要求,而可靠性試驗數(shù)據(jù)是裝備可靠性*估、設計、研究的重要依據(jù)和有力支撐,數(shù)據(jù)分析則是一切可靠性工作的基礎,可靠性試驗數(shù)據(jù)的分析工作越來越顯示出其重要的價值和作用。在對系統(tǒng)可靠性分析時,必須對采集的大量原始數(shù)據(jù)進行預處理,用人工的方法完成這項任務既浪費時間,又容易出錯。MATLAB 軟件具有強大的數(shù)值計算環(huán)境和統(tǒng)計分析功能,而VC++又可以實現(xiàn)良好的人機交互界面,采用兩種軟件混合編程的方法,實現(xiàn)可靠性試驗數(shù)據(jù)處理既彌補了各自的缺點,又提高了試驗效率,是軟件編程的最佳選擇。
1 可靠性試驗原始數(shù)據(jù)處理理論
可靠性試驗原始數(shù)據(jù)處理理論參考文獻??煽啃栽囼炘紨?shù)據(jù)不能直接提供給研究人員做可靠性評估和分析,須針對試驗對象、試驗類型、信號類型的不同選取不同的數(shù)據(jù)處理標準,對于原始試驗數(shù)據(jù)的處理主要包括以下幾個方面:
1.1 特征參數(shù)提取
特征參數(shù)提取主要是對試驗中采集原始數(shù)據(jù)提取試驗對象在應力條件有明顯變化趨勢,用于可靠性評估的特征參數(shù)的提取,以文獻所述的某型雷達裝備20 kHZ 信號板為研究對象的可靠性為例,信號板最終輸出為一20 kHz 的正弦信號,所以其頻率、周期以及幅度(或峰峰值)均是可以反映該電路板是否完成規(guī)定功能和發(fā)生故障的重要指標參數(shù),因而對于該試驗原始數(shù)據(jù)處理的工作就是從中提取出信號頻率、幅度等參數(shù),整理成一定格式用于可靠性評估與分析。具體針對不同形式的試驗數(shù)據(jù)提取方法不盡相同,主要有以下幾方面:
1.1.1 非線性數(shù)據(jù)擬合法
曲線擬合的基本原理是:已知一組測定的數(shù)據(jù)(例如N個點( xi ,yi )求得自變量x 和因變量y 的一個近似解析表達式y(tǒng) =φ( x )。若記誤差δi=φ( xi )- yi , i =1,2,…, N ,則要使誤差的平方和最小,要求:
為最小,這就是常用的最小二乘法原理。
Matlab 中非線性數(shù)據(jù)擬合的函數(shù)有l(wèi)sqcurvefit,lsqnONlin, inline 三個函數(shù),以lsqcurvefit 為例,其調用格式為:x=lsqcurvefit(‘fun’,x0,xdata,ydata) 其中’fun’為擬合函數(shù)的M 函數(shù)文件名,x0 為初始向量,xdata,ydata 為參與曲線擬合的自變量和因變量試驗數(shù)據(jù)。其他兩個函數(shù)調用格式與其類似。非線性數(shù)據(jù)擬合法主要用于能夠用于簡單信號以及有具體參數(shù)函數(shù)模型的信號,如正弦波、三角波、方波等。
1.1.2 小波分析法
對于一些復雜信號沒有具體函數(shù)模型的信號就不能用非線性數(shù)據(jù)擬合法進行參數(shù)提取,如可靠性試驗中施加振動應力的試驗需要對振動信號進行分析并提取參數(shù),這類信號可采用小波分析法進行參數(shù)提取。
小波分析法處理數(shù)據(jù)主要包括兩方面:①小波降噪;②小波包能量距提取。
?。?)小波降噪原理
小波變換因其低熵性、去相關性等特點可以比較好地對信號進行降噪處理,小波降噪過程可分為3個步驟進行:①選擇一個小波, 并確定一個小波分解層次N,然后對信號進行N層小波分解;②對小波分解的高頻系數(shù)進行閾值量化, 從第1層到第N層的每一層高頻系數(shù)選擇一個閾值進行閾值量化處理;③根據(jù)小波分解的第N層的低頻系數(shù)和經(jīng)過量化處理后的第1層到第N層的高頻系數(shù),進行信號的重構。
?。?)基于小波包的特征參數(shù)提取
基于小波包分析法提取參數(shù)的步驟是:
①對信號進行小波降噪處理,提取有用信號;②對經(jīng)過降噪處理的信號采用合理的小波進行某尺度分解,得到不同頻帶的分解系數(shù);③分別對不同頻帶的分解系數(shù)進行信號重構,得到一組新的時間序列;④對重構信號進行希爾伯特變換求其包絡,并對包絡進行小波降噪處理;⑤分別對不同頻帶的信號求其包絡譜,并計算各自包絡譜的能量,以能量為元素構造信號的特征向量。
包絡譜能量:
式(2)中ik x (i=1,2;k=1,2,…,n)表示重構信號包絡譜的離散點幅值。當能量較大時,E i 通常是一個較大的數(shù)值,可對其進行歸一化處理,,令即:
將T= 【e 1,e 2 …… ei】 作為特征向量。
1.2 繪制可靠性數(shù)據(jù)頻率分布
首先將原始數(shù)據(jù)以大小來分組,按散步在各組的數(shù)據(jù)個數(shù)作成分布圖,這種圖形稱作頻率分布圖。對于隨機分布的數(shù)據(jù),用統(tǒng)計頻數(shù)條形圖可以形象地進行描述。
把系統(tǒng)可靠性數(shù)據(jù)讀入MATLAB 的工作空間,便可繪制可靠性數(shù)據(jù)頻數(shù)分布圖。MATLAB 統(tǒng)計工具箱提供的hiST函數(shù),用于作分布圖的MATLAB 命令,其命令格式如下:
HIST(data,k)其中,data 為原始數(shù)據(jù);k 為所分小區(qū)間數(shù)。
1.3 參數(shù)估計
根據(jù)繪制出的分布圖的形狀,假設可靠性數(shù)據(jù)服從某一分布,一般情況可靠性數(shù)據(jù)服從負指數(shù)分布。指數(shù)分布可以通過命令expfit 進行參數(shù)估計,該命令用其極大似然法給出了常用的概率分布參數(shù)的點估計和區(qū)域估計值,命令格式如下:
[muhat,muci]=expfit(data),
式中,muhat 為參數(shù)μ 的估計值;muci 為參數(shù)μ 的估計置信區(qū)間。正態(tài)分布可以通過命令normfit 進行參數(shù)估計,該命令用極大似然法給出了常用的概率分布參數(shù)的點估計和區(qū)域估計值,命令格式如下:
[muhat,sigmahat,muci,sigmaci]=normfit(data),
式中,muhat 為參數(shù)μ 的估計值;muci 為參數(shù)μ 的估計的置信區(qū)間;sigmahat 為參數(shù)σ 置信區(qū)間。
2 方案設計與具體實現(xiàn)
針對可靠性試驗中試驗對象、試驗類型的不同,選擇的能反映試驗對象發(fā)生故障的特征量參數(shù)也不盡相同。采用上述兩種方法對進行處理,用戶根據(jù)原始試驗數(shù)據(jù)類型的不同,選擇不同的方法由軟件對其進行處理,并通過處理得到其相關參數(shù)。
2.1 方案選擇
方案初步定為采用MATLAB 實現(xiàn)數(shù)據(jù)處理,人機交互界面的設計則用VC完成,主要解決的問題是VC和MATLAB接口實現(xiàn)。將MATLAB 與VC 混合編程有如下四種方法:
?、僬{用MATLAB 引擎。該方法的優(yōu)點是能支持所有的MATLAB 函數(shù),缺點是混合編程后的可執(zhí)行程序脫離不了MATLAB 的運行環(huán)境;
?、诶肕ATLAB 自帶的mcc 編譯器;
?、劾肕atcom 編譯。用Matcom 進行轉換非常簡單、方便,生成的代碼可讀性很好,且在C 編譯器編譯后其代碼的執(zhí)行效率高。但是這種方法也不能支持所有MATLAB 工具箱函數(shù);
?、芾肕ATLAB COMBuilder。MATLAB 提供的COM生成器(COMBuilder),為實現(xiàn)MATLAB 獨立應用程序增加了又一個新途徑。
在比較幾種方法優(yōu)缺點的基礎上,確定采用第①種方法實現(xiàn)可靠性試驗原始數(shù)據(jù)的處理。
2.2 MATLAB 實現(xiàn)具體功能
以某型雷達20 kHZ 信號板為試驗對象在溫度應力下進行加速壽命試驗,示波器采集的數(shù)據(jù)是以excel 文件,調用Matlab 軟件可以對起進行非線性擬合處理,以下是實現(xiàn)特征參數(shù)提取的源代碼:
sampt=xlsread('F:2-1','B3:B1002');%讀入采樣時間
v=xlsread('F: output195','B2:AS1001');%讀入采集數(shù)據(jù)
for i=1:11 smv(:,i)=smooth(v(:,i)); end %對數(shù)據(jù)平滑處理
F=@(x,xdata)x(1)*sin(x(2)*xdata+x(3))+x(4)),'x','xdata';
xdata=sampt;
for j=1:44
ydata=v(:,j); x0=[9 1*10^5 0 0];%初始分量
x=lsqcurvefit(F,x0,xdata,ydata);
amp(j)=x(1);fre(j)=x(2)/(2*pi); inip(j)=x(3); inic(j)=x(4);
end
xlswrite('F:處理結果amplitude.xls',amp,'B2:AS2')%將幅度參數(shù)寫入Excel 文件里
xlswrite('F:處理結果amplitude.xls',amp,'B2:AS2')%將幅度參數(shù)寫入Excel 文件里2.3 MATLAB 與VC++混合編程實現(xiàn):
如前述,結合VC++與MATLAB 的各自優(yōu)缺點,采用調用MATLAB 引擎的VC++與MATLAB 的混合編程[6-7]的方法實現(xiàn)對可靠性試驗原始數(shù)據(jù)的參數(shù)提取。VC++調用MATLAB引擎[3-4]的步驟如下:
如圖1 所示數(shù)據(jù)處理結果與原始數(shù)據(jù)波形對比圖。
圖1 數(shù)據(jù)擬合結果與原始數(shù)據(jù)對比圖
3 結語
采用了調用MATLAB 引擎的方法與VC++混合編程方法實現(xiàn)可靠性試驗原始數(shù)據(jù)的參數(shù)提取和擬合運算、繪制直方圖等處理。這種方法不僅實現(xiàn)了VC 的可視化界面與MATLAB 強大的數(shù)值分析與圖形顯示能力的有效結合,不僅提高了可靠性試驗數(shù)據(jù)處理的效率,還有效節(jié)省了系統(tǒng)資源,縮短了軟件開發(fā)周期。