摘要:基于紅外光譜吸收原理,對一氧化碳的濃度檢測進行研究。為了在不提高成本的條件下提高設備測量精度,采用二維拉格朗日插值算法對測量alpha表進行插值。實驗表明,運用拉格朗日算法進行插值造成的誤差在設備誤差允許范圍內(nèi)。該方法在同樣精度條件下,需要更少的采樣點數(shù),從而降低了設備成本。
關(guān)鍵詞:一氧化碳;檢測儀;拉格朗目插值算法;紅外光譜吸收
0 引言
一氧化碳(CO)是最為常見的一種有毒有害的可燃可爆性氣體,它給工業(yè)安全生產(chǎn)帶來了巨大的危害。因此研制一種能夠?qū)崟r準確地測量一氧化碳氣體濃度的氣體檢測儀是非常必要的。目前應用于一氧化碳氣體的檢測方式主要有氣相色譜法、光干涉法、半導體氣體傳感器、紅外光譜吸收式等,以上四種一氧化碳氣體濃度測量方法各有優(yōu)缺點。然而紅外光譜吸收法表現(xiàn)出更多的優(yōu)點,紅外光譜吸收式的基本原理為:將窄帶光源波長對準被測氣體某一吸收峰,用正弦信號對激光波長進行調(diào)制,調(diào)制后的激光通過被測氣體,由于氣體的吸收效應,波長調(diào)制轉(zhuǎn)換為強度調(diào)制,當激光中心波長對準氣體吸收峰的中心處,輸出光包含有調(diào)制頻率的二次諧波信號,而且信號幅度正比于氣體的濃度。通過提取吸收信號的二次諧波,便可實現(xiàn)氣體濃度的測量。與差分吸收法相比,諧波檢測法具有更高的分辨率。本文采用紅外光譜吸收式來實現(xiàn)對一氧化碳氣體濃度的測量,在一氧化碳氣體檢測儀的設計過程中,將拉格朗日插值思想應用于數(shù)據(jù)處理。本文主要對一氧化碳氣體檢測儀中算法的設計進行研究,對數(shù)據(jù)進行最優(yōu)化處理。
1 拉格朗日插值的意義
紅外光譜技術(shù)光譜吸收技術(shù)的基本原理是比爾一朗伯特(Beer Lambert)定律,出射光強I與入射光強Io的關(guān)系為I=Ioexp[-a(v)CL],其中a(v)為氣體在一定頻率v處的吸收系數(shù);C為氣體濃度;L為氣體吸收的路徑長度。由于a(v)是關(guān)于環(huán)境溫度和壓強的函數(shù),只要測量出環(huán)境中的溫度和壓強就可以求出a(v)的值,但是該函數(shù)的解析表達式相當復雜,不便于處理和計算,無法實時準確地計算出a(v)的值,也就無法求出被測氣體的濃度。因此設計某種算法比較準確地求出a(v)的值將成為一氧化碳測量的關(guān)鍵環(huán)節(jié),當求出一氧化碳氣體吸收系數(shù)后,就可根據(jù)比爾-朗伯特定律用算法實現(xiàn)一氧化碳氣體濃度的測量。
本文采用拉格朗日插值算法思想來實現(xiàn)對吸收系數(shù)a(v)的處理,并通過程序來比較準確的求出吸收系數(shù)a(v)的值。這里我們可以通過實驗得到許多在不同溫度和壓強下一氧化碳氣體的吸收系數(shù),但它們是一些孤立離散的點,是不連續(xù)的。然后運用拉格朗日插值的思想對他進行處理,由于一氧化碳的吸收系數(shù)a(v)與溫度和壓強2個參數(shù)有關(guān),因此本文用二維拉格朗日插值算法來實現(xiàn)。
在設計一氧化碳氣體濃度測量算法時,使用拉格朗日插值算法進行相關(guān)的處理,可使準確的求出一氧化碳氣體的濃度。由此可知,對一氧化碳氣體檢測儀進行算法設計是非常必要的,這種拉格朗日插值算法思想在氣體檢測方面將具有較大的應用前景。
2 拉格朗日插值原理
2.1 拉格拉朗日插值
拉格朗日插值由線性插值與拋物線插值推廣而來,將n=1及n=2的插值推廣到一般情形,考慮通過(n+1)個點,(xi,f(xi))(i=0,1,2,…,n)的插值多項式Ln(x),使Ln(xi)=f(xi)i=0,1,2,…,n。
用插值基函數(shù)方法可得:
2.2 二維拉格朗日插值
首先說明二維拉格朗日插值的原理,假定在平面xOy的一個長方形網(wǎng)格的節(jié)點上,給定f(x,y)的函數(shù)值,即定義在節(jié)點的值為fi,j=f(xi,yj)。一個雙插值由兩步組成,每一步都利用一個一維插值。
第一步,做y方向的插值,求出E和F點的插值:
第二步,在fE和fF之間做線性插值:
其中二維區(qū)域的雙線性區(qū)域如圖1所示。
把這兩步寫成一個公式,可得:
以上部分是通過二維線性插值的方法來實現(xiàn)對數(shù)據(jù)的處理的,這種方法對于數(shù)據(jù)處理來說仍有不足的地方,根據(jù)上述相同的數(shù)據(jù)處理思想,可以利用二維拉格朗日插值算法來實現(xiàn)其相同的功能,使數(shù)據(jù)處理效果更佳。
3 拉格朗日插值算法設計
3.1 拉格朗日插值算法實現(xiàn)的方法
本算法用拉格朗日插值公式對二維不等距觀測數(shù)據(jù)進行成組插值,實現(xiàn)對吸收系數(shù)的計算。可以選擇不同的節(jié)點數(shù)n來實現(xiàn)插值。有觀測數(shù)列(x1,y1),(x2,y2),…,(xn,yn),并且x1<x2<…<xn。當觀測樣點數(shù)m較大時,如用全區(qū)間拉格朗日插值,計算量將很大,也無必要。為此,選定節(jié)點數(shù)n,這里n<m,在全區(qū)間內(nèi)進行移動插值。此時,對于計算給定點x的函數(shù)值y(x)的拉格朗日插值公式為:
式中:j是移動插值時所取n個插值節(jié)點中最大的那個序號數(shù),做如下取值:
m是觀測數(shù)列的樣點數(shù)。
通過二維拉格朗日插值算法的處理,就能夠較為精確地求出吸收系數(shù),從而根據(jù)比爾-朗伯特(Beer Lambert)定律I=Ioexp[-a(v)CL]反推出被測一氧化碳氣體的濃度,其中a(v)為吸收系數(shù);I(t),Io可通過激光探測器測量得到;L為吸收路徑長度,由設計者自行設定。
3.2 拉格朗日插值算法實現(xiàn)的步驟
拉格朗日插值算法實現(xiàn)的步驟為:
(1)給出所需的輸入量給出插值節(jié)點控制數(shù)n,插值點序列(xi,yi),i=0,1,2,…,n,和要計算的點x。
(2)設計拉格朗日插值函數(shù)(偽碼形式)
第三步:輸出ln(x)的計算結(jié)果fx
4 實驗結(jié)果
使用拉格朗日插值算法修正后,通過實驗測得幾組在不同溫度和壓強下被測氣體的濃度,并與實驗給定樣氣濃度值進行比較,得出測量結(jié)果與標準濃度之間的差值,由測量差值便可知氣體檢測儀性能的好壞,數(shù)據(jù)如表1所示:
通過實驗可以知道,被測氣體的溫度和壓強是未知的,通過傳感器測量出的溫度和壓強可能在數(shù)據(jù)表中不存在,對于這些不存在的溫度和壓強點,便可以使用拉格朗日插值算法進行處理,實時準確地測量出被測氣體的濃度。由此可知,對一氧化碳氣體檢測儀進行算法設計是非常必要的,這種拉格朗日插值算法思想在氣體檢測方面將具有較大的應用前景。
5 結(jié)語
本文基于紅外光譜吸收原理應用拉格朗日插值思想實現(xiàn)對一氧化碳氣體檢測儀的數(shù)據(jù)處理,詳細地說明了拉格朗日插值的思想、使用拉格朗日插值算法的實際意義,并用拉格朗日插值算法實現(xiàn)了對被測氣體濃度的測量。用Freescale單片機作為處理器,以Code Warrior為開發(fā)平臺,運用C語言實現(xiàn)拉格朗日插值算法。實驗表明,該系統(tǒng)基于紅外光譜吸收原理,用拉格朗日插值算法實現(xiàn)了對環(huán)境中一氧化碳濃度的測量,與以往氣體檢測儀相比,本設計方法降低了硬件結(jié)構(gòu),優(yōu)化了系統(tǒng)性能,節(jié)約了成本,縮短了開發(fā)周期,使得檢測結(jié)果更加準確。