基于NI-CompactRIO的气体数据并行采集及监测
2022-05-14刘伟玲闫子琪
刘伟玲,闫子琪
(河北工业大学机械工程学院,天津 300130)
1 引言
现今化石燃料的大量使用,导致严重大气污染,气体安全问题受到广泛关注,实时监测气体数据可为有效预防大气污染,为环境安全管理提供基础保障[1]。相关学者研究了气体数据的采集方法,张旭[2]等人为提升日常生活空气质量,针对恶臭气体污染展开分析,以微流控芯片为核心,气相色谱为基本原理,在气体分离单元中涂敷不同极性的固定相进行气体信息判断,为混合气体的分离提供有力证据。于志伟[3]等人以气体特征为指标,在气体的不同吸收位置下覆盖检测点,结合Lambert-Beer定理并采用傅里叶变换红外光谱技术检测未知气体浓度,实现气体的检测。
由于气体数据数量庞大,在污染气体数据采集过程中需要多个传感器同时运作,由此产生较高能耗,不利于长时间气体收集工作。为此,本文设计并提出基于NI-CompactRIO的气体数据并行采集及监测方法。将NI9401采集卡插于CompactRIO上,完成模数转换,构建并行气路结构,校准非等间隔系统的延时误差,完成数据采样。在采样数据基础上采用BP神经网络算法修正输出监测信号,利用主成分分析方法优化传感器使用能耗,实现低能耗监测。仿真结果表明,所提方法能够有效降低运行时间,同时提升监测效果。
2 方法
2.1 基于NI-CompactRIO的气体数据并行采集
利用NI-9401采集卡实现的AD转换功能,然后将NI9401采集卡再直插在CompactRIO上面,以实现气体数据的采集。该模块主要由多个不同的部分组成,其中模块的核心控制部分为现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA),利用FPGA实现各个模块之间的通信以及匹配。并行式气路结构和采集模块的搭建如图1所示。
图1 并行气路结构及CRIO并行采集框图
在实际应用的过程中,有两种使用范围较为广泛的气体数据采集方式,其中一种方式是将不同传输路径中的信号经过转换后,整合至并行系统中;另外一种方式则是将全部的输入信号通过A/D转换模块转换至并行系统中[4]。以上两种气体数据采集方式主要具有能够同时设定多个气体数据采集通道;能够重复利用资源这两方面的优势。两者虽然具有相同的优势,但是也存在一定的差异性,例如第一种采集方式主要是针对多通道数据进行处理,它能够快速完成数据采集,同时还能够对信号进行瞬时分析[5];而第二种方式则是通过A/D转换于相同的信号传输路径中,以此提升整个采集系统的采集速度。
不同传输路径中的A/D主要选取相同的采样控制信号进行系统驱动,不同的传输路径在经过A/D经过转换后,系统的输出主要是由接口发送至系统服务器内。采用A/D转换会占用一定的时间,对整个系统的采集效率也会产生影响。在系统进行高速采集的过程中,需要在各个传输路径中增加一定容量的存贮器,其中存贮器的大小主要是根据采集数据容量的大小所决定的。
系统中输入的模拟信号需要同时加入到M个通道中,整个系统主要是由频率fc进行主时钟驱动,各个通道之间包含Te/M延时;A/D的输出经过多路开关进行复合处理后,发送至贮存器中。在采样周期开始后,需要启动对应的通道O对输入信号进行采样以及转换等操作。在经过Te/M延时后,继续启动系统的下一个通道。以上操作是在设定的采样周期内经过M个通道实现M次采样,促使整个采集系统的采样频率进一步得到提升。这种操作方式存在着一定的问题,后续将针对其不足进行进一步完善,使其满足系统的相关需求。
在多通道并列技术中,由于各个通道增益的差异,导致采样结果存在一定的差异性,其中第二种采样方式的误差较大。第二种操作方式在不同通道进行A/D转换后,将信号转换为同一路输入信号,在经过多道采样以后,如果各个通道之间存在误差,则无法无失真地复合。还有另外一个问题则是,由于各个通道之间存在的延时,这会导致非采样间隔的形成。其中外界环境因素的影响,也会影响系统的综合性能,在实际应用的过程中需要结合实际环境进行具体的分析。
由于各个通道之间存在不一致性,为了使其统一,需要认真选取A/D模块上的相关器件,同时结合相关硬件补偿不同通道之间的差异性。另外,在线路布局方面,需要选取对应的防护措施,具体操作过程如下所示:
设定原始采样序列为
S=fc[g(t0),g(t1),…,g(tm),g(tm+1)]
(1)
将原始采样序列分解成以下M个通道的子序列,则有
(2)
式中,Sm是对原始采样信号g(tm)以1/MT的采样率进行等间隔采样[6]。为了重新组建原始序列,需要在序列各个采样点之间加入M-1个0,则有
(3)
(4)
对数序列进行求和,则能够获取以下的计算式
(5)
(6)
令
rm=(mT-tm)/T=m-tm/T
(7)
将tm代入对应的公式中,则能够获取以下的计算式
(8)
结合上述分析,能够有效推导出非等间隔采样信号的数字谱表达形式,将等间隔采样代入对应的公式中,能够满足相关公式的简化处理。
设定K=0,M,2M,…时,则能够将上述公式改写为以下的形式
(9)
以式(9)为等间隔采样信号的数字谱表达形式,并且能够看出对应的等幅冲击脉冲序列。
为了实现非等间隔系统的延时误差校准,需要在系统中加入正弦信号,则能够获取以下计算式
G(ω)=2πδ(ω-ω0)
(10)
以下给出采样延时误差自动校准的具体操作过程:
1)设定对应频率的正弦信号通过系统完成不同采样点的抽取;
2)将采样点通过数据窗;
3)计算不同采样点的DFT;
4)在DFT结果中抽取和采样点相对应的点,同时对其进行公式变换[8],则能够获取对应的取值;
5)在步骤(4)中抽取符合系统需求的相角,同时完成采样延时误差自动校准。
至此,实现大气污染气体采样,为下述气体数据监测提供了可靠依据。
2.2 基于NI-CompactRIO的气体数据监测方法
气体数据监测主要是对传输器阵列的输出信号进行修正处理,分别获取不同气体的运行状态。在信号修正处理中采用BP神经网络算法(Back Propagation),其基本思想为:以样本的希望输出以及实际输出之间的平方误差作为准则函数,采用梯度下降方法,从输出层开始,逐层修正权系数使准则函数的取值达到最小。整个网络主要由三个部分组成,分别为:输入层、隐层以及输出层,其中隐层存在多个。以下给出整个算法的具体操作流程:
利用随机数将全部的权系数进行初始化处理,设定对应步长,l主要统计迭代次数,设定最大迭代次数的取值为1;首先计算隐含层j各个节点的输出
(11)
oj=f(yi),j=1,2,…,h
(12)
以下计算输出层k各个节点的输出信号:
(13)
ok=f(yk),k=1,2,…,C
(14)
累计误差计算式为
(15)
依据上述输出节点累计误差的计算,对输出信号进行修正[9],则能够获取修正值的计算式
(16)
式(16)中,ωkj表示随机波动系数。
在上述输出信号修正的基础上,引入主成分分析方法,简化收集到的气体数据,以此进一步缓解传感器的能量消耗。主成分分析方法要求在简化的过程产生少量损失变量的方差。在进行简化前,方差总和不变,但是新的变量中方差会有一定程度的变化,此时则需要选取其中占有方差量的一个或者几个成分代替原始变量[10]。
主成分分析方法的主要过程就是特征选择以及特征提取。以下给出具体的操作过程:
针对已并行采集多个通道的不同气体数据量,设定各个通道的均值为EO[X],其中协方差为
Cx=E[X-E[X]](X-E[X]T)
(17)
通过主成分分析方法,能够获取气体数据中的主要特征信息,同时对其进行特征提取,以达到数据简化的目的,即
E[Y]=E(UTX)=UTE[X]
(18)
在数据简化的基础上,采用主成分分析方法对2.1小节采集到的气体进行主成分分析,通过分析结果表明传感器对气体反应程度以及传感器阵列之间的相互关系,选择两个主要传感器替换原始的5个传感器,对不同的气体变化情况进行监测,则有
CY=CxE[Y]
(19)
至此,实现大气污染气体监测,缓解了多传感器同时运行产生较高能耗的问题。
3 仿真研究
为了验证所提基于NI-CompactRIO的气体数据并行采集及监测方法的综合有效性,需要进行仿真。仿真环境为:处理器:AMD Athlon64professor3200+,512内存,Win XP系统,MATLAB编程软件。为验证所提方法的数据采集及监测的性能,将以不同气体检测结果、运行时间两个方面进行实验验证,并与恶臭气体检测系统及其实验研究(文献[2]方法)、利用傅里叶红外光谱技术检测恶臭气检测(文献[3]方法)进行对比。
1)期望输出误差
为了更进一步验证所提方法的有效性,对比文献[2]方法、文献[3]方法,以下将期望输出误差作为评价指标,其中误差越低,则说明监测效果越理想;反之则说明监测效果并不理想,检测结果如表1所示。
表1 不同方法的气体种类检测结果
将表1结果以数据形式进行转换,计算不同方法的检测期望输出,得到结果如表2所示。
表2 不同方法的期望输出结果/ppm
分析表2实验数据可知,所提方法的期望输出误差在三种方法中为最低;文献[2]方法的误差次之;文献[3]方法的延时误差最高。而文献方法的检测结果与实际检测值结果差异较大的原因,是在进行数据采集的过程中不同数据采集通道的增益不同,而文献方法未根据其增益特征进行分类计算或数据信号转换,导致采集结果产生误差。而本文方法根据各个通道的增益特性,采用NI-9401采集卡进行信号转换,使所有信号都转换为同一路输入信号,避免数据采集过程中产生差异性,提升了检测精度。
2)运行时间
在上述实验的基础上,以下选取运行时间作为评价指标,其中运行时间越低,则说明运行效果越理想;反之,则说明运行效果不理想,图2给出具体的对比结果。
图2 不同方法的运行时间变化情况
分析以上实验数据可知,所提方法的运行时间在三种方法中为最低。同实验二结果原理类似,本文方法所需时间开销少的原因在于,本文采用A/D转换,将所有信号转化为统一通道信号,减少系统对多通道的检测开销,提升检测效率。
4 结束语
针对传统的气体数据并行采集及监测方法存在的一系列问题,设计并提出基于NI-CompactRIO的气体数据并行采集及监测方法。仿真结果表明,所提方法能够有效降低运行时间,同时降低延时误差,获取较为理想的监测结果。