您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 《基于人工神经网络的压力传感器的温度补偿办法》
黑龙江大学校级课题答辩基于人工神经网络的压力传感器的温度补偿学生姓名:平昊张天博黄卓然指导教师:王璐•1.1压力传感器•1.2压力传感器的温度补偿办法•1.3国内现状•1.4本课题目的第一章绪论1.1压力传感器压力传感器是工业实践中最为常用的一种传感器。一般普通压力传感器的输出为模拟信号。我们通常使用的压力传感器主要是利用压电效应制造。压力传感器的温度范围分为补偿温度范围和工作温度范围。补偿温度范围是由于施加了温度补偿,精度进入额定范围内的温度范围。工作温度范围是保证压力传感器能正常工作的温度范围。压力传感器的温度范围1.2压力传感器的温度补偿办法硬件补偿软件补偿硬件补偿软件补偿软件补偿可以分为数值分析法和人工智能法专家系统、神经网络、遗传算法和模糊系统硬件补偿主要采用硬件电路来消除其影响,但难以做到全额补偿,且存在补偿电路硬件漂移等问题。基于数值分析的温度补偿法,最常采用的是最小二乘曲线拟合法或多段折线逼近法.最小二乘法是基于梯度变化量的计算来求最优解的,是一种局部搜索技术,容易进入局部最优,但很难得到全局最优解。多段折线逼近法的算法较复杂,拟合精确度不高。考虑到传统的基于数值分析方法的不足,本文采用了人工神经网络理论对压力传感器进行温度补偿。人工神经网络有很强的非线性建模能力,能完成复杂的非线性映射功能,同时,神经网络具有自组织、自学习及推理的自适应能力。1.3国内现状随着人工智能特别是神经网络技术的发展,为传感器信号的处理提供了新的有效手段,BP神经网络具有很强的函数逼近能力,被人们用来进行传感器的各种非线性误差的补偿,然而,BP神经网络存在收敛速度慢、易于陷入局部极小等点。由于人工神经网络具有独特的非线性映射能力、很强的环境适应能力。目前,人工神经网络已在语音识别,模式分类,图像处理和自动控制等领域获得了比较成功的应用,并已成为解决一批工程实际问题的有效工具之一。人工神经网络在一些领域的成功应用,促使人们开展人工神经网络在传感器非线性领域中的应用研究。利用人工神经网络所具有独特的非线性映射能力,实现传感器非线性静态校正。1.4本课程目的新的人工神经网络计算方法对压力传感器进行了温度补偿.由于神经网络具有非线性特性、自适应和学习能力,只要能获取传感器的输入和输出数据,通过人工神经网络融合,可以逼近其输入输出特性.融合结果表明,其拟合精度较高,实现了压力传感器的温度补偿。第二章基于BP神经网络的压力传感器温度补偿目录2.1神经网络的发展历史及其现状2.3BP神经网络2.2神经网络结构2.5BP神经网络在实例中的应用2.4BP网络的优点及其局限性2.6BP神经网络在压力传感器温度补偿方面的应用2.1神经网络的发展历史及其现状人工神经网络是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统。神经网络具有非线性自适应的信息处理能力,克服了传统人工智能方法对于直觉的缺陷,因而在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。MATLAB是一种科学与工程计算的高级语言,广泛地运用于包括信号与图像处理,控制系统设计,系统仿真等诸多领域。为了解决神经网络问题中的研究工作量和编程计算工作量问题,目前工程领域中较为流行的软件MATLAB,提供了现成的神经网络工具箱解决实际问题中,应用MATLAB语言构造典型神经网络的激活传递函数,编写各种网络设计与训练的子程序,网络的设计者可以根据需要调用工具箱中有关神经网络的设计训练程序,使自己能够从烦琐的编程中解脱出来,减轻工程人员的负担,从而提高工作效率。2.2神经网络结构人工神经网络是模仿生物神经网络功能的一种经验模型。生物神经元受到传入的刺激,其反应又从输出端传到相联的其它神经元,输入和输出之间的变换关系一般是非线性的。神经网络是由若干简单(通常是自适应的)元件及其层次组织,以大规模并行连接方式构造而成的网络,按照生物神经网络类似的方式处理输入的信息。模仿生物神经网络而建立的人工神经网络,对输入信号有功能强大的反应和处理能力。人工神经元(感知器)示意图若干神经元连接成网络,其中的一个神经元可以接受多个输入信号,按照一定的规则转换为输出信号。由于神经网络中神经元间复杂的连接关系和各神经元传递信号的非线性方式,输入和输出信号间可以构建出各种各样的关系,因此可以用来作为黑箱模型,表达那些用机理模型还无法精确描述、但输入和输出之间确实有客观的、确定性的或模糊性的规律。2.3BP神经网络BP(BackPropagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。BP神经网络是误差反向传播神经网络的简称,它由一个输入层,一个或多个隐含层和一个输出层构成,每一次由一定数量的的神经元构成。这些神经元如同人的神经细胞一样是互相关联的。2.4BP网络的优点及其局限性BP神经网络最主要的优点是具有极强的非线性映射能力。理论上,对于一个三层和三层以上的BP网络,只要隐层神经元数目足够多,该网络就能以任意精度逼近一个非线性函数。其次,BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。这是因为它采用了分布并行的信息处理方式,对信息的提取必须采用联想的方式,才能将相关神经元全部调动起来。缺点:学习效率低,速度慢。2.5BP神经网络在实例中的应用神经网络工具箱是在MATLAB环境下开发出来的许多工具箱之一。它以人工神经网络理论为基础,利用MATLAB编程语言构造出许多典型神经网络的框架和相关的函数。最新版本的神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器和BP网络等。对于各种不同的网络模型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便。MatlabR2007神经网络工具箱中包含了许多用于BP网络分析与设计的函数,BP网络的常用函数如表所示BP网络的常用函数表函数类型函数名称函数用途前向网络创建函数newcf创建级联前向网络Newff创建前向BP网络传递函数logsigS型的对数函数tansigS型的正切函数purelin纯线性函数学习函数learngd基于梯度下降法的学习函数learngdm梯度下降动量学习函数性能函数mse均方误差函数msereg均方误差规范化函数显示函数plotperf绘制网络的性能plotes绘制一个单独神经元的误差曲面plotep绘制权值和阈值在误差曲面上的位置errsurf计算单个神经元的误差曲面2.6BP神经网络在压力传感器温度补偿方面的应用welcometousethesePowerPointtemplates,NewContentdesign,10yearsexperience步骤使用误差反向运算在工具箱中的训练函数来训练反馈神经网络去解决温度补偿的问题。训练的过程大概分为四步:1.训练数据的集合;2.创建神经网络模型;3.训练神经网络;4.对神经网络的新输入的响应仿真。原始数据神经网络的压力传感器的实际输出电压值压力P(Kpa)不同温度下的压力传感器的实际输出电压值-20℃0℃20℃40℃0-0.070.050.020.12010.8311.0610.737.814023.1522.7222.8216.536036.235.2935.2125.598049.7448.3648.3634.9410063.9661.9461.7544.6112078.575.9275.6354.8114093.3190.2289.5165.02160107.25104.39103.4174.75数据的归一化由于BP神经网络隐含层采用的传递函数为对散S型函数和双曲线正切S型函数,它们的输出范围分别在(0,1)和(-1,1)之间。由此可知归一化处理后的数值范围,即在-1和l之同。为此,依据下面两个公式;minmaxmaxininininXXXXT05.0)(9.0minmaxminininininYYYYPwelcometousethesePowerPointtemplates,NewContentdesign,10yearsexperience归一化后数据神经网络的压力传感器的标准样本数据值压力Pm(标准值)不同温度下的压力传感器的标准电压值-20℃0℃20℃40℃0.0500000.16250.1015650.105520.1035880.1032820.2750.2163620.217270.2205240.2200940.38750.3379610.3377420.3403620.341460.50.4641260.4630060.467550.4667110.61250.5966270.5931570.597060.5962490.7250.732110.7271420.7313090.7328870.83750.8701080.8641940.8655580.8696580.951111程序p=[00.1015650.2163620.3379610.4641260.5966270.732110.8701081;00.105520.217270.3377420.4630060.5931570.7271420.8641941;00.1035880.2205240.3403620.467550.597060.7313090.8655581;00.1032820.2200940.341460.4667110.5962490.7328870.8696581];%输入矩阵t=[0.050.16250.2750.38750.50.61250.7250.83750.95];%目标矩阵程序new=newff(minmax(p),[1111],{'tansig','tansig','purelin'},'trainlm');%创建前向BP神经网络,输入层1个神经元,隐层有11个神经元,输出层有1个神经元组成,输入层到隐层的传函为tansig,隐层到输出层的传函为logsig,输出层的传函为'purelin,训练函数采用trainlmnet=init(new);%网络初始化net.iw{1}%显示初始后的权值net.b{1}%显示初始后的阀值net.trainParam.lr=0.3;%确定网络的学习速率0.3程序net.trainParam.epochs=1000;%训练的最大步数net.trainParam.goal=0.000001;%确定训练的预期误差为0.001net=train(net,p,t);%网络进行训练net.iw{1}%显示初始后的权值net.b{1}%显示初始后的阀值y=sim(net,p)%对网络进行仿真,y为仿真输出结果。%对网络进行仿真,y为仿真输出结果。结果处理BP神经网络仿真结果y=0.05000.16270.27540.38710.50050.61150.72480.83730.9492实验结果数据分析由仿真的数据进行反归一化,得到融合值如下表所示:融合数据最大偏差为0.178,均方差为0.0876融合值020.03540.07159.92880.08899.822119.964139.964159.875误差00.0350.0710.0720.0880.1780.0360.0360.125均方差0.0876融合数据最大偏差为0.178,均方差为0.0876融合值020.03540.07159.92880.08899.822119.964139.964159.875误差00.0350.0710.0720.0880.1780.0360.
本文标题:《基于人工神经网络的压力传感器的温度补偿办法》
链接地址:https://www.777doc.com/doc-841485 .html