中船重工安譜(湖北)儀器有限公司 鄭學(xué)書 鄭 舟 陳 君
在現(xiàn)代分析儀器中,一種最常見的系統(tǒng)工作模式就是由采集系統(tǒng)采集模擬信號,然后通過AD轉(zhuǎn)換轉(zhuǎn)化成可供計算機分析使用的數(shù)字信號進(jìn)行計算分析。在離子遷移譜技術(shù)中就廣泛使用了此類技術(shù),離子電離和遷移之后形成連續(xù)的電信號,以曲線圖譜的形式呈獻(xiàn)給計算機系統(tǒng)。通過分析離子遷移譜的譜峰位置反推離子遷移的時間,進(jìn)而確定物質(zhì)類別。
在離子遷移譜譜峰識別中,通常會遇到基線浮動、噪聲干擾、峰形重疊等復(fù)雜情況,這給峰值查找和識別帶來了不小的挑戰(zhàn),閾值法通常需要設(shè)計合理的閾值,但是實際應(yīng)用中針對基線浮動的情況很難設(shè)計動態(tài)的閾值;基于導(dǎo)數(shù)的峰值查找算法往往容易受到峰形噪聲的干擾,特征峰甚至在求導(dǎo)之后可能被放大的噪聲掩蓋;小波變換和傅立葉變換雖然能夠在放大特診峰的同時弱化噪聲,但是計算復(fù)雜度較高,需要較高的計算成本。
在閾值法中,直接根據(jù)原始圖譜相對設(shè)定閾值的大小進(jìn)行判斷,從左往右逐個值掃描,如果某個值大于設(shè)定閾值,則判定為峰起點,往右掃描過程中如果某個值小于設(shè)定閾值,則判定為峰終點,然后在起點和終點之間選擇值最大的位置作為峰的最高點。這種方式無法獲取峰的拐點信息,同時峰的起點和終點直接與設(shè)定的閾值相關(guān),如果閾值設(shè)定過高,則會漏判,如果閾值設(shè)定過低,則會誤判。
一階導(dǎo)數(shù)法是一種最直觀的峰形識別算法,當(dāng)原始圖譜一階導(dǎo)數(shù)為正且增大至設(shè)定閾值時,判定為峰的起點,當(dāng)圖譜一階導(dǎo)數(shù)從正變?yōu)樨?fù),判定為峰的頂點,當(dāng)圖譜的一階導(dǎo)數(shù)為負(fù),且逐步增大至絕對值小于設(shè)定閾值,判定為峰終點。
二階導(dǎo)數(shù)法相比一階導(dǎo)數(shù)法靈敏度更高,同時能夠處理基線浮動的情況。但是二階導(dǎo)數(shù)由于經(jīng)歷了兩次求導(dǎo)過程,對曲線上的細(xì)微噪聲進(jìn)行了多次放大,導(dǎo)致二階導(dǎo)數(shù)上的噪聲和毛刺較為嚴(yán)重,這對于特征峰的識別較為不利。圖1是一個典型的導(dǎo)數(shù)法譜峰識別示意圖。
傅立葉變換揭示了時域與頻域之間內(nèi)在的聯(lián)系,反映了“整個”時間范圍內(nèi)信號的“全部”頻譜成分,是研究連續(xù)信號不可缺少的工具。由于離子遷移技術(shù)中的譜峰通常只會在某個特定的頻段內(nèi)出現(xiàn),因而可以將整個信號從高頻的噪聲信號中提取出來進(jìn)行分析,但是傅立葉變換存在一個明顯的缺點,即無法反映非平穩(wěn)信號在局部區(qū)域的頻域特征及其對應(yīng)關(guān)系。
圖1 導(dǎo)數(shù)法譜峰識別
小波變換的興起,得益于其對信號的時域和頻域局域分析能力及其對一維有界函數(shù)的最優(yōu)逼近性能,也得益于多分辨率分析概念。小波變換的核心思想來源于拉伸和平移。相對導(dǎo)數(shù)法和閾值法,小波變換和傅立葉變換一樣具有較高的計算復(fù)雜度,在某些特定的使用場景中具有一定的局限性。
在設(shè)計譜峰查找算法之前,需要對離子遷移譜技術(shù)中常見的峰形進(jìn)行分析,以便準(zhǔn)確的把握特征峰的形態(tài)特性,針對性的進(jìn)行算法設(shè)計。通過觀察發(fā)現(xiàn),特征譜峰一般以四種峰形為主,分別是獨立峰、駝型重疊峰、左肩型重疊峰和右肩型重疊峰。對于獨立峰,在峰的整個曲線段內(nèi)不與任何其他峰重疊,由峰的形狀決定整段曲線的形狀;對于另外三種重疊峰,都是由于相鄰兩個峰的某一部分重疊造成的,重疊段的曲線是多個峰共同疊加的結(jié)果。圖2分別給出了四種常見峰形的示意圖。
對于獨立峰,判定峰起點、峰拐點、峰終點以及峰頂點都較為容易,而對于重疊峰,根據(jù)重疊區(qū)域的不同,往往很難確定這些具體參數(shù)。而且,根據(jù)離子遷移譜技術(shù)的理論原理,峰面積與被檢測物質(zhì)濃度之間存在對應(yīng)關(guān)系,在一些定量的檢測儀器中需要根據(jù)峰面積對物質(zhì)濃度進(jìn)行計算,這就對重疊峰的識別提出了實際的需求。綜合圖2所示的四種峰形,整理獲得如下特征點特性:
(1)峰起點:一個峰的起點需滿足該位置往后一段區(qū)間的一階導(dǎo)數(shù)呈現(xiàn)從0上升的趨勢
(2)左拐點:左拐點所在位置及鄰近位置處的一階導(dǎo)數(shù)從上升趨勢變?yōu)橄陆第厔荩矣覀?cè)一段區(qū)間的一階導(dǎo)數(shù)值大于0;
(3)峰頂點:峰頂點所在位置應(yīng)呈現(xiàn)一階導(dǎo)數(shù)從0下降的趨勢;
(4)左肩峰頂點:如果在找到峰左拐點之后向后查找,發(fā)現(xiàn)某位置一階導(dǎo)數(shù)從0上升,則表明此處是一個左肩峰;
(5)右拐點:右拐點所在位置附近的一階導(dǎo)數(shù)從下降趨勢表位上升趨勢,且右側(cè)鄰近區(qū)間的一階導(dǎo)數(shù)值小于0;
(6)峰終點:若是駝型重疊峰之間的谷點,峰終點處的原始曲線需從下降趨勢變?yōu)樯仙厔荨H羰欠邱勑椭丿B峰的峰終點,要同時滿足兩個條件:臨近區(qū)間內(nèi)原始曲線不再下降;同時一階導(dǎo)數(shù)逐漸上升;
(7)右肩峰頂點:如果在找到右拐點之后向后查找,發(fā)現(xiàn)某位置一階導(dǎo)數(shù)從上升趨勢變?yōu)橄陆第厔?,且最左?cè)鄰近區(qū)間的一階導(dǎo)數(shù)小于0,則表明下一個相鄰的峰是右肩峰。
圖2 四種圖譜峰形
圖3 滑動窗口示意圖
圖4 判定上升趨勢的判定過程
基于滑動窗口的譜峰識別算法的基本原理是基于曲線段的模式匹配,當(dāng)處于滑動窗口的曲線段滿足匹配模式,即可將當(dāng)前檢測點判定為峰形的某個特征點。從上述分析可知,匹配模式同時利用了原始圖譜和一階導(dǎo)數(shù)的曲線變化特征。圖3給出了識別獨立峰的峰起點、左拐點、峰頂點、右拐點以及峰終點的滑動窗口示意圖。
綜合分析算法實現(xiàn)原理,算法核心是判斷滑動窗口內(nèi)的曲線變化模式,具體實現(xiàn)中通過calTrend()函數(shù)判斷滑動窗口內(nèi)的曲線段變化趨勢。為了最大化的放大曲線段變化趨勢,弱化抖動和噪聲誤差,calTrend()使用累加趨勢法進(jìn)行判斷。此處以判定上升趨勢為例進(jìn)行說明,初始設(shè)定累加基數(shù)B=0,累加趨勢值P=0,從滑動窗口內(nèi)的data[0]開始,若data[i]<=data[i+1],則B=B+1,P=P+B,若data[i]>data[i+1],則置B=0;如此重復(fù)直至到達(dá)窗口結(jié)束。如果累加趨勢值P大于設(shè)定閾值,則判定為曲線具有上升趨勢。圖4是一個判定上升趨勢的判定過程示意圖。
圖4中,計算的最終上升趨勢值為P=18,在窗口長度為10的情況下,一般設(shè)定判定閾值為14,因此可以判定該窗口內(nèi)的數(shù)據(jù)呈現(xiàn)上升趨勢??梢园l(fā)現(xiàn),對于連續(xù)的上升過程,累加基數(shù)不斷被放大,因此連續(xù)上升的過程越長對最終的上升趨勢值P影響越大,這是連續(xù)上升趨勢被放大的體現(xiàn),相反的,對于偶爾的噪聲和抖動,例如上圖中兩個5之間的數(shù)值3,計算過程中僅將B歸0而不影響P的值,這是噪聲和抖動被弱化的提現(xiàn)。通過這種方式,可以實現(xiàn)對滑動窗口內(nèi)曲線段的趨勢判斷,進(jìn)而實現(xiàn)譜峰識別。
算法設(shè)置之后使用C語言進(jìn)行了實現(xiàn),在某離子遷移譜項目中進(jìn)行了調(diào)用,根據(jù)實際情況,設(shè)定窗口長度為10,趨勢判斷閾值為14進(jìn)行了測試。測試結(jié)果表明,算法能夠在絕大多數(shù)情況下正確識別出圖譜的譜峰,且計算復(fù)雜度較低,對運行環(huán)境的要求相對寬松,在實際項目開發(fā)過程中能夠直接進(jìn)行調(diào)用和參數(shù)設(shè)定,具有良好的擴展性和移植性。
與此同時,測試發(fā)現(xiàn)該算法也存在一定的缺陷,例如對于三種類型的重疊峰,在重疊面積較大的情況下算法可能產(chǎn)生漏判,后續(xù)可以通過增加曲線擬合等方式對譜峰識別結(jié)果進(jìn)行二次篩選。
[1]王曉榮,程明霄.譜峰識別的計算機設(shè)計與實現(xiàn)[J].南京工業(yè)大學(xué)學(xué)報(自科版),2001,23(5).
[2]趙欣洋.離子遷移譜圖的譜峰識別系統(tǒng)的設(shè)計與實現(xiàn)[D].大連理工大學(xué),2016.
[3]汪魯才,陳超華,王桃,等.水質(zhì)檢測中色譜譜峰尋峰算法的設(shè)計與實現(xiàn)[J].計算機工程與應(yīng)用,2017, 53(11).
[4]劉銘暉,董作人,辛國鋒,等.基于Voigt函數(shù)擬合的拉曼光譜譜峰判別方法[J].中國激光,2017(5).
[5]陳新華,姚璉,李安林,等.離子遷移譜的智能識別法及應(yīng)用于易制毒化學(xué)品稽查[J].計算機與應(yīng)用化學(xué), 2007, 24(9).
[6]蔣顏瑋,趙將,邵晟宇,等.離子遷移譜檢測儀信號處理方法研究[J].測試技術(shù)學(xué)報,2013,27(6).
[7]周鵬,張文斌,王軍星,等.基于高斯擬合的光纖型SPR信號的峰值檢測算法[J].光譜學(xué)與光譜分析,2016.