一氧化碳气体检测仪的算法设计
时间:2023-11-19 14:07:02
0 引言
一氧化碳(CO)它是最常见的有毒有害的可燃可爆气体,对工业安全生产危害极大。因此,有必要开发一种能够实时准确地测量一氧化碳气体浓度的气体探测器。目前,一氧化碳气体的检测方法主要包括气相色谱法、光干涉法、半导体气体传感器、红外光谱吸收法等。然而,红外光谱吸收法表现出了更多的优势。红外光谱吸收的基本原理是:将窄带光源波长对准被测气体的某一吸收峰,用正弦信号调节激光波长。由于气体的吸收效应,当激光中心的波长对准气体吸收峰的中心时,输出光包含调节频率的二次谐波信号,信号范围与气体浓度成正比。气体浓度的测量可以通过提取吸收信号的二次谐波来实现。气体浓度的测量可以通过提取吸收信号的二次谐波来实现。谐波检测比差分吸收更高。本文采用红外光谱吸收式测量一氧化碳气体浓度。在一氧化碳气体探测器的设计过程中,拉格朗日插值思想应用于数据处理。本文主要研究一氧化碳气体探测器算法的设计,优化数据。
1 拉格朗日插值的意义
光谱吸收技术的基本原理是比尔一朗伯特(Beer Lambert)定律,出射光强I和入射光强Io的关系为I=Ioexp[-a(v)CL],其中a(v)在一定频率v处吸收气体的系数;C气体浓度;L气体吸收的路径长度。由于a(v)是关于环境温度和压强的函数,只要测量出环境中的温度和压强就可以求出a(v)但该函数的分析表达式相当复杂,不易处理和计算,不能实时准确计算a(v)被测气体的浓度无法找到。因此,某种算法的设计更准确a(v)值将成为一氧化碳测量的关键环节。当一氧化碳气体吸收系数被确定时,一氧化碳气体浓度的测量可以通过算法实现。
本文采用拉格朗日插值算法实现吸收系数a(v)通过程序准确地找到吸收系数a(v)的值。在这里,我们可以通过实验获得许多一氧化碳气体在不同温度和压力下的吸收系数,但它们是孤立和不连续的。然后用拉格朗日插值的想法来处理他,因为一氧化碳的吸收系数a(v)本文采用二维拉格朗日插值算法,与温度和压力有关。
在设计一氧化碳气体浓度测量算法时,使用拉格朗日插值算法进行相关处理,可以准确地找到一氧化碳气体的浓度。因此,有必要设计一氧化碳气体探测器的算法,这种拉格朗日插值算法将在气体检测中具有很大的应用前景。
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。
可采用插值基函数法:
[page]
2.2 二维拉格朗日插值
首先说明二维拉格朗日插值的原理,假设在平面上xOy在长方形网格的节点上,给定f(x,y)节点中定义的函数值fi,j=f(xi,yj)。一个双插值由两个步骤组成,每个步骤使用一个一维插值。
第一步是做y方向的插值,找出E和F点的插值:
第二步,在fE和fF线性插值:
二维区域的双线性区域如图1所示。
把这两步写成一个公式:
以上部分是通过二维线性插值来处理数据的。该方法仍然缺乏数据处理。根据上述相同的数据处理理念,二维拉格朗日插值算法可以实现相同的功能,使数据处理效果更好。
3 设计拉格朗日插值算法
3.1 实现拉格朗日插值算法的方法
本算法利用拉格朗日插值公式组装二维不等距观测数据,实现吸收系数的计算。插值可以选择不同的节点N。有一个观测列(x1,y1),(x2,y2),…,(xn,yn),并且x1
式中:j是移动插值时取n个插值节点中最大的序号数,如下:
m是观测数列的样点数。
通过处理二维拉格朗日插值算法,可以更准确地找到吸收系数,从而根据比尔-朗伯特(Beer Lambert)定律I=Ioexp[-a(v)CL]被测一氧化碳气体浓度反向推出
,其中a(v)吸收系数;I(t),Io激光探测器可以测量;L设计师自行设置吸收路径长度。[page]
3.2 实现拉格朗日插值算法的步骤
实现拉格朗日插值算法的步骤如下:
(1)给出所需的输入量给出插值节点控制数n,插值点序列(xi,yi),i=0,1,2,…,n,要计算的点x。
(2)设计拉格朗日插值函数(伪码形式)
第三步:输出ln(x)的计算结果fx
4 实验结果
拉格朗日插值算法修正后,通过实验测量几组在不同温度和压力下测量的气体浓度,并将测量结果与标准浓度值进行比较,得出测量结果与标准浓度之间的差异。
通过实验可以知道,测量气体的温度和压力尚不清楚,传感器测量的温度和压力可能不存在于数据表中。对于这些不存在的温度和压力点,拉格朗日插值算法可以实时准确地测量测量气体的浓度。由此可见,一氧化碳气体探测器的算法设计是非常必要的,这种拉格朗日插值算法将在气体检测中具有很大的应用前景。
5 结语
本文基于红外光谱吸收原理,运用拉格朗日插值思想实现一氧化碳气体探测器的数据处理,详细说明了拉格朗日插值思想和拉格朗日插值算法的实际意义,并利用拉格朗日插值算法测量被测气体浓度。用Freescale以单片机为处理器Code Warrior拉格朗日插值算法用C语言开发平台。实验表明,该系统基于红外光谱吸收原理,采用拉格朗日插值算法测量环境中的一氧化碳浓度,降低了硬件结构,优化了系统性能,节约了成本,缩短了开发周期,使检测结果更加准确。