m基于simulink的负荷频率小波神经PID控制器仿真,并对比PID控制器

简介: m基于simulink的负荷频率小波神经PID控制器仿真,并对比PID控制器

1.算法仿真效果
matlab2022a仿真结果如下:

13eb0cada387695a4d0487faea04f29d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   其对比仿真结果可知,原系统需要在150之后才开始收敛,PID是在50开始收敛,而采用WNN之后,系统用在经过短暂的抖动之后,迅速收敛。

2.算法涉及理论知识概要

    随着电力工业的市场化改革、厂网分开,跨区域 电网的互联电力系统自动控制显得更加重要。电网 的频率稳定是电力系统安全稳定运行的重要因素, 是衡量电网稳定的重要指标。频率异常或频率崩 溃,将对电力系统本身及电力用户带来极为严重的 后果。频率与有功功率相关,电力系统中有功功率 的需求和产生上的任何变化都会反映到系统频率的 变化上。在跨区域电网的互联电力系统中,频率控 制更加复杂、导致的问题更严重。

   频率是电力系统电能质量的三大指标之一,也是电气设备设计和制造的基本技术参数。电力系统频率超过允许的偏移值就会影响设备的安全运行,还可能造成供电设备和用电设备的损坏;频率质量的优劣直接影响电力系统的安全、稳定、经济、优质运行。电力系统频率是靠电力系统内并联运行的所有发电机机组发出的有功功率总和与系统内所有负荷消耗(包括网损)的有功功率总和之间的平衡来维持的,电力系统中有功功率的需求和产生上的任何变化都会反映到系统频率的变化上。在跨区域电网的互联电力系统中,频率控制更加复杂,导致的问题更严重。随着国民经济的不断发展和电力系统规模的不断增大,对频率质量的要求将越来越高。所谓负荷频率控制,是指通过控制系统内并联运行机组输入的总功率等于系统负荷在额定频率下所消耗的有功功率将电力系统频率控制在允许范围内的过程。

   常规ANN采用Sigmoid函数作激发函数,这一 类全局基函数考虑的是输入信号的时域全局特点。 它的不足就在于对于广泛输入值的敏感性,结果网 络中所有的输入值和各个神经元的激发函数都将产 生相互影响,导致大量的参数调整和太长的计算学 习时间,收敛性差。

   跨区域电网的互联电力系统LFC如果单纯由神 经网络等智能控制技术实现,则网络节点数将增大, 学习速度慢且不容易收敛。而区域内电网的小负荷 波动和脉动完全可以通过传统的PID控制调节平 衡。所以提出了结合WNN和传统PID的控制模型, 如图1所示。2个节点的WNN(图中虚框内)完成跨区域间的 平衡控制。a是小波函数的伸缩系数,b是平移系 数,p是输入到小波神经元的权值系数,q是小波神 经元的输出加到整个网络输出的权值系数,w是神 经元间的连接或反馈权值系数,T是小波元的时滞 常数,!是加到小波神经元的偏移参数。

134daca37645e861a6b9b28f2fcc1adf_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   该LFC系统保留了传统的两级PID控制,PID 回路可以完成区域内的频率波动控制,从而减少神 经网络的节点数量。区域内的频率波动偏差信号经 PID回路控制调速器、原动机,从而控制发电机功率, 使区域内频率保持稳定。同时,区域内的频率波动 又会影响到互联的区域电网间。

3.MATLAB核心程序
f3173d7027c126fb5acc1f558e2cda04_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
e2eeb2ee93dcbe73cce565bd214c1ccf_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

%初始化函数
function [sys,x0,str,ts] = func_initialize()
sizes                = simsizes; % 读入模板,得出默认的控制量
sizes.NumContStates  = 0; 
sizes.NumDiscStates  = 3;
sizes.NumOutputs     = 4+5*6; 
sizes.NumInputs      = 9+15*6;
sizes.DirFeedthrough = 1; 
sizes.NumSampleTimes = 1;
sys                  = simsizes(sizes); 
x0                   = zeros(3,1); 
str                  = []; 
ts                   = [0.0005 0];
 
 
%离散状态变量更新函数
function sys = func_news(u)
sys=[u(1)-u(2);u(1);u(1)+u(3)-2*u(2)];
 
 
%输出量计算函数
function sys = func_wnn_out(t,x,u,K_pid,xite);
 
c3 = reshape(u(7     : 6+3*6) ,3,6); 
c2 = reshape(u(7+5*6 : 6+8*6) ,3,6);
c1 = reshape(u(7+10*6: 6+13*6),3,6);
 
b3 = u(7+3*6 : 6+4*6); 
b2 = u(7+8*6 : 6+9*6);
b1 = u(7+13*6: 6+14*6); 
 
w3 = u(7+4*6 : 6+5*6);
w2 = u(7+9*6 : 6+10*6); 
w1 = u(7+14*6: 6+15*6);
 
xx=u([6;4;5]);
 
if t==0
    c1     = 30*ones(3,6);  
    b1     = 80*ones(6,1);
    w1     = 2*ones(6,1);  
    K_pid0 = K_pid;
else
    K_pid0=u(end-2:end); 
end
%激发函数
for j=1: 6
    h(j,1)=(1 - norm(xx-c1(:,j))^2/(b1(j)*b1(j))) * exp(-norm(xx-c1(:,j))^2/(2*b1(j)*b1(j)));
end
 
dym = u(4)-w1'*h; 
w   = w1 + xite*dym*h + 0.05*(w1-w2) + 0.05*(w2-w3);
for j=1:6
   d_bi(j,1)=xite*dym*w1(j)*h(j)*(b1(j)^(-3))*norm(xx-c1(:,j))^2;
   d_ci(:,j)=xite*dym*w1(j)*h(j)*(xx-c1(:,j))*(b1(j)^(-2));
end
bi =b1 + d_bi + 0.05 * (b1-b2) + 0.05*(b2-b3);
ci =c1 + d_ci + 0.05 * (c1-c2) + 0.05*(c2-c3);
dJac=sum(w.*h.*(-xx(1)+ci(1,:)')./bi.^2);
 
KK=K_pid0+u(1)*dJac*[0.1;0.1;0.1].*x; 
 
sys=[u(6)+KK'*x; KK; ci(:); bi(:); w(:)];
相关文章
|
机器学习/深度学习 算法
【Matlab智能算法】PSO优化(双隐层)BP神经网络算法
【Matlab智能算法】PSO优化(双隐层)BP神经网络算法
|
3月前
|
移动开发 算法 API
淘宝/天猫:使用物流查询API实时显示包裹位置,减少客服咨询量
电商平台中物流咨询占客服工作40%以上,用户频繁追问包裹位置。本文介绍通过物流查询API实现包裹实时追踪,降低75.6%咨询量,提升用户体验与复购率,助力降本增效。(238字)
395 0
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch基础之张量模块数据类型、基本操作、与Numpy数组的操作详解(附源码 简单全面)
PyTorch基础之张量模块数据类型、基本操作、与Numpy数组的操作详解(附源码 简单全面)
279 0
|
SQL Java
如何使用阿里云短信服务实现登录页面,手机验证码登录?1
如何使用阿里云短信服务实现登录页面,手机验证码登录?
1015 0
|
4月前
|
存储 人工智能 供应链
深入解析Agent实现“听懂→规划→执行”全流程的奥秘
AI智能体正从"回答问题"升级为"解决问题"——它能听懂"订明早京沪最早航班"并自动完成全流程预订。本文将剖析其三大核心能力:精准意图理解、动态工具调用和任务自主执行,通过电商索赔、家居控制等案例,展示如何让AI从"会说"到"会做"。掌握智能体技术,就是抢占下一代生产力制高点。
|
10月前
|
弹性计算 运维 网络安全
阿里云轻量应用服务器产品解析与搭建个人博客网站教程参考
轻量应用服务器(Simple Application Server)作为阿里云面向单机应用场景推出的云服务器产品,以其一键部署、一站式管理、高性价比等特性,深受个人开发者、中小企业及入门级用户的喜爱。本文将全面解析阿里云轻量应用服务器的产品优势、应用场景、使用须知,以及使用轻量应用服务器搭建个人博客网站的详细教程,帮助用户更好地了解和使用这一产品。
|
开发者 C# 容器
【独家揭秘】当WPF邂逅DirectX:看这两个技术如何联手打造令人惊艳的高性能图形渲染体验,从环境搭建到代码实践,一步步教你成为图形编程高手
【8月更文挑战第31天】本文通过代码示例详细介绍了如何在WPF应用中集成DirectX以实现高性能图形渲染。首先创建WPF项目并使用SharpDX作为桥梁,然后在XAML中定义承载DirectX内容的容器。接着,通过C#代码初始化DirectX环境,设置渲染逻辑,并在WPF窗口中绘制图形。此方法适用于从简单2D到复杂3D场景的各种图形处理需求,为WPF开发者提供了高性能图形渲染的技术支持和实践指导。
1175 0
|
设计模式 编解码 API
Flutter UI设计模式与实现:深入探索与实践
【7月更文挑战第20天】Flutter以其独特的声明式UI模式和丰富的UI组件库,为移动应用开发提供了强大的支持。通过深入理解Flutter的UI设计模式和实现技巧,开发者可以构建出高性能、可维护性强的UI界面。同时,随着Flutter生态的不断完善和发展,相信未来Flutter将在移动应用开发领域发挥更加重要的作用。
|
XML API C语言
深入对比XML处理库:Mini-XML、TinyXML-2与libxml2
深入对比XML处理库:Mini-XML、TinyXML-2与libxml2
1050 2