《1 引言》

1 引言

近年来,半导体气体传感器阵列得到了广泛的研究。将一系列具有不同特征的气体传感器组成传感器阵列,以弥补单个传感器测试精度差、选择性差和重复性不一致等缺点[1],同时充分利用传感器阵列所提供的交叉敏,运用人工神经网络的模式识别技术对其响应输出谱进行分析,可实现气体的定性定量分析。这是电子鼻系统基础[2]

传感器阵列的非线性数据处理系统成为研究重点,人工神经网络是这一领域的信号处理工具。其中,自组织竞争网络通过对输入模式的反复学习,捕捉住各个输入模式中所包含的模式特征,并对其进行自组织,达到对输入模式自然分类的目的[3],在模式识别(气体分类)中得到了广泛应用[2]

笔者优选 H2, CO 气体的金属氧化物半导体气体传感器组成阵列,分别提取 H2, CO 两种气体不同浓度的稳态响应;运用自组织竞争网络实现对 H2,CO 气体的准确识别。

《2 实验》

2 实验

为了得到快速、准确的传感器阵列响应值,构建了如图 1 所示的传感器阵列特性测试系统。实验装置包括气瓶、质量流量控制器 (MFC)、传感器阵列测试箱、  Keithley 2700数据采集表以及控制数据采集的计算机。

《图 1》

图 1 气体传感器阵列特性测试装置

Fig.1 Characteristic testing device of gas sensor array

采用 4 个对 CO 和 H2 敏感的二氧化锡气体传感组成传感器阵列: TGS2201, TGS2104, TGS813, TGS2610,其参数见表 1。这 4 个气体传感器都能敏感 CO 和 H2 气体,但对于同一种气体,这 4 个传感器的灵敏度各不相同。当与 CO 和 H接触时,其电导随气体浓度的增加而增大。

《表 1》

表 1 气体传感器阵列参数

Table 1  Parameters of gas sensor array

传感器阵列的性能受到环境温度、湿度等因素的影响,因此分别将测试环境的温度和湿度恒定在 15℃ 和 62 % RH。在传感器阵列中,各个传感器响应时间不同,会在不同的时间到达其稳定输出状态,因此采用 Keithley 2700 建立实时数据采集系统。传感器阵列的负载电压输出每隔 20 个扫描点采集一次,整个测试过程由计算机控制完成。

在相应的工作电压和加热电压下,传感器的阻值由负载电阻的输出电压得出,其转换关系为

式中, RL 为负载电阻, Rs 为传感器电阻, Vc, VRL 分别为传感器工作电压和负载电阻输出电压。

定义传感器灵敏度为 Rgas/Rair,其中 RgasRair 分别为传感器在相应气体和空气中的电阻值 。4 个传感器在一氧化碳气体和氢气中的灵敏度曲线分别如图 2 和图 3 所示。可见,气体传感器的响应与被测气体浓度之间的关系为非线性,且各传感器都存在较大的交叉敏。传感器阵列利用单一气体传感器对多种气体有响应却又互不相同这一特点,用人工神经网络数据处理方法对多种气体进行识别。

《图 2》

图 2 传感器在一氧化碳气体中的灵敏度曲线

Fig.2 Sensitivity curve of sensors toward CO

《图 3》

图 3 传感器在氢气中的灵敏度曲线

Fig.3 Sensitivity curve of sensors toward H2

《3 自组织竞争网络》

3 自组织竞争网络

自组织竞争网络是一种无监督神经网络,其映射过程是通过竞争学习完成的。竞争学习是指同一层神经元间互相竞争,竞争胜利的神经元修改与其相连的连接权值的过程。它是一种无监督学习方法,学习过程中,只需向网络提供一些学习样本,而无需提供理想的目标输出。网络根据输入样本的特性进行自组织映射,对样本进行自动分类[4]

自组织竞争网络由输入层和竞争层组成,网络中有两种连接权值,一种是神经元对外部输入反应的连接权值,另一种是神经元之间的连接权值,它代表着竞争层神经元在模式空间中的位置[5]。对于模式识别问题,代表某一种气体模式的训练样本作为网络的输入矢量,而在训练过程中,权值矢量与输入矢量最接近的神经元将在竞争中获胜[2],网络根据学习规则对这个神经元的权值进行调整,使修改后的获胜神经元权值矢量更接近当前的输入其中 ,为竞争层的神经元权值( 为神经元下标,  为输入矢量下标), t) 为学习率, nb( t, d)为竞争层领域函数, d 为神经元与获胜神经元之间的距离。其中学习率与领域函数均随竞争学习的进行而不断减小。

由于传感器阵列由 4 个气体传感器组成,而网络识别的是 2 种气体,因此建立的自组织竞争网络具有 4 维输入和 2 个输出,自组织竞争网络结构如图 4 所示。网络图中的  模块表示对输入矢量 p 和神经元权值矢量 w 之间的距离取负。该网络的输出层是竞争层,模块 C 表示竞争传递函数,其输出矢量由竞争层各神经元的输出组成,除在竞争中获胜的神经元外,其余神经元的输出都为零。竞争传递函数输出矢量 n 中的最大元素所对应的神经元是竞争中的获胜者,其输出固定为 1[5]

连接权矢量初始状态最理想的分布是其方向与各个输入模式的方向一致,因此在连接权初始化时,选择 MATLAB 神经网络工具箱中的中点权值初始化函数 Midpoint,使竞争层的初始权值选择在输入空间的中间区,从而使网络学习更加有效[4]

《图 4》

图 4 自组织竞争网络结构图

Fig.4 Structure of self-organizing competitive network

《4 气体分类与测试》

4 气体分类与测试

根据传感器阵列的测试范围和数据分析的需
要,测试 CO 和 H2 气(40-1 000) × 10-6 (间隔为 40 × 10-6) 浓度在 180 s 时的传感器阵列稳定响应值,获得 50 个样本。传感器测试箱中的气体浓度通过选择洁净空气和样本气的流量比来调节。将实验中测得的气体样本一分为二, 160 × 10-6, 320 х 10-6, 480 х 10-6, 640 х 10-6, 800 х 10-6, 960 × 10-6 浓度下的传感器阵列输出值作为网络的测试样本,其余样本为网络的训练样本。

气体传感器阵列输出存在着非线性,且一般均需要经过几分钟后才能到达稳定状态(这一时间包括气体充分混合和气体传感器阵列响应过程),导致气体传感器阵列输出模式的分散性。为了降低或消除非线性以及气体浓度对传感器阵列输出模式的影响,对其进行预处理是十分必要的。设 Ggas,i  Gair, 表示传感器在被测样气和纯净空气中的电导值,采用的阵列归一化算法分别定义为部分差分算法、对数算法和相对算法,分别为:

式中, N = 4 为传感器阵列的维数。经过预处理后的阵列响应 =  作为神经网络模式识别系统的实际输入。

输出响应进行预处理后,再进行网络的训练。网络训练经 3 000 步结束后,利用原始训练样本数据对网络进行仿真。由于网络的仿真输出为单值矢量组,为了便于观察分类结果,将单值矢量组转化为下标矩阵的形式,结果为 Yco = 1, = 2,网络仿真完成后,运用测试样本检验网络的性能,并将测试结果转化为下标矢量矩阵。网络的分类结果与测试结果分别如图 5、 图 6、 图 7 所示。

《图 5》

图 5 采用方法 1 进行数据预处理后的网络的分类结果与测试结果

Fig.5 The classification and test results of net by pre-processing method 1

《图 6》

图 6 采用方法 2 进行数据预处理后的网络分类结果与测试结果

Fig.6 The classification and test results of net by pre-processing method 2

《图 7》

图 7 采用方法3进行数据预处理后的网络分类结果与测试结果

Fig.7 The classification and test results of net by pre-processing method 3

自组织竞争网络通过对输人数据分布特性的学习,自动将数据划分为指定类别数。图中,加号和圆圈标注网络训练后的数据分类结果,分别代表 H和 CO 气体;菱形及五角星符号分别代表 H2 和 CO 气体的测试样本对网络进行测试的结果。由图可见, 图 4、 图 5 中均存在数据重叠的现象。网络的测试结果见表 2,可见,在 3 种数据归一化算法中,相对算法的预测结果完全正确,说明该算法是系统中最有效的预处理方法。

《5 结论》

5 结论

将气体传感器阵列与自组织竞争网络模式识别

《表 2》

表 2 网络的测试结果

Table 2 The test results of net

技术相结合,以进行 CO, H2 气体的定性分析;运用 3 种数据归一化算法对传感器阵列输出矢量进行预处理,并对其对应的网络识别结果进行了分析。结果表明,采用相对算法可实现 H2, CO 气体在一定浓度范围内准确辨识。