基于深度信念网络的硅压阻式压力传感器高精度温度补偿模型的研究*
2021-09-29石文兵苏树智
石文兵,葛 斌,苏树智
(安徽理工大学计算机科学与工程学院,安徽 淮南 232001)
硅压阻式压力传感器具有成本低、体积小、可靠性高等优点,广泛应用于自动控制、铁路交通、水利水电、航空航天和智能建筑等领域,成为各领域科技进步与发展的重要元素[1-2]。然而,单晶硅作为一种比较活泼的非金属元素的半导体材料,其性能对温度非常敏感,使得压力传感器的输出不仅与压力有关,还与温度变化存在一定的关系,温度漂移现象的产生降低了传感器的测量精度[3-4]。因此,采用相应的温度补偿模型对压力传感器的数据进行处理具有重要意义,以满足实际应用中高精度和高实时性的要求。
目前,国内外学者对传感器温度补偿的方法进行了广泛地探索和研究,主要包括硬件补偿和软件补偿两个方向[5]。硬件补偿主要是通过改进电路与设计工艺或优化芯片设计等方法进行温度补偿或校正精度[6],文献[7]采用降频转换和正交采样等信号处理方法对压力传感器进行温度补偿,提高水压监测的传感精度。文献[8]采用温度补偿的声表面波装置设计了一种无线无源的应变式传感器,具有良好的温度稳定性和高应变灵敏度。软件补偿是根据传感器的感应压力、环境温度、输出电压以及参数的非线性特征通过特定的算法构造温度补偿模型,实现传感器检测精度的提升和误差修正,文献[9]根据温度、压力变化和传感器桥路输出等信息构建岭回归模型提升测量精度,实验结果显示测量精度提高至±0.03%FS。文献[10]提出了一种改进的高斯牛顿法对网络进行训练,采用BP神经网络对压力传感器的温度进行补偿,实验结果显示该方法达到的灵敏度温度系数为9.31×10-7。文献[11]构建了基于果蝇算法和RBF神经网络混合优化的温度补偿模型,较好地解决了销轴传感器的温度漂移问题。文献[12]用遗传算法对BP神经网络进行优化设计,构建MEMS谐振式加速度传感器的温度补偿模型,该方法在-10℃~80℃范围内的最大误差为0.017%。文献[13]研究了温度对电化学地震传感器的性能影响,结合传递函数的理论模型和实验数据建立了温度补偿模型,用温度补偿模型校正后的电化学地震传感器的灵敏度漂移幅度明显减小。文献[14]和[15]分别用薄板样条插值法、最小二乘法与抛物线插值相结合的方法设计传感器温度补偿模型,有效改善了传感器的测量精度。
硬件补偿通常是针对某种传感器进行特定的硬件设计或优化,由于硬件补偿调试比较复杂,通用性较差,因此工程应用中更倾向于使用软件补偿的方法。通过国内外研究现状的分析发现,传感器温度漂移软件补偿方法的研究主要集中在回归模型、插值算法和神经网络的创新性研究。DBN(Deep Belief Network,深度信念网络)作为深度学习中一种重要的网络结构,可在连续层中进行分层表征和更深层次的理解与学习,在各种工程实践应用中取得了突破性的进展,文献[16]利用DBN构建了一种效能拟合模型,用于舰艇编队作战效能敏感性分析,并验证了基于DBN的效能拟合模型对作战系统敏感性分析的有效性。目前,国内外学者尚未对DBN的温度补偿方法进行深入研究,本文将研究探索使用DBN模型分析压阻式压力传感器输入参数和输出参数之间复杂的非线性关系,构建高精度的温度补偿模型,提升压力传感器在不同温度环境下的测量精度,使其在多种应用领域的压力检测中满足高精度和高实时性的要求。
1 压阻式压力传感器温度补偿原理
1.1 压阻式压力传感器工作原理
压阻式压力传感器采用单晶硅作为弹性元件,在单晶硅的特定方向扩散一种等值的P型电阻构成惠斯通电桥,将单晶硅的压阻效应融入集成电路,当传感器感受到外部压力时,单晶硅的应变效应会使电阻与感应压力呈现特定规律的同步变化,桥式电路经放大、校正和滤波后,输出与电阻同步变化的电压信号,从而根据输入压力输出对应的电压信号。压力传感器的压阻效应与工作原理如图1所示[9-10],Vs为恒压源,传感器没有感受到外部压力时,电桥处于零点平衡状态,当传感器中的单晶硅片受到外部压力时,电桥会因电阻率改变而产生不平衡输出,R1、R2、R3和R4为4个桥臂上电阻的初始值,ΔRp为外部压力引起的电阻的变化量。不仅压力会使单晶硅产生应变效应,温度变化也会影响硅片中载流子迁移率的改变,从而电阻值也会发生相应的变化,R0为0℃时桥臂电阻的阻值,ΔRt为环境温度引起的电阻的变化量,由此可见,外部压力、环境温度以及制作工艺都会影响传感器的输出电压Vo,因此,若忽略制作工艺的影响,仅考虑温度和压力因素,桥臂电阻阻值可表示为:
图1 压力传感器的压阻效应与工作原理
1.2 温度补偿数学模型
使用压阻式压力传感器进行高精度压力检测时,理想的数学模型是Vo=kPi+Z0,即输出电压Vo是输入压力Pi的线性函数,其中k和Z0分别为传感器的灵敏度和零点,当电阻变化率非常小时,可以近似地采用该理想的线性模型计算处理。但根据压阻式压力传感器的工作原理可知,传感器的输出参数Vo不仅与输入参数压力Pi有关,还与输入参数温度Ti有关,输出电压Vo与桥臂电阻的变化量并非严格的线性关系[2],所以输出参数Vo是输入参数Pi和Ti的非线性函数,数学模型可表示为:
式中:Z(Ti)和k(Ti)是输入温度Ti的函数,分别表示温度Ti下传感器的零点和灵敏度,φ(Ti,Pi)是Ti和Pi的高阶函数,是数学模型中的非线性成分。本文研究的高精度温度补偿模型可形式化表示为:
研究目的是根据实时输入参数Ti修正输出参数Vo因温度漂移而产生的分量,并消除高阶函数φ(Ti,Pi)的非线性成分,提升压力传感器的测量精度,使其满足高精度和高实时性的要求。
2 基于DBN的温度补偿模型
DBN是“神经网络之父”Geoffrey Hinton在2006年提出的一种深度学习网络,很好地解决了深层神经网络的训练问题,推动了深度学习的快速发展,开创了深度学习在各种科技领域应用的新局面。DBN是一种生成模型,能建立特征数据和标签的联合分布,本研究主要基于DBN强大的数据表征能力构建压阻式压力传感器温度补偿模型,用无监督训练分层表征传感器输入参数和输出参数复杂的非线性关系,然后用反向传播算法对网络参数进行微调,构建逼近传感器实际检测情况的高精度温度补偿模型。
2.1 温度补偿模型的结构
要构建压阻式压力传感器温度补偿模型,需要采集不同环境下传感器的输入参数和输出参数,输入参数为影响传感器检测结果的关键特征,用向量x=(index,sensor_calibration,sensor_temperature)表示,向量x的元素依次为样本编号、传感器标定压力和温度传感器输出电压,输出参数为特定环境温度下标定压力对应的输出电压,用向量y=(sensor_pressure)表示。基于DBN的压阻式压力传感器温度补偿模型的体系结构如图2所示,该模型是由连续的多个受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)和BP神经网络(BPNN)构建的深度学习回归模型,DBN中从第一层到顶层之间每个相邻的两层可作为一个RBM,第n-1个RBMn-1的输出作为第n个RBMn的输入,wn表示RBMn中神经元的权重[17-19]。
图2 基于DBN的温度补偿模型体系结构
RBM是DBN中的核心组件,只包括可视层和隐藏层两层神经元,可视层用于训练数据的输入,隐藏层用于提取数据的特征信息,可视层和隐藏层的神经元相互连接,相同层之间的神经元无连接,RBM的结构如图3所示,其中ai、bj为可视层神经元vi和隐藏层神经元hj的偏置,wij为vi和hj的连接权重。
图3 RBM网络结构
RBM的训练过程就是调整参数拟合训练样本,使参数对应的概率分布尽可能符合训练样本,RBM用能量函数表示概率分布,能量函数计算方法如式(4)所示,θ表示神经元连接权重和偏置参数的集合,状态(v,h)的联合概率分布的计算如式(5)所示,式(6)中的Z为配分函数。
RBM用“最大似然估计”的方法根据已知样本反推最大概率导致这种计算结果的参数值,在不影响估计函数单调性的基础上,估计函数的计算过程简化为似然函数的对数,对数似然函数如式(7)所示。
2.2 温度补偿模型的训练过程与调优
温度补偿模型中的RBM通过逐层无监督训练使模型获得较好的训练参数,用对比散度算法进行参数更新,当可视层v(0)的状态确定时,隐藏层h(0)状态为1的概率的计算方法如式(8)所示。
同理,根据隐藏层计算可视层v(1)状态为1的概率p[v(1)=1|h(0)]如式(9)所示,公式中的σ为sigmoid激活函数。
对比散度算法提升了模型的学习效率和数据拟合效果,连接权重wij、可视层偏置ai和隐藏层偏置bj的更新方法如式(10)~式(12)所示,公式中η为学习率。
温度补偿模型中逐层训练的方法可以保证本层的特征提取到达最优状态,但随着逐层训练的不断进行,训练误差会依次传递给后面的网络层,使得整个深层网络的误差较大,为使温度补偿模型获得最优拟合效果,模型中的顶层BPNN根据误差调节训练参数,用反向传播算法将顶层误差传播给下一层,下面各层通过微调优化整个模型的训练参数,从而实现深层网络的优化[20]。
构建温度补偿模型的关键是设计DBN的隐藏层及各层神经元的数量,使设计的模型结构具有最优的数据拟合效果。目前DBN模型结构的设计大多是基于专家经验的应用与调试,没有提供确定的算法和计算公式,本文结合均方根误差RMSE设计了一种区间定位的DBN模型构建算法,构建逼近传感器实际检测结果的高精度温度补偿模型,RMSE计算方法如式(13)所示,y′i表示模型的拟合值,yi表示实际值,温度补偿模型构建过程见算法1。
算法1 区间定位的温度补偿模型构建算法
2.itv=[a,a+t,a+2*t,…,b];//初始区间3.for(i=0;i
算法经过模型初始化后,在初始区间进行大跨度遍历和训练,计算当前最优参数并重构搜索区间,在重构区间进行细粒度搜索定位最优参数,若重构区间能得到更优的性能则更新当前状态的网络结构,增加隐藏层并重复上述方法,如果当前状态不优于上一轮构建的模型,则结束区间定位搜索。
3 实验与结果分析
3.1 数据预处理
构建温度补偿模型需要采集实验数据并进行预处理,本研究参考借鉴文献[10]的实验数据,文献[10]对压力传感器温度补偿的研究做出了较大贡献,对作者的付出表示感谢。文献[10]的数据采集过程为:将美国霍尼韦尔26PCCFA6G型硅压阻式压力传感器和温度传感器贴附在一起置于恒温实验箱中,对26PCCFA6G分别施加899.01 hPa,948.68 hPa,998.35 hPa,1 048.03 hPa,1 097.66 hPa 5组不同的标定压力P,记录其在温度-40℃,-30℃,…,50℃,60℃下温度传感器的输出电压U1和压力传感器的输出电压U2。文献[10]中表1为采集的原始数据,主要包括实验温度、标定压力、温度传感器输出电压和压力传感器输出电压。
表1 温度补偿前压力传感器输出电压
为提高温度补偿模型的精度和DBN的收敛速度,按式(14)对文献[10]表1中的标定压力、温度传感器输出电压和压力传感器输出电压进行归一化处理,数据反归一化计算方法如式(15)所示。
文献[10]对相同温度环境下采集的各种标定压力的数据项进行局部分组归一化,考虑到数据的全局归一化比局部分组归一化能更好地维持实验数据的相关性,本文将11种温度环境下采集的各种标定压力的数据项进行全局归一化,归一化预处理后的数据如表1所示,按环境温度依次为-40℃,-30℃,…,50℃,60℃的顺序,分行显示上述5组标定压力下的温度传感器输出电压U1和压力传感器输出电压U2。
3.2 温度补偿模型的构建
实验采用Keras框架构建DBN温度补偿模型,系统运行环境为Windows 10 64位旗舰版操作系统,Intel i9-10900K 3.7GHz 10核20线程处理器,32G运行内存,根据算法1设置学习率为1e-6,激活函数为sigmoid,损失函数为mse,网络优化器为nadam,设置区间中a、b、t的初值分别为10、200和10,执行区间定位的温度补偿模型构建算法得到的隐藏层结构和均方根误差如图4所示,随着Epochs数量的增加,网络权重不断更新迭代,当温度补偿模型包括神经元数量分别为145和34的2个隐藏层时,RMSE逐渐降低并趋于稳定,Epochs接近20时,模型慢慢优化并逼近最优拟合状态,对比图4所示的3种网络结构,根据算法1确定DBN最优隐藏层结构为[145,34],最优的Epochs值为34。
图4 模型隐藏层结构和均方根误差
3.3 温度补偿模型的数据拟合
用构建好的温度补偿模型对预处理的实验数据拟合输出,得到5组标定压力和11个温度环境下的压力传感器的输出电压,按表1相同的排列顺序,得到的计算结果如表2所示。
表2 温度补偿后压力传感器输出电压
为对比压力传感器温度补偿前后的测量精度,引入满量程相对误差REFS和灵敏度温度系数Ts两项性能指标,计算方法如式(16)、式(17)所示,max(U2)和min(U2)分别表示相同标定压力下传感器输出电压的最大值和最小值,Tmax与Tmin为实验温度的最大值和最小值,本实验环境下Tmax-Tmin的值为100,REFS和Ts为多组标定压力下计算结果的平均值。
根据表1和表2可计算出压力传感器温度补偿前后的性能指标REFS和Ts,将本文方法与文献[10]基于BP神经网络的方法进行对比,实验结果如表3所示,经过温度补偿后,传感器在各标定压力下满量程相对误差和灵敏度温度系数均提升了两个数量级,具有很好的稳定性,且本文方法优于文献[10]的BP神经网络,较好地改善了温度对压力传感器测量精度的影响。
表3 温度补偿前后性能指标对比
将表1的数据反归一化,将得到温度补偿之前各温度环境下不同标定压力对应的压力传感器输出电压,表2的数据反归一化后,将得到温度补偿模型拟合输出的各温度环境下相应标定压力对应的压力传感器输出电压,DBN模型拟合前后的3维数据可视化如图5所示,观察发现,经过温度补偿模型拟合输出的数据更加平展,满量程相对误差明显降低,测量精度明显提升,很好地优化了温度漂移现象。
图5 模型拟合前后3维数据可视化
4 结论
本研究通过区间定位的温度补偿模型构建算法优化DBN结构,构建的温度补偿模型对硅压阻式压力传感器输入参数和输出参数之间复杂的非线性关系具有很好的拟合表征能力,优化后压力传感器的满量程相对误差降低至8.240×10-5,提升了传感器在不同温度环境下的测量精度,经过实验对比分析,验证了该方法的有效性。在后续的研究中,将采集更多的实验数据,丰富样本数量,进一步优化提升温度补偿模型的拟合表征能力,为各应用领域中高精度和高稳定性的压力检测提供技术支持。