林勇
(安徽廣播影視職業(yè)技術(shù)學(xué)院信息工程系,安徽合肥230011)
基于最小值點極化的連續(xù)背景光譜校正算法
林勇
(安徽廣播影視職業(yè)技術(shù)學(xué)院信息工程系,安徽合肥230011)
為有效去除原始光譜信號中的連續(xù)背景光譜,提出了一種基于最小值極化的連續(xù)背景光譜校正算法,并利用LabVIEW和C語言混合編程,編寫了軟件仿真.利用等離子體發(fā)射光譜對軟件測試的結(jié)果表明:該軟件能夠有效的選取最小值點,并基于最小值點準確評估背景光譜強度.經(jīng)校正后的光譜強度略有降低,但各譜線形狀和相對強度不受影響.
最小值極化;連續(xù)背景;混合編程;光譜
激光誘導(dǎo)擊穿光譜技術(shù)是使高能量密度的激光脈沖與樣品相互作用,將物質(zhì)氣化形成等離子體,并采集等離子體發(fā)射光譜,用于樣品的定性和定量分析.但在等離子體產(chǎn)生初期,由于存在黑體輻射、韌致輻射及復(fù)合輻射等,發(fā)射光譜中往往伴有連續(xù)背景光譜,通過設(shè)置采集延時和積分時間,可在很大程度上降低背景干擾,提高信噪比的目的[1],但并不能完全消除.連續(xù)背景光譜的存在,會對有用離散特征譜線造成嚴重干擾,影響特征譜線的識別和定量分析結(jié)果.因此,連續(xù)背景光譜的準確提取和校正,對于改善光譜質(zhì)量和提高定量分析精度具有非常重要的作用[2].
為實現(xiàn)連續(xù)背景光譜的校正,Gornushkin等提出了一種基于多項式擬合的連續(xù)背景光譜校正方法[3],對于簡單和復(fù)雜光譜,該方法均能在一定程度上扣除連續(xù)背景噪聲,但對于復(fù)雜光譜,存在明顯高估連續(xù)背景噪聲的現(xiàn)象.在最近20年間,又陸續(xù)出現(xiàn)了很多新的連續(xù)背景光譜校正方法,如卷積、微分、人工神經(jīng)網(wǎng)絡(luò)、遺傳算法和小波變換等[4-7],但這些方法都有特定的適用條件,沒有獲得廣泛的應(yīng)用.由于連續(xù)背景光譜隨波長的變化較為緩慢,因此線狀光譜峰值處的背景光譜強度通??赏ㄟ^線狀光譜兩端的背景噪聲強度進行估計,并基于評估結(jié)果實現(xiàn)背景光譜的校正,即離峰兩點法.離峰兩點法的背景點選擇過程是:觀察譜線形狀和強度,并結(jié)合經(jīng)驗選擇背景點.這種方法存在很多人為因素,且背景點不唯一.如果實驗條件發(fā)生改變,還需要重新選擇背景點,背景估計和校正過程繁重.
本文根據(jù)連續(xù)背景光譜的研究現(xiàn)狀,結(jié)合已有的校正方法,提出了一種基于最小點極化的連續(xù)背景光譜校正算法,利用LabVIEW和C語言混合編程編寫了相關(guān)軟件,并利用光譜數(shù)據(jù)對該算法的有效性進行了實驗驗證.
設(shè)光譜上共有m個極小點,按波長從小到大對所有的極小點進行編號,從左到右依次為1,2,…,j,…,m,從而構(gòu)成一個極小值點的集合.定義兩個相鄰極小值點的變化率為
其中j是極小值的編號,△Ij為相鄰兩個極小值間的變化率,Ij是與波長λj相對應(yīng)的光譜強度.
圖1 最小值點極化的流程圖
基于最小值點極化的連續(xù)背景光譜校正算法流程如圖1所示,運行步驟如下:
a)定義一個m行3列的二位數(shù)組A,并令aj,i=0;
b)讀入光譜數(shù)據(jù),并尋找光譜數(shù)據(jù)的最小值點,構(gòu)成最小值點數(shù)組;
c)根據(jù)連續(xù)背景上相鄰點之間的變化率設(shè)定相鄰兩極小值點變化率的閾值σ,并將第一個光強極小值點位于的光強I1和波長λ1賦值給a1,2和a1,3;
d)根據(jù)公式(1)按波長從小到大方向循環(huán)(正向循環(huán)),計算兩個相鄰極小值點的變化率,若△Ij<σ,即兩相鄰極小值點的變化率小于背景點上兩相鄰點的最大變化率,則將Ij+1、λj+1賦值給aj+1,2和aj+1,3;若△Ij>σ,則定義aj+1=1,并將Ij+1、λj+1賦值給aj+1,2和aj+1,3;
e)第一次正向循環(huán)結(jié)束后,若aj,1=1,則將數(shù)組中的第j行從數(shù)組中刪除,數(shù)組長度m=m-1,并將Ij+1和λj+1從極小值點集合中刪除,否則保留該行數(shù)據(jù);
f)重復(fù)循環(huán)步驟(d)和(e),直至二維數(shù)組A第一列的值均為零,假設(shè)此時的數(shù)組長度為n;
g)定義一個n行3列的二位數(shù)組B,同樣將數(shù)組中的所有值均為0,將In和λn賦值給bn,2和bn,3;
h)按照波長從大到小的方向循環(huán)(反向循環(huán)),同樣:若△Ij<σ,則將Ij-1、λj-1賦值給bj-1,2和bj-1,3;若△Ij<σ,則定義bj-1,1=1,并將Ij-1、λj-1賦值給bj-1,2和bj-1,3;
i)第一次反向循環(huán)結(jié)束后,若bj,1=1,則將數(shù)組中的第j行從數(shù)組中刪除,數(shù)組長度n=n-1,并將Ij-1和λj-1從極小值點集合中刪除,否則保留該行數(shù)據(jù);
j)反復(fù)循環(huán)步驟(h)和(i),直至二維數(shù)組B第一列的值均為零,并結(jié)束循環(huán).
相對于其它計算機語言,C語言具有簡潔緊湊、靈活方便,數(shù)據(jù)類型和運算符豐富等優(yōu)點[8].Lab-VIEW的特點在于其強大的圖形環(huán)境,采用可視化的圖形編程語言和平臺,在計算機屏幕上建立圖形化的軟面板來替代常規(guī)的傳統(tǒng)儀器面板[9].為建立簡潔、實用、友好的軟件界面,最小值點極化的連續(xù)背景光譜校正算法的計算機語言實現(xiàn)過程中,我們采用LabVIEW與C語言混合編程的方法,其中最小值點極化過程通過C語言實現(xiàn),而軟件界面通過LabVIEW編寫.
2.1 尋找最小值點的動態(tài)鏈接庫
基于C語言的動態(tài)鏈接庫的建立過程如下[8]:
a)在“項目類型”中選擇Win32,在“Visaul Studio已安裝的模板”選項內(nèi)選擇Win32控制臺應(yīng)用程序,并將項目名稱命名為Backgroundcutting;
b)在“應(yīng)用程序設(shè)置”中將“應(yīng)用程序類型”選擇為DLL(D),完成;此處使用的是非MFC的DLL,即不用MFC的類庫結(jié)構(gòu),而直接用C語言寫的DLL,其輸出的函數(shù)一般用的是標準C接口,并能被非MFC或MFC編寫的應(yīng)用程序所調(diào)用;
c)在Backgroundcutting.cpp內(nèi)輸入主函數(shù)的源文件:
主函數(shù)代碼;
其中wavelength[]和intensity[]用于存儲光譜數(shù)據(jù)的波長和強度,minimal_wave[]和minimal_inten[]用于存儲光譜數(shù)據(jù)數(shù)據(jù)中最小值點的波長和強度;
d)生成解決方案.
2.2 LabVIEW調(diào)用DLL的過程
創(chuàng)建一個LabVIEW的vi,從函數(shù)>>互連接口>>庫與可執(zhí)行程序>>調(diào)用庫函數(shù)節(jié)點[9].雙擊調(diào)用庫函數(shù)節(jié)點,彈出并配置對話框.第一個選項卡是"函數(shù)",根據(jù)DLL所在位置選擇庫名或路徑,并選擇相應(yīng)的函數(shù)名;線程和調(diào)用規(guī)范分別選擇"Run in UI thread"和C(編程時使用的是C,不是windowsAPI).第二個選項卡是"參數(shù)":在返回類型中添加函數(shù)參數(shù),并為其設(shè)定名稱、類型、數(shù)據(jù)類型,并將最后一項通過設(shè)定為數(shù)值,為其余參數(shù)設(shè)定相應(yīng)參數(shù),并點擊確定.
至此,利用LabVIEW完成C語言動態(tài)鏈接庫的調(diào)用.
2.3 程序界面
利用LabVIEW和C語言編程的界面如圖2所示,其中用紅色虛線框標出的是調(diào)用C語言動態(tài)鏈接庫的函數(shù)節(jié)點.可以看出,整個程序非常簡練,具有很強的可讀性.在評估連續(xù)背景光譜時,程序使用了插值函數(shù),可根據(jù)不同需要選擇線性、樣條插值、Cubic Hermite或拉格朗日等不同的插值方式.
圖2 LabVIEW的編程界面
圖3 是最小值極化的連續(xù)背景光譜校正算法軟件與操作者的交互界面.交互界面主要分為三個部分:第一部分是程序標題,在交互界面中用藍色字體顯示;第二部分是顯示圖標,用于顯示連續(xù)背景光譜校正前后的光譜圖,并可通過對比兩光譜圖,初步判斷連續(xù)背景校正的效果;第三部分為參數(shù)設(shè)置部分,其中左半部分用于選擇待校正光譜和校正后光譜的輸出位置,右半部分用于設(shè)置插值函數(shù)的類型,并可以選擇想要處理的光譜長度.
圖3 軟件與操作者的交互界面
圖4給出了原始光譜與連續(xù)背景光譜的對比圖,為了能夠清楚的顯示原始光譜與連續(xù)背景光譜的對比關(guān)系,圖中僅截取并繪制了803nm至807nm間的一段光譜.在連續(xù)背景光譜評估的過程中,我們使用的是線性插值.從結(jié)果可以看出,利用最小值極化的連續(xù)背景光譜校正算法,可以根據(jù)設(shè)定的閾值,準確的從原始光譜中選擇出變化率小于閾值的極小值點,并去除變化率大于閾值的最小值點.
圖4 原始光譜與連續(xù)背景光譜的對比
圖5 是經(jīng)過連續(xù)背景校正后,803nm至807nm波長范圍內(nèi)的光譜強度.可以看出,經(jīng)連續(xù)背景校正后,光譜的最小值點均歸于零點.對比圖4和圖5不難看出,光譜校正前后,雖然光譜強度發(fā)生了變化,但各譜線形狀及光譜間的相對強度并不受影響.由此可知,基于最小值極化的連續(xù)背景光譜校正算法,可以有效的從原始光譜扣除背景噪聲.
圖5 連續(xù)背景校正后的光譜
根據(jù)極化算法的基本原理和最小值極化流程,基于C語言對算法進行了實現(xiàn),并創(chuàng)建了動態(tài)鏈接庫.利用LavVIEW調(diào)用動態(tài)鏈接庫,設(shè)計了連續(xù)背景光譜校正軟件,并用等離子體發(fā)射光譜對軟件性能進程了檢驗.從結(jié)果可以看出,利用給予C語言編寫的最小值極化程序,能夠準確的從原始光譜中選擇出變化率小于閾值的極小值點,并去除變化率大于閾值的最小值點.原始光譜經(jīng)連續(xù)背景光譜校正后,光譜強度得到了有效校正,但各譜線形狀及光譜間的相對強度并不受影響.下一步我們將利用不同樣品的光譜進一步檢驗軟件性能,并根據(jù)對軟件進行相應(yīng)的改進,增強其適用性.
[1]B.Sallé,P.Mauchien,S.Maurice.Laser-Induced Breakdown Spectroscopy in Open-Path Configuration for the Analysis of Distant Objects[J].Spectrochim Acta B,2007,62(8):739-768.
[2]V.Lazic,F(xiàn).Colao,R.Fantoni,et al.Underwater Sediment Analyses by Laser Induced Breakdown Spectroscopy and Calibration Procedure for Fluctuating Plasma Parameters[J].Spectrochim Acta B,2007,62(1):30-39.
[3]I.B.Gornushkin,P.E.Eagan,A.B.Novikov,et al.Automatic Correction of Continuum Background in Laser-Induced Breakdown and Raman Spectrometry[J].Appl.Spectrosc,2003,57(2):197-207.
[4]P.Taylor,P.Schutyser.Description of a Computer Program for Quantitative Spectral Analysis of ICP-AES Spectra Generated with a High Resolution Computer-Controlled Monochromator[J].Spectrochim Acta B,1986,41(1-2):81-103.
[5]J.Yang,Z.Piao,X.Zeng.Improvement of Selectivity with Numerical Derivative Techniques in Inductively Coupled Plasma Atomic E-mission Spectrometry[J].Spectrochim Acta B,1991,46(6-7):953-965.
[6]C.SCHIERLE,M.OTTO.Comparison of a Neural Network with Multiple Linear Regression for Quantitative Analysis in ICP-Atomic E-mission Spectroscopy[J].Fresenius J.Anal.Chem.,1992,344(4-5):190-194.
[7]R.P.Paradkar,R.R.Williams.Genetic Regression as a Calibration Technique for Solid-Phase Extraction of Dithizone-Metal Chelates[J].Appl.Spectrosc.,1996,50(6):753-758.
[8]Peter Van Der Linden.C專家編程[M].北京:人民郵電出版社,2008.
[9]鄭樹元.精通LabVIEW虛擬儀器程序設(shè)計[M].北京:清華大學(xué)出版社,2012.
Algorithm of Continuous Background Correction Based on Polarized Minimum Spectrum
LIN Yong
(Department of Information Engineering,Anhui Broadcasting Movie and Television College,Hefei,230011,China)
In order to remove continuous background from original signal,a new method based on polarized minimum spectrum is proposed.Using mixed programming of LabVIEW and C language,the software is written.The testing results of software with plasma emission spectrum indicate that,the minimum points can be selected effectively,and intensity of continuous background is evaluated accurately.The intensity of spectrum after correction is lower than that of original spectrum,but the correction process does not influence spectral shape and relative intensity.
polarized minimum spectrum;continuous background;mixed programming;spectrum
TP311.1
A
1672-2590(2016)03-0067-06
2016-03-27
林勇(1981-),男,安徽廣德人,安徽廣播影視職業(yè)技術(shù)學(xué)院信息工程系講師.