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