王立娜,宋春麗,王文錦,顧利帥,趙巍侖
(中國船舶重工集團公司第七一八研究所河北邯鄲056027)
可調(diào)諧二極管激光吸收光譜(Tunable Diode Laser Absorption Spectroscopy,TDLAS)技術是目前氣體檢測領域的主流技術之一,其利用二極管激光器的波長掃描和電流調(diào)諧特性對氣體濃度進行測量[1-4]。基于該技術構建的氣體檢測系統(tǒng)具有精度高、可靠性好、反應速度快和抗干擾能力強等優(yōu)點,適用于惡劣條件下的大氣環(huán)境監(jiān)測、工業(yè)過程控制和污染源排放檢測等多領域[5-8]。氣體檢測系統(tǒng)基于TDLAS技術與波長調(diào)制光譜(Wavelength Modulation Spectroscopy,WMS)技術,通過數(shù)字鎖相方式去除噪聲,提取二次諧波信號,對其進行峰值檢測,并反演為對應濃度信息。
可編程邏輯器件FPGA,采用硬件描述語言實現(xiàn)功能設計,通用性好,靈活性高;獨有的“并行”特性及其快速數(shù)據(jù)處理性能,使得采用FPGA進行復雜的數(shù)據(jù)運算時,實時性和準確性高;在系統(tǒng)集成中硬件測試和實現(xiàn)快捷,具有較高的開發(fā)效率和較好的工作可靠性,諸多優(yōu)勢使得FPGA日漸成為現(xiàn)代電子設計自動化(EDA,Electronic Design Automation)技術硬件實現(xiàn)上的主流器件之一[9-10]。Matlab作為一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術計算語言,也已成為EDA技術實現(xiàn)過程中不可或缺的輔助工具之一。本文介紹了FPGA結合Matlab實現(xiàn)的濃度反演算法設計過程,通過系統(tǒng)運行測試,可完成待測氣體濃度的精確反演。
TDLAS氣體檢測系統(tǒng)是基于TDLAS技術和WMS技術[11~13]搭建而成,系統(tǒng)框圖如圖1所示。
圖1 TDLAS氣體檢測系統(tǒng)框圖
圖1中,用于激光器電流驅(qū)動的WMS調(diào)制信號包括低頻鋸齒波和高頻正弦波。鋸齒波用于激光器的波長調(diào)諧,實現(xiàn)波長掃描通過氣體吸收線,避免了激光器中心波長抖動給系統(tǒng)測量準確性帶來的影響;正弦波用于激光器的高頻調(diào)制,根據(jù)比爾-朗伯吸收定律[14-15],調(diào)制光經(jīng)過氣體吸收后產(chǎn)生攜帶濃度信息的二次諧波信號,且二次諧波峰值與濃度有近線性的對應關系[16-17]。系統(tǒng)選用FPGA產(chǎn)生正弦調(diào)制信號,根據(jù)信號相關性,采用正交數(shù)字鎖相方式提取二次諧波,保障測量不受系統(tǒng)漂移特性帶來的影響,穩(wěn)定性好。采用最小二乘擬合方法,完成濃度信息的反演。
濃度反演過程由FPGA結合Matlab共同完成,利用Matlab將測量數(shù)據(jù)進行最小二乘擬合,獲得擬合參數(shù)。由于FPGA只能以位操作,進行整數(shù)運算,所以需要對參數(shù)進行N位放大,各參數(shù)對應的N值不同,需要在Matlab下進行FPGA內(nèi)部運算過程的計算仿真,經(jīng)過多次更改計算,獲得最佳N值,以便在FPGA進行濃度反演時的運算誤差最小。
最小二乘法多項式擬合,從幾何意義上講,就是尋求與給定點{(Xi,Yi)}(i=0,1,2…m)的距離平方和為最小的曲線y=p(x),曲線采取多項式方程的形式。也就是尋找與數(shù)據(jù)點分布規(guī)律近似度相對最高的曲線,而不要求曲線通過每個給定點。TDLAS氣體檢測系統(tǒng)中,檢測到的二次諧波峰值與氣體濃度一一對應,根據(jù)有限實測點,采用最小二乘法找到兩者的對應關系曲線。
擬合數(shù)據(jù)通過TDLAS系統(tǒng)運行中通入一氧化碳(CO)標準氣測試獲取,擬合采用MatlabR2013b軟件中已加載的曲線擬合工具(Curve Fitting Tool,CFT)實現(xiàn),CFT對話框如圖2所示,包括4部分,分別為載入數(shù)據(jù)區(qū)、曲線類型及參數(shù)選擇區(qū)、擬合方程模型及擬合度參數(shù)區(qū)和擬合曲線區(qū)。將二次諧波峰值數(shù)據(jù)Xdata和標準氣濃度數(shù)據(jù)Ydata載入CFT,選擇擬合曲線類型為多項式polynomial,多項式的階數(shù)可根據(jù)擬合曲線圖上的數(shù)據(jù)偏離程度進行選定,或是根據(jù)擬合參數(shù)R-square大小來確定,越接近1擬合程度越好,但也要考慮FPGA在濃度反演實現(xiàn)上的復雜度。綜合比較,選定階數(shù)為2,參數(shù)R-square為1,擬合度高,且易于在FPGA上實現(xiàn)。擬合曲線關系如圖3所示。
圖2 曲線擬合工具對話框
圖3 擬合曲線圖
圖2中擬合曲線區(qū)的點1至點5由高純氮氣(N2)和濃度分別為9.9 ppm、31.0 ppm、51.2 ppm和503.2 ppm的一氧化碳(CO)標準氣經(jīng)TDLAS系統(tǒ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ù)點后兩位對應到整數(shù)表示。在CFT對話框中做好數(shù)據(jù)載入和曲線相關參數(shù)選擇,獲得的擬合方程模型為Poly2,其方程式為:
式中,p1、p2和p3為各項系數(shù),這里對應的系數(shù)值為-3.36e-09、0.036 52和-2.592。待擬合數(shù)據(jù)的調(diào)整,會直接反應到各項系數(shù)的改變。
用CFT做曲線擬合,易于操作,直觀性好,可即時觀察到曲線擬合的數(shù)據(jù)偏離程度,根據(jù)需要進行數(shù)據(jù)或曲線的相應調(diào)整。
式1中的各項系數(shù)均為非整數(shù)值,在FPGA內(nèi)是無法應用的,需要進行取整處理。部分系數(shù)要作適當放大,才可進行取整參與運算。FPGA內(nèi)部對位(bit)操作,在作系數(shù)放大時放大倍數(shù)選擇2N方式,其中N為bit位數(shù)。N值的不同選擇及整數(shù)操作舍入誤差的存在,都對濃度反演結果的準確性有不同程度的影響。這里采用運算仿真,模擬FPGA內(nèi)部的運算過程,按照最小誤差原則,實現(xiàn)N值選取和誤差控制。Matlab腳本文件部分語句截圖如圖4所示。
圖4 Matlab腳本文件截圖
圖4中,系數(shù)p1放大 237,p2放大 217,p3不作放大直接取整。通過仿真運算,得到的FPGA運算模擬和CFT擬合之間的結果誤差較小,滿足要求,F(xiàn)PGA在進行運算設計時可直接采用圖4中的各參數(shù)數(shù)值。Matlab下打開結果矩陣數(shù)據(jù)表,各數(shù)據(jù)列分別為二次諧波峰值、FPGA運算模擬濃度值、CFT擬合濃度值和誤差。表格部分截圖如圖5所示。
FPGA選用的是Xilinx公司Spartan-6系列的Lx75芯片,擁有豐富的硬件設計資源,充足的邏輯單元、DSP核和存儲器資源等,能夠完全滿足設計中大量數(shù)據(jù)運算的要求。FPGA設計平臺是Xilinx公司的ISE14.5,硬件描述語言使用VHDL。
在Matlab下已經(jīng)完成曲線擬合和算法仿真,獲得的相關設計參數(shù)可直接應用于FPGA設計。由式(1)可知,擬合方程只有加法和乘法運算,由于二次項較一次項在運算上存在時間差,需要作延時處理。為了便于把握延時大小,加法器和乘法器均采用IP核設計,設定好參數(shù)后,運算耗時自動給出,在濃度反演模塊搭建中加入延時處理即可。濃度反演模塊經(jīng)綜合后的RTL(Register TransportLevel)結構圖如圖6所示。
圖5 結果矩陣數(shù)據(jù)表截圖
圖6 濃度反演模塊RTL結構圖
由圖6,輸入datain為25位二次諧波峰值數(shù)據(jù),輸出concdata_out為16位濃度數(shù)據(jù),數(shù)據(jù)位數(shù)根據(jù)系統(tǒng)需求確定。圖7為該模塊的內(nèi)部設計RTL結構圖。
圖7中,bus_shift_5為延時模塊,保證二次項和一次項在做加法時的時序同步,以獲得正確的運算結果。限于FPGA只能對整數(shù)進行操作,部分擬合參數(shù)在Matlab里已執(zhí)行放大取整處理,應用于FPGA內(nèi)部運算后,為實現(xiàn)正確的濃度反演,需要在設計上對擬合參數(shù)進行還原,這里采用對部分相關運算結果作低N位舍棄處理。
算法在FPGA開發(fā)環(huán)境ISE14.5下設計完成,能否按預期實現(xiàn)氣體濃度的反演需要在TDLAS系統(tǒng)下進行驗證。采用動態(tài)配氣系統(tǒng)對樣氣和載氣進行配比,以獲得部分不同濃度的待測氣體,其中樣氣采用503.2 ppm一氧化碳(CO)標準氣,流量為0~100 ml/min,載氣采用高純氮氣(N2),流量為0~1 000 ml/min。待測氣體以500 ml/min流量通入TDLAS檢測系統(tǒng),由FPGA主板運行程序,獲得對應的二次諧波峰值數(shù)據(jù)和反演后的濃度值,數(shù)據(jù)監(jiān)測使用ISE14.5內(nèi)置示波器 ChipScope Pro Analyzer(ChipScope)完成。各組數(shù)據(jù)對照如表1所示。
圖7 模塊內(nèi)部設計RTL結構圖
表1 數(shù)據(jù)對照表
由表1,測量誤差小,各測點測量濃度值和原始濃度值吻合度超過99.9%,反演算法正確,完全能夠滿足系統(tǒng)設計要求,做到濃度信息的精確獲取。
TDLAS氣體檢測系統(tǒng)采用高頻正弦信號調(diào)諧激光波長,經(jīng)氣體吸收后產(chǎn)生攜帶濃度信息的二次諧波信號,為提取濃度信息,本文進行了濃度反演算法的設計,實現(xiàn)二次諧波峰值數(shù)據(jù)到系統(tǒng)參數(shù)濃度數(shù)據(jù)的映射,并基于一氧化碳檢測系統(tǒng)進行了算法的驗證,可實現(xiàn)待測氣體濃度的精確反演。
設計中利用Matlab進行前期的曲線擬合和FPGA內(nèi)部運算的模擬,便于分析系統(tǒng)數(shù)據(jù)的變化規(guī)律和保證FPGA內(nèi)部算法的正確實現(xiàn),從而保障系統(tǒng)可靠運行,該方法可應用于多領域的產(chǎn)品研制和系統(tǒng)綜合測試所需要進行的前期數(shù)據(jù)分析和誤差控制等。
參考文獻:
[1]張可可,劉世萱,陳世哲,等.基于TDLAS的二氧化碳濃度檢測系統(tǒng)及壓強補償研究[J].儀表技術與傳感器,2016(1):53-54.
[2]房思超,劉昱峰,王彪.用于激光TDLAS檢測系統(tǒng)的模塊化驅(qū)動單元電路設計[J].激光檢測與應用,2016,37(5):52-53.
[3]程萬前,王彪.用于TDLAS激光氣體檢測的程控信號發(fā)生器的研制[J].激光雜志,2014,35(7):77-78.
[4]鮑偉義,朱永,陳俊,等.可調(diào)諧激光二極管吸收光譜系統(tǒng)信號分析及譜線畸變校正技術研究[J].光譜學與光譜分析,2011,31(4):1015-1016.
[5]劉立富,張涵,溫作樂,等.基于TDLAS技術的激光氧分析儀在線標定方法研究[J].分析儀器,2017(1):55-56.
[6]伍昂,吳尚謙,蔡彥,等.剩余振幅調(diào)制對波長調(diào)制光譜信號線型的影響[J].激光技術,2012,36(3):357-358.
[7]王雪梅,劉石.基于TDLAS技術的CO2濃度測量[J].化工自動化及儀表,2016,43(11):1158-1159.
[8]張可可,齊勇,付曉,等.基于TDLAS一次諧波的甲烷濃度檢測系統(tǒng)及其溫度補償研究[J].山東科學,2014 ,27(1):17-18.
[9]潘松,黃繼業(yè).EDA技術實用教程——VHDL版[M].4版.北京:科學出版社,2010.
[10]徐秀敏,張玉鈞,何瑩,等.基于FPGA可調(diào)諧半導體激光氣體檢測電路設計及應用[J].光電工程,2014,41(10):82-83.
[11]范松濤,周燕,張強,等.基于FPGA的數(shù)字鎖相放大器在氣體探測中的應用[J].計算機測量與控制,2012,20(11):3027-3028.
[12]劉立富,張涵,溫作樂,等.基于TDLAS技術在垃圾焚燒中HCL的在線監(jiān)測應用[J].激光與光電子學進展,2015,52(110101):2-3.
[13]潘虎,王廣宇,宋俊玲,等.免標定波長調(diào)制光譜在氣體溫度和濃度測量中的應用[J].紅外與激光工程,2014,43(3):957-958.
[14]張志榮,夏滑,董鳳忠,等.利用可調(diào)諧半導體激光吸收光譜法同時在線監(jiān)測多組分氣體濃度[J].光學精密工程,2013,21(11):2772-2773.
[15]束小文,張玉鈞,闞瑞峰,等.基于TDLAS技術的HCL氣體在線探測溫度補償方法研究[J].光譜學與光譜分析,2010,30(5):1352-1353.
[16]劉昱峰,王彪,楊凱,等.TDLAS檢測技術氣體吸收過程的仿真研究[J].激光檢測系統(tǒng)與應用,2017,38(3):38-39.
[17]楊柯,張龍,吳曉松,等.基于TDLAS技術的卷煙煙氣CH4含量檢測系統(tǒng)[J].光譜學與光譜分析,2015,35(12):3311-3312.