王立娜,宋春麗,王文錦,顧利帥,趙巍侖
(中國(guó)船舶重工集團(tuán)公司第七一八研究所河北邯鄲056027)
可調(diào)諧二極管激光吸收光譜(Tunable Diode Laser Absorption Spectroscopy,TDLAS)技術(shù)是目前氣體檢測(cè)領(lǐng)域的主流技術(shù)之一,其利用二極管激光器的波長(zhǎng)掃描和電流調(diào)諧特性對(duì)氣體濃度進(jìn)行測(cè)量[1-4]。基于該技術(shù)構(gòu)建的氣體檢測(cè)系統(tǒng)具有精度高、可靠性好、反應(yīng)速度快和抗干擾能力強(qiáng)等優(yōu)點(diǎn),適用于惡劣條件下的大氣環(huán)境監(jiān)測(cè)、工業(yè)過程控制和污染源排放檢測(cè)等多領(lǐng)域[5-8]。氣體檢測(cè)系統(tǒng)基于TDLAS技術(shù)與波長(zhǎng)調(diào)制光譜(Wavelength Modulation Spectroscopy,WMS)技術(shù),通過數(shù)字鎖相方式去除噪聲,提取二次諧波信號(hào),對(duì)其進(jìn)行峰值檢測(cè),并反演為對(duì)應(yīng)濃度信息。
可編程邏輯器件FPGA,采用硬件描述語(yǔ)言實(shí)現(xiàn)功能設(shè)計(jì),通用性好,靈活性高;獨(dú)有的“并行”特性及其快速數(shù)據(jù)處理性能,使得采用FPGA進(jìn)行復(fù)雜的數(shù)據(jù)運(yùn)算時(shí),實(shí)時(shí)性和準(zhǔn)確性高;在系統(tǒng)集成中硬件測(cè)試和實(shí)現(xiàn)快捷,具有較高的開發(fā)效率和較好的工作可靠性,諸多優(yōu)勢(shì)使得FPGA日漸成為現(xiàn)代電子設(shè)計(jì)自動(dòng)化(EDA,Electronic Design Automation)技術(shù)硬件實(shí)現(xiàn)上的主流器件之一[9-10]。Matlab作為一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言,也已成為EDA技術(shù)實(shí)現(xiàn)過程中不可或缺的輔助工具之一。本文介紹了FPGA結(jié)合Matlab實(shí)現(xiàn)的濃度反演算法設(shè)計(jì)過程,通過系統(tǒng)運(yùn)行測(cè)試,可完成待測(cè)氣體濃度的精確反演。
TDLAS氣體檢測(cè)系統(tǒng)是基于TDLAS技術(shù)和WMS技術(shù)[11~13]搭建而成,系統(tǒng)框圖如圖1所示。

圖1 TDLAS氣體檢測(cè)系統(tǒng)框圖
圖1中,用于激光器電流驅(qū)動(dòng)的WMS調(diào)制信號(hào)包括低頻鋸齒波和高頻正弦波。鋸齒波用于激光器的波長(zhǎng)調(diào)諧,實(shí)現(xiàn)波長(zhǎng)掃描通過氣體吸收線,避免了激光器中心波長(zhǎng)抖動(dòng)給系統(tǒng)測(cè)量準(zhǔn)確性帶來(lái)的影響;正弦波用于激光器的高頻調(diào)制,根據(jù)比爾-朗伯吸收定律[14-15],調(diào)制光經(jīng)過氣體吸收后產(chǎn)生攜帶濃度信息的二次諧波信號(hào),且二次諧波峰值與濃度有近線性的對(duì)應(yīng)關(guān)系[16-17]。系統(tǒng)選用FPGA產(chǎn)生正弦調(diào)制信號(hào),根據(jù)信號(hào)相關(guān)性,采用正交數(shù)字鎖相方式提取二次諧波,保障測(cè)量不受系統(tǒng)漂移特性帶來(lái)的影響,穩(wěn)定性好。采用最小二乘擬合方法,完成濃度信息的反演。
濃度反演過程由FPGA結(jié)合Matlab共同完成,利用Matlab將測(cè)量數(shù)據(jù)進(jìn)行最小二乘擬合,獲得擬合參數(shù)。由于FPGA只能以位操作,進(jìn)行整數(shù)運(yùn)算,所以需要對(duì)參數(shù)進(jìn)行N位放大,各參數(shù)對(duì)應(yīng)的N值不同,需要在Matlab下進(jìn)行FPGA內(nèi)部運(yùn)算過程的計(jì)算仿真,經(jīng)過多次更改計(jì)算,獲得最佳N值,以便在FPGA進(jìn)行濃度反演時(shí)的運(yùn)算誤差最小。
最小二乘法多項(xiàng)式擬合,從幾何意義上講,就是尋求與給定點(diǎn){(Xi,Yi)}(i=0,1,2…m)的距離平方和為最小的曲線y=p(x),曲線采取多項(xiàng)式方程的形式。也就是尋找與數(shù)據(jù)點(diǎn)分布規(guī)律近似度相對(duì)最高的曲線,而不要求曲線通過每個(gè)給定點(diǎn)。TDLAS氣體檢測(cè)系統(tǒng)中,檢測(cè)到的二次諧波峰值與氣體濃度一一對(duì)應(yīng),根據(jù)有限實(shí)測(cè)點(diǎn),采用最小二乘法找到兩者的對(duì)應(yīng)關(guān)系曲線。
擬合數(shù)據(jù)通過TDLAS系統(tǒng)運(yùn)行中通入一氧化碳(CO)標(biāo)準(zhǔn)氣測(cè)試獲取,擬合采用MatlabR2013b軟件中已加載的曲線擬合工具(Curve Fitting Tool,CFT)實(shí)現(xiàn),CFT對(duì)話框如圖2所示,包括4部分,分別為載入數(shù)據(jù)區(qū)、曲線類型及參數(shù)選擇區(qū)、擬合方程模型及擬合度參數(shù)區(qū)和擬合曲線區(qū)。將二次諧波峰值數(shù)據(jù)Xdata和標(biāo)準(zhǔn)氣濃度數(shù)據(jù)Ydata載入CFT,選擇擬合曲線類型為多項(xiàng)式polynomial,多項(xiàng)式的階數(shù)可根據(jù)擬合曲線圖上的數(shù)據(jù)偏離程度進(jìn)行選定,或是根據(jù)擬合參數(shù)R-square大小來(lái)確定,越接近1擬合程度越好,但也要考慮FPGA在濃度反演實(shí)現(xiàn)上的復(fù)雜度。綜合比較,選定階數(shù)為2,參數(shù)R-square為1,擬合度高,且易于在FPGA上實(shí)現(xiàn)。擬合曲線關(guān)系如圖3所示。

圖2 曲線擬合工具對(duì)話框

圖3 擬合曲線圖
圖2中擬合曲線區(qū)的點(diǎn)1至點(diǎn)5由高純氮?dú)猓∟2)和濃度分別為9.9 ppm、31.0 ppm、51.2 ppm和503.2 ppm的一氧化碳(CO)標(biāo)準(zhǔn)氣經(jīng)TDLAS系統(tǒng)檢測(cè)獲得,對(duì)應(yīng)數(shù)據(jù)為Xdata[3 728 25 632 85 284 142606 1 619 001]和Ydata[80 990 3 100 5 120 50 320],其中Ydata是濃度數(shù)據(jù)保留小數(shù)點(diǎn)后兩位對(duì)應(yīng)到整數(shù)表示。在CFT對(duì)話框中做好數(shù)據(jù)載入和曲線相關(guān)參數(shù)選擇,獲得的擬合方程模型為Poly2,其方程式為:

式中,p1、p2和p3為各項(xiàng)系數(shù),這里對(duì)應(yīng)的系數(shù)值為-3.36e-09、0.036 52和-2.592。待擬合數(shù)據(jù)的調(diào)整,會(huì)直接反應(yīng)到各項(xiàng)系數(shù)的改變。
用CFT做曲線擬合,易于操作,直觀性好,可即時(shí)觀察到曲線擬合的數(shù)據(jù)偏離程度,根據(jù)需要進(jìn)行數(shù)據(jù)或曲線的相應(yīng)調(diào)整。
式1中的各項(xiàng)系數(shù)均為非整數(shù)值,在FPGA內(nèi)是無(wú)法應(yīng)用的,需要進(jìn)行取整處理。部分系數(shù)要作適當(dāng)放大,才可進(jìn)行取整參與運(yùn)算。FPGA內(nèi)部對(duì)位(bit)操作,在作系數(shù)放大時(shí)放大倍數(shù)選擇2N方式,其中N為bit位數(shù)。N值的不同選擇及整數(shù)操作舍入誤差的存在,都對(duì)濃度反演結(jié)果的準(zhǔn)確性有不同程度的影響。這里采用運(yùn)算仿真,模擬FPGA內(nèi)部的運(yùn)算過程,按照最小誤差原則,實(shí)現(xiàn)N值選取和誤差控制。Matlab腳本文件部分語(yǔ)句截圖如圖4所示。

圖4 Matlab腳本文件截圖
圖4中,系數(shù)p1放大 237,p2放大 217,p3不作放大直接取整。通過仿真運(yùn)算,得到的FPGA運(yùn)算模擬和CFT擬合之間的結(jié)果誤差較小,滿足要求,F(xiàn)PGA在進(jìn)行運(yùn)算設(shè)計(jì)時(shí)可直接采用圖4中的各參數(shù)數(shù)值。Matlab下打開結(jié)果矩陣數(shù)據(jù)表,各數(shù)據(jù)列分別為二次諧波峰值、FPGA運(yùn)算模擬濃度值、CFT擬合濃度值和誤差。表格部分截圖如圖5所示。
FPGA選用的是Xilinx公司Spartan-6系列的Lx75芯片,擁有豐富的硬件設(shè)計(jì)資源,充足的邏輯單元、DSP核和存儲(chǔ)器資源等,能夠完全滿足設(shè)計(jì)中大量數(shù)據(jù)運(yùn)算的要求。FPGA設(shè)計(jì)平臺(tái)是Xilinx公司的ISE14.5,硬件描述語(yǔ)言使用VHDL。
在Matlab下已經(jīng)完成曲線擬合和算法仿真,獲得的相關(guān)設(shè)計(jì)參數(shù)可直接應(yīng)用于FPGA設(shè)計(jì)。由式(1)可知,擬合方程只有加法和乘法運(yùn)算,由于二次項(xiàng)較一次項(xiàng)在運(yùn)算上存在時(shí)間差,需要作延時(shí)處理。為了便于把握延時(shí)大小,加法器和乘法器均采用IP核設(shè)計(jì),設(shè)定好參數(shù)后,運(yùn)算耗時(shí)自動(dòng)給出,在濃度反演模塊搭建中加入延時(shí)處理即可。濃度反演模塊經(jīng)綜合后的RTL(Register TransportLevel)結(jié)構(gòu)圖如圖6所示。

圖5 結(jié)果矩陣數(shù)據(jù)表截圖

圖6 濃度反演模塊RTL結(jié)構(gòu)圖
由圖6,輸入datain為25位二次諧波峰值數(shù)據(jù),輸出concdata_out為16位濃度數(shù)據(jù),數(shù)據(jù)位數(shù)根據(jù)系統(tǒng)需求確定。圖7為該模塊的內(nèi)部設(shè)計(jì)RTL結(jié)構(gòu)圖。
圖7中,bus_shift_5為延時(shí)模塊,保證二次項(xiàng)和一次項(xiàng)在做加法時(shí)的時(shí)序同步,以獲得正確的運(yùn)算結(jié)果。限于FPGA只能對(duì)整數(shù)進(jìn)行操作,部分?jǐn)M合參數(shù)在Matlab里已執(zhí)行放大取整處理,應(yīng)用于FPGA內(nèi)部運(yùn)算后,為實(shí)現(xiàn)正確的濃度反演,需要在設(shè)計(jì)上對(duì)擬合參數(shù)進(jìn)行還原,這里采用對(duì)部分相關(guān)運(yùn)算結(jié)果作低N位舍棄處理。
算法在FPGA開發(fā)環(huán)境ISE14.5下設(shè)計(jì)完成,能否按預(yù)期實(shí)現(xiàn)氣體濃度的反演需要在TDLAS系統(tǒng)下進(jìn)行驗(yàn)證。采用動(dòng)態(tài)配氣系統(tǒng)對(duì)樣氣和載氣進(jìn)行配比,以獲得部分不同濃度的待測(cè)氣體,其中樣氣采用503.2 ppm一氧化碳(CO)標(biāo)準(zhǔn)氣,流量為0~100 ml/min,載氣采用高純氮?dú)猓∟2),流量為0~1 000 ml/min。待測(cè)氣體以500 ml/min流量通入TDLAS檢測(cè)系統(tǒng),由FPGA主板運(yùn)行程序,獲得對(duì)應(yīng)的二次諧波峰值數(shù)據(jù)和反演后的濃度值,數(shù)據(jù)監(jiān)測(cè)使用ISE14.5內(nèi)置示波器 ChipScope Pro Analyzer(ChipScope)完成。各組數(shù)據(jù)對(duì)照如表1所示。

圖7 模塊內(nèi)部設(shè)計(jì)RTL結(jié)構(gòu)圖

表1 數(shù)據(jù)對(duì)照表
由表1,測(cè)量誤差小,各測(cè)點(diǎn)測(cè)量濃度值和原始濃度值吻合度超過99.9%,反演算法正確,完全能夠滿足系統(tǒng)設(shè)計(jì)要求,做到濃度信息的精確獲取。
TDLAS氣體檢測(cè)系統(tǒng)采用高頻正弦信號(hào)調(diào)諧激光波長(zhǎng),經(jīng)氣體吸收后產(chǎn)生攜帶濃度信息的二次諧波信號(hào),為提取濃度信息,本文進(jìn)行了濃度反演算法的設(shè)計(jì),實(shí)現(xiàn)二次諧波峰值數(shù)據(jù)到系統(tǒng)參數(shù)濃度數(shù)據(jù)的映射,并基于一氧化碳檢測(cè)系統(tǒng)進(jìn)行了算法的驗(yàn)證,可實(shí)現(xiàn)待測(cè)氣體濃度的精確反演。
設(shè)計(jì)中利用Matlab進(jìn)行前期的曲線擬合和FPGA內(nèi)部運(yùn)算的模擬,便于分析系統(tǒng)數(shù)據(jù)的變化規(guī)律和保證FPGA內(nèi)部算法的正確實(shí)現(xiàn),從而保障系統(tǒng)可靠運(yùn)行,該方法可應(yīng)用于多領(lǐng)域的產(chǎn)品研制和系統(tǒng)綜合測(cè)試所需要進(jìn)行的前期數(shù)據(jù)分析和誤差控制等。
參考文獻(xiàn):
[1]張可可,劉世萱,陳世哲,等.基于TDLAS的二氧化碳濃度檢測(cè)系統(tǒng)及壓強(qiáng)補(bǔ)償研究[J].儀表技術(shù)與傳感器,2016(1):53-54.
[2]房思超,劉昱峰,王彪.用于激光TDLAS檢測(cè)系統(tǒng)的模塊化驅(qū)動(dòng)單元電路設(shè)計(jì)[J].激光檢測(cè)與應(yīng)用,2016,37(5):52-53.
[3]程萬(wàn)前,王彪.用于TDLAS激光氣體檢測(cè)的程控信號(hào)發(fā)生器的研制[J].激光雜志,2014,35(7):77-78.
[4]鮑偉義,朱永,陳俊,等.可調(diào)諧激光二極管吸收光譜系統(tǒng)信號(hào)分析及譜線畸變校正技術(shù)研究[J].光譜學(xué)與光譜分析,2011,31(4):1015-1016.
[5]劉立富,張涵,溫作樂,等.基于TDLAS技術(shù)的激光氧分析儀在線標(biāo)定方法研究[J].分析儀器,2017(1):55-56.
[6]伍昂,吳尚謙,蔡彥,等.剩余振幅調(diào)制對(duì)波長(zhǎng)調(diào)制光譜信號(hào)線型的影響[J].激光技術(shù),2012,36(3):357-358.
[7]王雪梅,劉石.基于TDLAS技術(shù)的CO2濃度測(cè)量[J].化工自動(dòng)化及儀表,2016,43(11):1158-1159.
[8]張可可,齊勇,付曉,等.基于TDLAS一次諧波的甲烷濃度檢測(cè)系統(tǒng)及其溫度補(bǔ)償研究[J].山東科學(xué),2014 ,27(1):17-18.
[9]潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程——VHDL版[M].4版.北京:科學(xué)出版社,2010.
[10]徐秀敏,張玉鈞,何瑩,等.基于FPGA可調(diào)諧半導(dǎo)體激光氣體檢測(cè)電路設(shè)計(jì)及應(yīng)用[J].光電工程,2014,41(10):82-83.
[11]范松濤,周燕,張強(qiáng),等.基于FPGA的數(shù)字鎖相放大器在氣體探測(cè)中的應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制,2012,20(11):3027-3028.
[12]劉立富,張涵,溫作樂,等.基于TDLAS技術(shù)在垃圾焚燒中HCL的在線監(jiān)測(cè)應(yīng)用[J].激光與光電子學(xué)進(jìn)展,2015,52(110101):2-3.
[13]潘虎,王廣宇,宋俊玲,等.免標(biāo)定波長(zhǎng)調(diào)制光譜在氣體溫度和濃度測(cè)量中的應(yīng)用[J].紅外與激光工程,2014,43(3):957-958.
[14]張志榮,夏滑,董鳳忠,等.利用可調(diào)諧半導(dǎo)體激光吸收光譜法同時(shí)在線監(jiān)測(cè)多組分氣體濃度[J].光學(xué)精密工程,2013,21(11):2772-2773.
[15]束小文,張玉鈞,闞瑞峰,等.基于TDLAS技術(shù)的HCL氣體在線探測(cè)溫度補(bǔ)償方法研究[J].光譜學(xué)與光譜分析,2010,30(5):1352-1353.
[16]劉昱峰,王彪,楊凱,等.TDLAS檢測(cè)技術(shù)氣體吸收過程的仿真研究[J].激光檢測(cè)系統(tǒng)與應(yīng)用,2017,38(3):38-39.
[17]楊柯,張龍,吳曉松,等.基于TDLAS技術(shù)的卷煙煙氣CH4含量檢測(cè)系統(tǒng)[J].光譜學(xué)與光譜分析,2015,35(12):3311-3312.