基于神经网络的故障诊断

  • 格式:docx
  • 大小:275.02 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

神经网络工具箱应用于故障诊断

1.问题描述

电力系统的安全运行具有十分重要的意义。当高压变压器或其他类似设备在运行中出现局部过热、不完全放电或电弧放电等故障时,其内部绝缘油、绝缘纸等绝缘材料将分解产生多种气体,包括短链烃类气体(C2H2、CH4等)和H2、CO2等,这些气体称作特征气体。而特征气体的含量与故障的严重程度有着很密切的关系,如下图1所示。将BP神经网络应用于变压器故障诊断对大型变压器的运行有着非常重要的意义。

2.神经网络设计

(1)输入特征向量的确定

变压器的故障主要与甲烷(CH4)、氢气(H2)、总烃(C1+C2)以及乙炔(C2H2)4 种气体的浓度有关,据此可以设定特征向量由这 4 种气体的浓度组成,即CH4、H2、C1+C2(总烃)和C2H2,同时也设定了网络输入层的节点数为4个。

(2) 输出特征向量的确定

输出量代表系统要实现的功能目标,其选择确定相对容易一些。只要问题确定了,一般输出量也就确定了。在故障诊断问题中,输出量就代表可能的故障类型。变压器的典型故障类型有:一般过热故障、严重过热故障、局部放电故障、火花放电故障以及电弧放电故障等5种类型,因此这里选择 5 个向量作为网络的输出向量,即网络输出节点确定为 5 个。根据Sigmoid 函数输出值在0 到1 之间的特点,这里设定以0 到1 之间的数值大小表示对应的故障程度,也可以理解为发生此类故障的概率,数值越接近 1 表示发生此类故障的几率越大或说对应的故障程度越大。针对本系统,

设定输出值大于等于0.5 时认为有此类故障,小于0.5 时认为无此类故障。

(3)样本的收集

输入、输出向量确定好以后就可以进行样本的收集。

数据归一化处理时,注意:在归一化处理的时候,因考虑到各气体浓度值相差较大,如总烃的浓度比H2的浓度值高出几个数量级,因此在归一化处理的时候,分别对各个气体浓度值进行处理,即最大值和最小值取的是各气体的最值,而不是所有样本值中的最值。

在本实例中采用:MATLAB利用归一化公式

u=(x-min(min(x)))./(max(max(x))-min(min(x))) (1)

在公式1中x表示所需归一化处理的数据,u表示归一化后的结果

处理结果如下:

3. BP网络的设计

BP网络模型结构的确定有两条比较重要的指导原则:

①对于一般的模式识别问题,三层网络即可以很好地解决。

②三层网络中,隐含层神经元个数n1的确定用参考公式:

n1=2n+1,其中n为输入神经元数

根据上述原则设计网络,网络的输入层神经元个数为4个,输出层神经元个数为5个,可得隐含层神经元个数n1为9。

本应用中,创建的BP网络:学训练函数TRAINSCG学习函数为LEARNGDM。

MATLAB程序清单:

q=[ 0.011660122 0.06185567 0.000455132 0.032921811;

0.002838796 0.022091311 0.001264209 0.028806584;

0.097966421 0.128129602 0.00439809 0.037037037;

0.005048886 0.125184094 0.000391089 0.197119342;

0 0.014727541 0 0.041152263;

0.011368008 0.022091311 0.002263066 0.041152263;

0.010069723 0.026509573 0.000698496 0;

0.040270877 0.111929308 0.015764827 0.016460905;

0.003646418 0.075110457 0.000318507 0.181069959;

0.013263343 0 0.000928197 0.019753086;

0.024883795 0.19263623 0.000967476 0;

0.021277448 0.187039764 0.002047668 0.9218107;

0.015242827 0.086892489 0.00057041 0;

1 1 0.04491379 0;

0.007872856 0.220913108 0.00057041 0.343703704;

0.064753967 0.639175258 1 1];

p=q';

a=[ 0 0 1 0 0;

0 1 0 0 0;

0 1 0 0 0;

0 0 0 1 0;

0 0 0 1 0;

0 1 0 0 0;

1 0 0 0 0;

1 0 0 0 0;

0 0 0 1 0;

0 1 0 0 0;

0 1 0 0 0;

0 0 0 0 1;

1 0 0 0 0;

0 1 0 0 0;

0 0 0 0 1;

0 1 0 0 0];

t=a';

net=newff([0 1;0 1;0 1;0 1],[8,5],{'tansig','purelin'},'trainscg','learngdm','msereg'); net.trainparam.epochs=200;

net=train(net,p,t);

figure

grid on;

Y=sim(net,p);

plot(p,t,p,Y,'o')

运行结果:

Y =

0.9999 0.0004 0.0002

0.0001 0.9997 0.0002

0.0000 0.0000 0.0000

error =

-0.0001 0.0004 0.0002

0.0001 -0.0003 0.0002

0.0000 0.0000 -1.0000