故障诊断 matlab 仿真,基于MATLAB的BP网络变压器故障诊断仿真

• 62 • 内 燃 机 与 配 件基于MATLAB的BP网络变压器故障诊断仿真 郑广瑞;王娜 (包头供电局,包 头 014000) 摘要:基于油中溶解气体分析针变压器故障诊断的对传统方法,在诊断过程中各存在不同程度的诊断缺陷。导致输出的诊断结果 不准确、不能真实、全面反映变压器的真实故障状态。将人工网络算法应用到电力变压器故障诊断中。搭建了 B P 网络诊断模型,实现 对不同类型、不同程度故障的诊断。并运 用MATLAB神经网络工具箱进行仿真实验,较传统的变压器故障诊断的方法明显的提高了 故障诊断准确率。 关键词:DGA; B P 网络;变压器;故障诊断; MATLAB 0 引言 电力变压器是整个电力系统的枢纽设备之一,其运行 状态直接关系到整个系统的安全稳定运行。因此研究变压 器故障诊断具有十分重要的意义。 Dissolve Gas-in-Analysis简称D GA是目前诊断变压 器潜伏性故障最常规方法之一。通过提取变压器油样,对 油中溶解气体的在线监测和分析,可以实时或定时监测 变压器的运行状态,判断其是否正常工作。这是因为,对 于同一性质或不同性质的故障,绝缘物分解产生的气体 含量以及气体种类随故障的严重程度而异,而与绝缘油 的种类无关。因此油中溶解气体的组份和含量在一定程 度上可以反映出变压器故障状态,可将其作为反映变压 器故障的特征量。 B P 人工神经网络是人工智能方法体系成员之一。它 的基本结构是对人脑神经元的简单模拟,所以具有强大的 分布式存储能力、并行处理能力以及自适应学习能力。神 经网络自身的这些特征决定了,它可以处理从输入空间到 输出空间的非线性信息交换,因此可以解决基于油中 D GA的的变压器内部故障的诊断。 1 B P 人工神经网络原理 1.1 B P 神经元 神经网络的最基本的信息单元是人工神经元,其结 构是非线神经单元。 模式为多输入单输出如图1 所示为 神经元的基本模型图。神经元的数学模型输出可用下式 来表达: [yoFl(x„,) jx,=a( w,y„,,0 ) lyi=f( x,) 从人工神经元模型中,任意一个输入x„,(i=1,2,…,m ) 经过预处理单元I 计算后,其输出结果为: y〇,=I(x„,) (1) 其中输入函数为a ,其输入\输出关系为: x,=a( w ,y„,,0 ) ( 2 ) 式(2)中输入函数a 可以是任意函数,棕为权向量,兹 为阈值。净输入量X,经传输函数f ,在f 中产生神经元的输 出y,。B P 神经元的传输函数f 常用S 型函数使其输出值 作者简介:郑广瑞(1984-)男 ,内蒙古丰镇人,硕士研究生,主要从 事电力设备故障诊断研究;王娜(1989-),女 ,河北保定 人 ,硕士研究生,主要从事继电保护整定计算研究。 图1 神经元数学模型范围为0-1之内。 1.2人工神经网络模型 人工神经网络是一种采用误差反向递归传播的多层 前馈神经网络。其网络模型包括输入层,隐级层以及输出 层 ,其中隐级层的数量可以是一个或多个,但是现已证明 三层B P 网络就可以实现任意阶数的非线性映射。B P 网络 模型如图2 所示。 图2 B P 网络模型结构 1.3人工B P 网络原理 人工B P 网络算法其原理是将样表训练学习过程分 成误差反向传播以及正向传播两个过程。首先是将学习数 据从输入层一隐含层一输出层的正向传播过程。经过第一 阶段后,若输出层的实际输出与期望输出相差太大,则转 向第二阶段。第二阶段,通过误差反向传播来修正权系数 和阈值。将它们的误差以某种形式通过输出层一隐含层一 输

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
现有训练集数据,1000 × 7,如下: xxxxxxxxxxxxxxxxxxxx 有测试集数据,100 × 7,如下: xxxxxxxxxxxxxxxxxxxx 以上数据分别是从某系统采集的数据,  训练数据集中,分别是采集的数据和标注结果,其中1、2分别表示该系统有无故障;  测试数据集中,分别是采集的数据和真实结果,其中1、2分别表示该系统有无故障; 现在需要使用训练数据集训练BP神经网络,然后用训练好的神经网络对测试数据集进行测试,并与真实结果进行对比,最终分析出神经网络的性能。 % --- Executes on button press in pushbutton6. function pushbutton6_Callback(hObject, eventdata, handles) % hObject handle to pushbutton6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global output_test inputn_train outputn_train inputn_test ... outputps BPoutput_test xunlian_num Error input_train output_train %创建网络 %获得gui_set中值 num_yinhan=str2num(get(findobj('tag','edit_yinhan'),'string')); TF=get(findobj('tag','transfer'),'string'); %传递函数 valueTF=get(findobj('tag','transfer'),'value'); TF=TF{valueTF}; BTF=get(findobj('tag','train'),'string'); %训练函数 valueBTF=get(findobj('tag','train'),'value'); BTF=BTF{valueBTF}; BLF=get(findobj('tag','learn'),'string'); %学习函数 valueBLF=get(findobj('tag','learn'),'value'); BLF=BLF{valueBLF}; tic;%启动一个定时器 net=newff(inputn_train,outputn_train,num_yinhan,{TF},BTF,BLF); net.trainParam.epochs=str2num(get(findobj('tag','cishu'),'string')); net.trainParam.goal=str2num(get(findobj('tag','goal'),'string')); net.trainParam.lr=str2num(get(findobj('tag','rate'),'string')); net=train(net,inputn_train,outputn_train); an=sim(net,inputn_test); t=toc;%关闭定时器,获取程序运行时间 %网络输出反归一化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值