微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > RBF神经网络在智能传感器模块设计中的应用

RBF神经网络在智能传感器模块设计中的应用

时间:05-21 来源:本站整理 点击:

本文采用RBF神经网络,监测干扰量温度T的温度传感器的输出电压为UT,监测干扰量恒流源供电电流I的电流传感器的输出电压UI,改善压阻式压力传感器(JCY-201)的温度稳定性与恒流源供电电流的稳定性,构建的三传感器数据融合智能系统框图如图1所示。

图1 三传感器数据融合智能系统框图

径向基(RBF)神经网络

径向基神经网络包含三层,即输入层、径向基隐层和线性层。

RBF神经网络模型

RBF神经网络的神经元作用函数采用高斯型函数,高斯型函数的数学表达式如式1:

式1

高斯函数的输出为1和0.5所对应的输入之间的差值称为函数的分散度(spread),明显地,对应于式1的分散度为0.833。

RBF网络的神经元的总输入是权值矩阵的行向量与输入向量的向量距与偏置值的乘积,其数学表达式为式2:

式2

其中:ni为网络隐层第i个神经元的总输入;bi为第i个神经元的偏置值; 为隐层权值矩阵的第i个行向量的第j个元素;pji是第i个输入向量的j时刻输入值。

RBF神经网络的输出层通常是纯线性神经元,只是其隐层神经元是称之为radbas型的神经元。RBF神经网络模型如图2所示。

图2 径向基神经网络模型

RBF神经网络训练

由高斯函数的表达式可知,其输出最大值为1,当输入向量与权值向量的向量距减小时,神经元的输出增大。偏置b用来调节高斯函数对输入的灵敏度,b的绝对值越大,神经元对输入越灵敏,也就是说,神经元的响应函数曲线越"宽",即高斯函数的输出为0.5时的两个总输入之差的绝对值最大。对于b的取值,一般由训练样本的样本距和样本的范围决定,b的取值大于两个相邻样本点的最大距离,而小于任意两个样本的最大距离。例如,对于一个单输入单输出的RBF神经网络,输入的样本为{-6,-4,0,2,4,7},那么b的取值应大于4而小于13。

表1 学习样本的各物理量取值

表2 检验样本的各物理量取值

RBF神经网络中,其隐层神经元的数量可以说是由样本点的数量来决定的,有多少个输入样本,就有多少个隐层神经元。对于每个隐层神经元的输入,其输出满足下列条件:(1)若是其对应的样本点,我们也称其为该神经元的特征输入点,那么其对应的输出应趋于1;(2)对于非样本点输入,输入与特征输入的点距离越远,则神经元的输出越小。因此,RBF神经网络的输入权值是由样本决定的,而与期望输出并没有太大关系。

在输入权值、隐层神经元的偏置b全部确定好之后,隐层的输出也就确定了。由于RBF神经网络的输出层神经元的响应函数是纯线性函数,因此,在选定输出层神经元之后,隐层与输出层之间的神经元连接权值可以由式3确定:

其中: 为输出层第i个神经元与隐层第j个神经元的连接权值;bi为输出层第i个神经元的偏置值;aj为隐层第j个神经元的输出向量;T为理想输出矩阵。求解式3,即可得到输出层与隐层的连接权值。

三维标定实验

为了训练RBF神经网络,确定网络的各权值和偏置的具体数值,使得网络的输出值与标定值之间能够达到误差精度的要求且具有一定的推广能力,各标定点的数量应能满足神经网络训练的要求。为了全量程范围内全面检验融合后稳定性的改善效果,实际上共标定个标定点,选其中7组不同温度的标定点(共252组数据)作为神经网络的学习(训练)样本,其余的3组不同温度的标定点(共108组数据)作为网络的检验样本。

学习样本各标定点的具体数值见表3。

表3 RBF神经网络用JCY-201型压力传感器三维标定实验数据——学习样本

检验样本各标定点的具体数值见表4。

表4 RBF神经网络用JCY-201型压力传感器 三维标定实验数据——检验样本

注:UI为电流传感器输出电压,UT为温度传感器输出电压,UP为压力传感器输出电压,表4同。

RBF神经网络Matlab源程序

RBF神经网络Matlab源程序如下:

clc

clear

close all %程序开始前,清屏,清除其它变量

%输入原始数据,每一列为一个变量,行数为样本的个数。原始标定数据的输入,可以将数据直接输入至程序中,也可以将数据先输入至文件,然后在程序中读入数据文件。数据中的P、Ut、Ui、Up均为维列向量, 为标定数据点的个数

raw_data=[P Ut Ui Up]; %学习(训练)样本

data_test=[P_test Ut_test Ui_test Up_test]; %测试样本

%根据原始数据制作学习(训练)样本与测试样本,学习样本与测试样本的数据格式相同

P=raw_data(: , 1); Ui=raw_data(: , 2); Ut=raw_data(: , 3); Up=raw_data(: , 4);

P_test=data_test(:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top