引言
结冰传感器是用于探测结冰厚度的设备。它是基于振动原理设计的,振动体采用振管形式。当振管垂直立于环境中时,激振电路为振管提供交变磁场,振管在磁场的作用下产生磁致伸缩作轴向振动,同时信号拾取电路将此机械振动信号转变为电信号反馈给激振电路,使电路谐振于振管的轴向振动固有频率上。根据振动理论,当振管表面出现冰层时,其轴向振动固有频率会产生偏移,使电路的谐振频率也产生偏移,因此根据频率偏移量即可确定冰层的厚度。
结冰传感器是一种检测飞机、输电线、建筑等物体表面结冰厚度的传感器,通过结冰传感器可以将结冰信号转换为可以直接检测的电学信号。 结冰传感器的分类方法很多。根据检测机理可将结冰传感器分为:光学式、电学式、机械式等。光学式根据冰、水与空气的光学性质的不同检测结冰。
人工神经网络(ArtificialNeuralNetworks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(ConnectionistModel),它是一种模范动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
d=F(f′-f0) (1)
式中:d为冰层厚度;
f′为结冰后的振动频率;
f0为结冰前的振动频率。
f0为定值,所以冰层厚度只与频率值f′有关系,但频率值与冰层厚度为非线性关系,不能简单地由频率值确定所测的冰层厚度,这样增加了厚度显示和处理的复杂性。为了保证一定的测量精度以便于在测控系统中应用,必须对其进行非线性校正。
神经网络方法为传感器的非线性校正方法的研究开辟了新的途径。具体做法是,以实验数据 为样本训练BP网络,得到结冰传感器的逆模型,从而使传感器经神经网络组成的系统线性化,传感器的非线性特性得到补偿,校正后的网络可按线性特性处理,提高了测量精度,大大拓展了结冰传感器的应用范围。
1、BP网络
人工神经网络是一门新兴交叉学科。在人工神经网络的实际应用中,80%~90 %的人工神经网络模型是采用BP神经网络。它是一种前馈神经网络,通常由输入层、输出层和若干隐含层组成,相邻层之间通过突触权矩阵连接起来。研究最多的是一个隐含层的网络,因为3层的前馈网络就能逼近任意的连续函数。
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
各层节点的输出按下式计算
式中yi是节点输出,xi是节点接收的信息,wij是相关连接权重,θi为阈值,n是节点数。
2、用BP网络进行数据拟合
2.1、基本原理
采用神经网络方法对传感器输出特性进行数据拟合的原理图由传感器模型和神经网 络校正模型两部分组成,如图1所示。图中,假设传感器的静态输入输出的特性为y=f(x)。采用实验值通过对BP网进行训练,可以得到传感器的逆模型x=f-1(y)。
2.2、学习算法
BP网络的基本学习算法是误差反向传播学习算法。这种算法简单、实用,但从数学上看它归结为一非线性的梯度优化问题,因此不可避免的存在局部极小问题,学习算法的收敛速度慢,通常需要上千次或更多。
近些年许多专家对学习算法进行了广泛的研究,现在已发展了许多的改进学习算法,如快速下降法、Levenberg-Marquardt法等,收敛速度快,能满足实时性要求。
其中Levenberg-Marquardt法简称L-M算法,是一种将最陡下降法和牛顿法相结合的算法。它的本质是二阶梯度法,故具有很快的收敛速度。基于此,文中采用L-M算法来训练BP网络。它不需要计算Hessian矩阵,而是利用式(3)进行估算:
式中,J为Jacobian矩阵,包括网络误差项相对于权重和阈值的一阶微分 ,e为网络的误差项。Jacobian矩阵可以利用标准的BP算法得出,这比直接计算Hessian矩阵简单得多。LM算法的迭代式为:
如果比例系数μ=0,则为牛顿法,如果μ取值很大,则接近梯度下降法,每迭代成 功一步,则μ减小一些,这样在接近误差目标的时候,逐渐与牛顿法相似。牛顿法在接近误 差的最小值的时候,计算速度更快,精度也更高。
2.3、MATLAB中学习过程与仿真
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB6.2中的神经网络工具箱功能强大,不但能方便创建常见的神经网络,还支持用户自己构造网络。
在实际中,根据测量范围和精度要求,以实验中的101个数据为样本,在MATLAB中构造BP网络进行训练。在训练之前,对数据进行了预处理。谐振频率值为输入样本P,将冰层厚度变换到[-1,1]的范围后作为输出样本t.训练完后,再通过后处理还原回原来的样本空间。神经网络模型为单输入单输出,隐含层有5个神经元,训练中误差指标定为0.01.训练结果如图2、图3、表1.训练进行了15步就满足了误差要求,收敛速度较快。
3、结束语
神经网络作为一种分析、处理问题的新方法已经在很多领域显示了强 大的生 命力。由于神经网络具有高速并行计算能力和非线性变换能力,能够随时进行再学习且学习 效率很高, 特别对于产品性能一致性不高的结冰传感器更见其效果。相对其他校正方式而言,神经网络 无须深入了解对象的机理,具 有很强的曲线拟合能力。实验表明,补偿的效果令人满意,大大方便了结冰传感器在测控系 统中的应用。
全部0条评论
快来发表一下你的评论吧 !