张 龙,邹 虹,张宝国,张继军,张东亮,孔德骞
(西北核技术研究所,陕西 西安 710024)
在有限空间爆炸实验中,准确测量爆炸压力对于评估爆炸当量及毁伤效果、研究爆炸产物的扩散规律和改进实验装置的安全设计等具有重要意义[1-3]。在爆炸静态压力测量中,压阻式压力传感器凭借其良好的线性度、灵敏度、稳定性和测量精度等优势而得到广泛应用。然而在爆炸产生的高温环境中,压阻式压力传感器受半导体材料温度特性的影响,会产生较为严重的温度漂移,影响了测量结果的准确性[4-5]。因此,需对应用于爆炸实验中的压阻式压力传感器进行温度补偿。
目前,压阻式压力传感器的温度补偿方法主要有硬件补偿和软件补偿两种。其中,硬件补偿法主要是通过对电路结构和参数进行优化以达到温度补偿的目的,常用方法有桥臂串并联电阻、热敏电阻网络、双电桥补偿等。该方法在实际应用中表现出调试困难、精度较低、通用性差等缺陷,不利于工程应用和推广[6]。相比之下,软件补偿法在灵活性、实用性和补偿精度等方面表现出较大优势,基于三次样条插值法、多元回归分析法、神经网络法等多种方法的软件补偿模型已应用于压力传感器的温度补偿中[7-9]。其中,神经网络法凭借其良好的自学习、自适应和非线性映射能力而得到广泛应用。在实际应用中,典型的BP 网络模型表现出收敛速度慢、易陷入局部极小值等缺陷,RBF 网络模型则存在对训练样本的过度依赖性,易出现数据病态问题[10-11]。相比之下,小波神经网络利用小波函数代替BP 网络的激活函数,表现出更快的收敛速度、更强的容错能力和自适应能力,且小波神经网络具有良好的时频局部分析能力,更适合对爆炸实验中具有突变性和非平稳性的压力信号进行非线性逼近。基于遗传算法优化的小波神经网络有效改善了传统小波神经网络全局搜索能力弱和易陷入局部最优解的缺陷[12-13],在解决爆炸静态压力温度补偿问题中具有较明显优势。
综上所述,本文基于传感器标定数据和遗传小波神经网络算法建立了有限空间内爆炸静态压力的温度补偿模型。为验证该模型的有效性,分别采用BP 神经网络、小波神经网络和遗传小波神经网络进行压力传感器的温度补偿研究,结果表明:遗传小波神经网络兼容了小波分析的时频局部特性和神经网络的自学习能力,表现出更快的收敛速度和更高的补偿精度,经补偿后的传感器输出值更接近于标定压力值,取得了较好的补偿效果。在有限空间爆炸实验中,可运用该模型对爆炸静态压力进行温度补偿,使得测量结果更接近于被测量真值。
压阻式压力传感器是一种基于平面应变传感技术的压力测量装置,传感器采用单晶硅膜片作为弹性敏感元件,并在硅膜片上集成四个等值薄膜电阻构成惠斯通电桥,利用单晶硅材料的压阻效应,将作用于硅膜片上的压力信号转化为电信号输出[14-15]。由于半导体材料的温度敏感特性和制造工艺导致的桥臂电阻不匹配等问题,压阻式压力传感器通常会表现出较严重的温度漂移问题。
理想情况下,传感器输出量y 与输入量x 应满足线性关系:
式中:k 和b 分别表示传感器的灵敏度和零点。对于压阻式传感器而言,温度影响导致其表现出非线性、零点漂移和灵敏度漂移等问题,其输入输出关系可表示为:
式中:k0和k(T)分别表示传感器的灵敏度及其温度漂移;b0和b(T)分别表示传感器的零点及其温度漂移;二次项系数α 和高阶分量β 表示传感器的非线性特性。对传感器进行温度补偿的目的在于最大限度的消除传感器的温度漂移分量k(T)、b(T)和非线性特征量α、β,将传感器的灵敏度k0和零点b0调整为恒定值。
小波神经网络是一种基于小波分析原理的函数连接型网络,它兼容了小波分析良好的时频局部特性和神经网络的自适应能力,表现出良好的函数逼近和容错能力。其算法思想是:利用小波函数作为网络的隐含层传递函数,用小波函数的伸缩参数和平移参数代替网络结构中输入层至隐含层权值和隐含层阈值。在网络训练过程中,利用误差最小化原理调整小波函数的波形和尺度,从而改变网络的权值和阈值[16]。
在构建小波神经网络时,网络结构和小波函数的选取对网络训练效果影响较大。研究表明,三层网络结构可以任意精度实现对非线性函数的映射[17],因此本文中采用三层网络结构,其拓扑结构如图1 所示。
图1 中,xi为第i 个输入层节点的输入量;m 为输入层节点数;wij为第i 个输入层节点与第j 个隐含层节点之间的权值;n 为隐含层节点数;φa,b为隐含层传递函数,a 为伸缩参数,b 为平移参数;vjk为第j 个隐含层节点与第k 个输出层节点之间的权值;f(x)为输出层传递函数;yk为第k 个输出层节点的输出量;p 为输出层节点数。
小波函数是小波神经网络的核心,小波函数的选取目前尚无统一的确定性方法,通常可根据正交性、紧支撑性、消失矩阶数、对称性等特性对其进行选择[18]。刘宇鹏[19]将Mexican Hat 函数、高斯函数的一阶导数和Morlet 函数等3 种小波函数分别作为小波神经网络的隐含层传递函数,验证了3 种网络结构的非线性逼近能力。结果表明,Morlet 函数的非线性逼近精度高于Mexican Hat 函数和高斯函数的一阶导数,且收敛速度更快。因此,本文中选取Morlet 函数作为小波神经网络的隐含层传递函数。
图 1 3 层小波神经网络结构Fig. 1 Three-layer wavelet neural network
由于小波神经网络的训练效果对网络初始参数的选取表现出较强的依赖性,导致算法出现收敛速度慢或陷入局部极小值等问题。为此,利用遗传算法强大的全局寻优能力对小波神经网络的初始参数进行优化,以提高算法的适应性和泛化能力。
遗传算法是一种通过模拟自然环境下生物的遗传和进化过程而形成的自适应全局优化算法。大量实践和研究表明,标准遗传算法存在局部搜索能力差和早熟问题。对标准遗传算法的改进主要集中在编码机制、选择策略、交叉算子、变异算子等方面[20-21]。针对本文提出的小波神经网络参数优化问题,对标准遗传算法进行如下改进:
1.3.1 编码机制
标准遗传算法通常采用二进制编码方式对优化参数进行编码操作,但在处理多维、连续优化问题时,二进制编码会导致解空间的急剧增大,使得算法的搜索效率下降。相比之下,实数编码方式适用于多维、高精度的参数优化问题,因此本文采用实数编码方式对网络权值wij、vjk、伸缩参数a、平移参数b 的解空间进行编码操作,每条染色体对应一组待优化网络参数的解,其编码格式如下:
1.3.2 选择策略
为改善传统的轮盘赌选择方法导致的算法早熟问题,本文采用小范围竞争择优的选择策略,其选择方法如下:在交叉生成的2M 个个体中随机选择2 个个体,根据其适应度值选择最优个体;重复进行N 次,选出下一代的N 个父群体;采用精英保留策略保证算法的收敛性。该选择策略可保证种群中的最优个体不需经过交叉、变异操作而直接遗传给下一代。
1.3.3 适应度函数
适应度函数是种群个体特性优劣的评价标准,适应度函数值越大,表明个体的性能越优。本文运用网络模型训练误差E 的倒数构建适应度函数,其计算公式如下:式中:E 为网络模型的训练误差;P 为训练样本数;Y(i)和y(i)分别为第i 个输入样本的实际输出和期望输出。
1.3.4 交叉率 Pc和变 异 率 Pm
交叉率Pc和变异率Pm是遗传算法中的重要参数,交叉率决定了算法开辟新的搜索空间的能力,变异率则保证了种群的多样性。传统的Pc和Pm的选取方法为在给定的合理区间内随机选取,通常Pc的取值范围为0.25~1.00,Pm取值范围为0.001~0.1。为避免算法出现早熟和陷入局部极小值等问题,本文采取自适应方法对Pc和Pm进行取值,即在优化求解过程中,Pc和Pm的取值随着适应度函数的变化而变化。其求解方法如下:
式中:Fc为交叉染色体的适应度值,Fcmax、Fcmin分别为其最大值和最小值;Fm为变异染色体的适应度值,Fmmax、Fmmin分别为其最大值和最小值;Favg为种群平均适应度值;A 为调整系数。
遗传小波神经网络算法的基本思想为:利用遗传算法的全局搜索能力,对小波神经网络的连接权值、伸缩参数和平移参数进行优化,获得具有全局性特征的基础解集。将获得的基础解集输入到网络结构中,使得网络可以较快的速度收敛至全局最优解,其优化过程如下。
(1)网络初始化。确定网络结构、输入层节点数和隐含层节点数;确定网络的隐含层传递函数和输出层传递函数。本文中隐含层传递函数选取Morlet 函数,输出层传递函数选用Tan-Sigmoid 函数,其函数形式分别如式(8)和式(9)所示:
(2)网络参数编码。采用实数编码方式对网络权值、伸缩参数和平移参数的解空间进行编码操作,每条染色体对应一组待优化参数的解。随机生成X 条染色体,构成初始种群。
(3)计算种群中每个个体的适应度值。初始化种群规模、交叉率、变异率、最大进化代数等参数;将染色体中的基因片段分配至小波神经网络结构中,对网络模型进行训练,根据式(4)和(5)计算种群中个体的适应度值。
(4)对种群中的优选个体进行遗传操作。根据种群个体的适应度函数值,采用小范围竞争择优的选择策略,保留种群中的较优个体。根据式(6)和(7)给出的交叉率Pc和变异率Pm的选取方法,对保留下的优选个体进行遗传操作,得到新生代个体。
(5)迭代寻优。计算新生代个体的适应度值,重复进行上述操作,直至网络模型的训练误差达到精度要求或迭代次数达到最大进化代数。
(6)将获得的最优个体进行解码操作,将对应的网络参数的最优组合输入网络模型中,运用传感器标定数据对网络模型进行训练,利用测试数据分析网络模型的温度补偿效果。
实验所用压力传感器为MPM4530 型高温压力变送器,量程范围为0~1 MPa,测量精度±0.25%FS,工作环境温度为-40~80 ℃,介质温度为-40~150 ℃,输出信号为4~20 mA DC。在标准温度和压力输入下,对传感器进行标定实验,实验所用温度标准装置为Votsch C4-180 恒温恒湿箱,压力标准装置为0.02 级活塞式压力计,温度标定点选取20、30、40、50、60、70、80 ℃,压力标定点选取100、150、200、250、300、350、400、450、500、550、600 kPa。在每个检定温度点下恒温保持30 min 后读取传感器的输出值,实验所得标定数据如表1 所示。
表 1 传感器标定数据Table 1 The sensor calibration data
为分析传感器的温度漂移程度,计算各标定温度下传感器输出误差的最大值及其标准差,结果如表2 所示。由表可知,传感器实际输出值均小于标定压力值,随着标定温度的升高,传感器输出误差逐渐增大,其最大误差为-17.44 kPa;在20~50 ℃温度范围内,传感器输出误差的标准差较小,表明其离散程度较小;在60~80 ℃温度范围内,传感器输出误差的标准差随温度升高逐渐增大,表明在高温段传感器输出误差的离散程度较大。
表 2 各标定温度下传感器输出误差比较Table 2 Comparison of output errors of the sensor at each calibration temperature
图2 为各标定温度下传感器输出值的相对误差曲线,由图可知,其相对误差随标定温度的升高而逐渐增大,最大相对误差为-14%。
采用BP 神经网络、小波神经网络和遗传小波神经网络对传感器输出值进行温度补偿,将标定温度值和传感器输出压力值作为网络输入,标定压力值作为目标输出,对数据进行归一化处理后输入网络模型,3 种网络模型的构建方法和计算结果如下。
图 2 传感器输出值的相对误差曲线Fig. 2 Relative error curves of sensor output values
2.2.1 BP 神经网络模型
设定BP 网络的输入层节点数为2,隐含层节点数为10,输出层节点数为1,隐含层传递函数选用Tan-Sigmoid 函数,学习速率为0.01,动量因子为0.95,最大迭代次数为10 000,训练误差为0.001。将标定数据输入训练好的网络,计算各温度点下网络输出值与标定压力值的误差,其结果如图3 所示。
2.2.2 小波神经网络模型
设定小波神经网络的输入层节点数为2,隐含层节点数为15,输出层节点数为1,隐含层传递函数选用Morlet 小波函数,输出层传递函数选用Tan-Sigmoid 函数,学习速率为0.01,动量因子为0.95,最大迭代次数为10 000,训练精度为0.001。将标定数据输入训练好的网络,计算各个温度点下网络输出值与标定压力值的误差,其结果如图4 所示。
2.2.3 遗传小波神经网络模型
设定小波神经网络的初始结构为:输入层节点数为2,隐含层节点数为15,输出层节点数为1,隐含层传递函数选用Morlet 小波函数,输出层传递函数选用Tan-Sigmoid 函数,学习速率为0.01,动量因子为0.95,最大迭代次数为10 000,训练精度为0.001;采用遗传算法对小波神经网络的权值、伸缩参数和平移参数进行优化,设定遗传算法参数为:种群规模为300,初始交叉率0.75,变异率0.01。根据遗传算法获得的全局最优解调整小波网络的连接权值、伸缩参数和平移参数,计算各个温度点下网络输出值与标定压力值的误差,其结果如图5 所示。
图 3 BP 神经网络模型补偿误差Fig. 3 Compensation errors of the BP neural network model
图 4 小波神经网络模型补偿误差Fig. 4 Compensation errors of the wavelet neural network model
图 5 遗传小波神经网络模型补偿误差Fig. 5 Compensation errors of the genetic wavelet neural network model
为更直观地对3 种模型的补偿结果进行对比,分别计算3 种模型的补偿误差的分布区间、误差标准差、迭代次数和收敛时间,结果如表3 所示。由表3 可知,遗传小波神经网络模型的补偿精度最高,其误差分布区间和误差标准差均小于BP 神经网络模型和小波神经网络模型;且遗传小波神经网络模型具有最快的收敛速度,其迭代次数和收敛时间也均最小,由此验证了遗传小波神经网络模型的稳定性和泛化能力。
表4 给出了经遗传小波神经网络补偿后传感器的输出值,计算各标定温度下传感器输出误差的最大值及其标准差,结果如表5 所示。对比表2 和表5 可知,补偿后传感器的输出误差及其离散程度均显著减小,其最大误差由-17.44 kPa 减小至0.38 kPa,验证了遗传小波神经网络模型良好的补偿效果。
表 3 3 种模型补偿精度和收敛速度比较Table 3 Comparison of compensation accuracy and convergence rate of three models
表 4 补偿后传感器的输出值Table 4 The output value of the sensor after compensation
表 5 补偿后各标定温度下传感器输出误差比较Table 5 Comparison of output errors of the sensor at each calibration temperature after compensation
图6 给出了补偿后传感器输出值的相对误差曲线,由图可知,经补偿后其相对误差显著减小,最大值为0.38%。
在某次有限空间爆炸实验中,在远离爆心的某处安装如图7 所示的传感器防护装置,用于测量爆炸后的温度、压力数据。将装置安装于迎爆面上,爆炸后高温高压气体通过锥形引气装置和导气管进入测量腔,作用于传感器敏感端。图中所示压力传感器用于测量爆炸后的静态压力,热电偶1 用于测量空腔1 的温度,即压力传感器介质温度;热电偶2 用于测量空腔2 的温度,即压力传感器环境温度。
图 6 补偿后传感器输出值的相对误差曲线Fig. 6 Relative error curves of sensor output values after compensation
在某次有限空间爆炸实验中,热电偶1 测得的短时最高介质温度为127.4 ℃,热电偶2 测得的短时最高环境温度为76.7 ℃,利用遗传小波神经网络模型对起爆后120 s 的静态压力数据进行温度补偿,结果如图8 所示。
统计起爆后各时段的温度、压力值,结果如表6 所示。结合图8 和表6 内容可知,在起爆后的25 s 时间内,传感器环境温度上升较慢,最高温度不超过30 ℃,该温度下传感器的温度漂移程度较弱,压力补偿值较小,该时段内实测压力曲线和补偿压力曲线表现出较好的重复性;起爆25 s 后,传感器环境温度逐渐升高,温度漂移程度加剧,压力补偿值增大,补偿压力曲线逐渐偏离实测压力曲线。比较相近压力和温度下爆炸静态压力数据和传感器标定数据的压力补偿值可知,二者压力补偿值具有较高的一致性,由此可证明经遗传小波神经网络补偿后的爆炸静态压力值具有较高的准确度和可信度。
图 7 传感器防护装置Fig. 7 The sensor protection device
图 8 爆炸静态压力的温度补偿结果Fig. 8 Temperature compensation results of explosion static pressure
表 6 起爆后各时段温度压力值Table 6 Temperature and pressure values at various times after explosion
为改善压阻式压力传感器的温度漂移特性,构建了基于遗传算法和小波神经网络的压力传感器温度补偿模型。基于压力传感器的标定数据,采用遗传小波神经网络模型对其进行温度补偿研究,结果表明:遗传小波神经网络兼容了小波分析的时频局部特性和神经网络的自学习能力,表现出良好的收敛速度和补偿精度,可显著减小传感器的温度漂移误差。采用该方法对某次有限空间爆炸实验中的静态压力数据进行温度补偿,取得了较好的实际应用效果。