【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 IEEE14节点

 ​

2.2 IEEE30节点

 ​ 

2.3 IEEE118节点

🎉3 参考文献

🌈4 Matlab代码、数据、文章讲解


💥1 概述

文献来源:

 【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现) 

摘要:本文开发了一种基于广义最大似然法(称为GM-IEKF)的鲁棒迭代扩展卡尔曼滤波(EKF),用于估计电力系统在受到干扰时的状态动态。所提出的GM-IEKF动态状态估计器能够比传统的EKF和无迹卡尔曼滤波器(UKF)更快、更可靠地跟踪系统瞬变,这要归功于其批处理模式回归形式以及对创新和观测异常值的鲁棒性,即使在杠杆位置也是如此。创新异常值可能是由动态状态模型中的脉冲噪声引起的,而观测异常值可能是由于较大的偏差、网络攻击或PMU的通信链路暂时丢失引起的。通过最小化标准化残差的Huber凸成本函数,实现了高斯噪声下的良好鲁棒性和较高的统计效率。后者通过预测状态和创新向量的两个时间序列的鲁棒距离的函数进行加权,并通过投影统计量进行计算。使用总影响函数推导状态估计误差协方差矩阵,从而在下一个时间步长中产生鲁棒状态预测。在IEEE 39节点测试系统上进行的仿真结果表明,GM-IEKF在高斯和非高斯过程和观测噪声下具有良好的性能。

原文摘要:

Abstract:

This paper develops a robust iterated extended Kalman filter (EKF) based on the generalized maximum likelihood approach (termed GM-IEKF) for estimating power system state dynamics when subjected to disturbances. The proposed GM-IEKF dynamic state estimator is able to track system transients in a faster and more reliable way than the conventional EKF and the unscented Kalman filter (UKF) thanks to its batch-mode regression form and its robustness to innovation and observation outliers, even in position of leverage. Innovation outliers may be caused by impulsive noise in the dynamic state model while observation outliers may be due to large biases, cyber attacks, or temporary loss of communication links of PMUs. Good robustness and high statistical efficiency under Gaussian noise are achieved via the minimization of the Huber convex cost function of the standardized residuals. The latter is weighted via a function of robust distances of the two-time sequence of the predicted state and innovation vectors and calculated by means of the projection statistics. The state estimation error covariance matrix is derived using the total influence function, resulting in a robust state prediction in the next time step. Simulation results carried out on the IEEE 39-bus test system demonstrate the good performance of the GM-IEKF under Gaussian and non-Gaussian process and observation noise.

随着广域同步相量测量的广泛部署,人们提出了新技术 通过动态状态估计器 (DSE) 有效跟踪电力系统动态 [1]–[3]。通过使用估计的系统动态 状态,可以实现改进的实时控制方案,例如通过对 FACTS 设备和 广域电力系统稳定器,仅举几例,从而增强电力系统的稳定性。

为了跟踪受到较大干扰的电力系统动态,扩展卡尔曼滤波器(EKF)和无味滤波器 卡尔曼滤波器(UKF)最近被提出。例如,黄等人。 [3] 和方和韦贝 [4] 进行了调查 使用卡尔曼滤波技术采用PMU数据进行实时状态和参数估计的好处。 在他们的工作之后,Ghahremani和Kamwa[5]提出了一个基于EKF的修改。 DSE用于应对由于无刷励磁系统而无法计量现场电压的情况。这 后来随着去中心化DSE的开发,工作得到了扩展,同时放宽了对已知DSE的假设 机械扭矩 [6]。

为了规避 EKF 的一阶逼近误差,在 模型,迭代的 EKF (IEKF) [4] 和 UKF 被提议为 替代方法。具体来说,IEKF对系统非线性方程进行线性化迭代,以补偿 高阶项,而 UKF 通过确定性地提供 sigma 来利用无迹变换 点近似随机状态向量的均值和协方差矩阵,从而获得比 EKF [7], [8]。基于 UKF 的 DSE,使用 在 [9] 中提出了四阶生成器模型来估计 单机无限总线电源系统。同样,在[10]中为多机系统开发了集中式UKF,而分散式策略则没有 [11]中提倡要求传输本地信号,显着 提高计算效率。然而,[12] 已经证明,在存在观测异常值的情况下,EKF 或 UKF 的性能会大大降低,原因是 他们缺乏稳健性。为了缓解这个问题,[11] 中提倡基于规范化创新向量的测试来检测观测异常值,尽管该测试在 创新异常值。在[13]中,鲁哈尼和阿布尔开发了一个分布式 基于UKF的两阶段鲁棒DSE,使用最小绝对值(LAV)估计器,可以处理观测异常值 PMU 测量。然而,作者没有解决动态状态估计器对创新的脆弱性。 由状态预测模型中的近似值或脉冲系统过程噪声引起的异常值。

Gandhi和Mili[14]提出了一个用于线性动力学的鲁棒卡尔曼滤波器 型。在本文中,我们将这项工作扩展到了一般非线性动态状态估计问题,其中有几个 新功能。后者包括派生新的批处理模式回归形式,以增强数据冗余,即 基于投影统计的新型异常值检测方法,并应用于预测的两个时序和 创新向量,以及所提出的鲁棒广义最大似然的鲁棒状态协方差矩阵 迭代的 EKF (GM-IEKF) 方法。这些功能使我们的GM-IEKF能够更可靠、更可靠地跟踪电力系统动态 比传统的EKF更快,即使在存在观察和创新异常值或非高斯PMU噪声的情况下也是如此。 

📚2 运行结果

2.1 IEEE14节点

  

 【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现) 

 【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现) 

2.2 IEEE30节点

 【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现) 

 【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现) 

  

2.3 IEEE118节点

 【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现) 

 【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现) 

 【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现) 

 部分代码:

%displayout(E,'a'); % Displaying output in tabular form
f = E(nbus+1:end);
e = E(1:nbus);
v=e+1i*f;
V=abs(v);
Del=round(angle(v)*180/pi*100)/100;
disp('-------- State Estimation ------------------');
disp('--------------------------');
disp('| Bus |    V   |  Angle  | ');
disp('| No  |   pu   |  Degree | ');
disp('--------------------------');
for m = 1:nbus
    fprintf('%4g', m); fprintf('  %8.4f', V(m)); fprintf('   %8.4f', Del(m)); fprintf('\n');
end
disp('---------------------------------------------');
%% calculate the estimated value
%Measurement Function, h
h1 = V(fbus (ei),1);  %voltage measurement
h2 = Del(fbus (fi),1);  %angle measurement
h3 = zeros(npi,1);  %real power injection
h4 = zeros(nqi,1);  %reactive power injection
h5 = zeros(npf,1);  %real power flow
h6 = zeros(nqf,1);  %reactive power flow
%Measurement function of power injection
for i = 1:npi
m = fbus(ppi(i));
for k = 1:nbus
% Real injection
h3(i)=h3(i)+(G(m,k)*(e(m)*e(k)+f(m)*f(k))+B(m,k)*(f(m)*e(k)-e(m)*f(k)));
% Reactive injection 
h4(i)=h4(i)+(G(m,k)*(f(m)*e(k)-e(m)*f(k))-B(m,k)*(e(m)*e(k)+f(m)*f(k)));
end
end
%Measurement function of power flow
for i = 1:npf
    m = fbus(pf(i));
    n = tbus(pf(i));
% Real injection
h5(i) =(e(m)^2 + f(m)^2)*g(m,n)-(g(m,n)*(e(m)*e(n)+f(m)*f(n))+b(m,n)*(f(m)*e(n)-e(m)*f(n)));
% Reactive injection 
h6(i) =-g(m,n)*(f(m)*e(n)-e(m)*f(n))+b(m,n)*(e(m)*e(n)+f(m)*f(n))-(e(m)^2 + f(m)^2)*(b(m,n)+bsh(m,n));
end
%% note that the angle measurement should be converted to radians for measurement comparison
h = [h1; h2; h3; h4; h5; h6];
%% % the estimated voltage and the true voltage magnitude in p.u.
figure(1) 
K=1:1:nbus;
[Vtrue Angletrue]=IEEE_true_value(nbus); % true voltage magnitude
plot(K,V,'r:*',K,Vtrue,'b--o','linewidth',1.5)
title('Volatge Magnitude Comparision Result ')
xlabel('Bus number')
xlim([1 nbus])
ylabel('Voltage in p.u')
legend('Estimated Value','True Value')
grid on
% % the estimated voltage angle and the true voltage angle in degree
figure(2)
j=1:1:nbus;
plot(j,Del,'r:*',j,Angletrue,'b--o','linewidth',1.5)
title('Voltage Angle Comparision Result')
xlabel('Bus number')
xlim([1 nbus])
ylabel('Voltage angle in degree')
legend('Estimated Value','True Value')
grid on
%% % the estimated and true measurement in degree
figure(3)
i=1:1:length(z);
estimated_measurement=plot(i,Z,'b*',i,h,'r--o');
set(estimated_measurement(1),'linewidth',1.5);
set(estimated_measurement(2),'linewidth',1.5);
title('Measurement Estimation Comparision Result')
xlabel('Measurement number')
xlim([1 length(z)])
ylabel('Measurement value')
legend('True Value','Estimated Value')
%% % the estimated and true measurement in degree
figure(3)
i=1:1:length(z);
estimated_measurement=plot(i,Z,'b*',i,h,'r--o');
set(estimated_measurement(1),'linewidth',1.5);
set(estimated_measurement(2),'linewidth',1.5);
title('Measurement Estimation Comparision Result')
xlabel('Measurement number')
xlim([1 length(z)])
ylabel('Measurement value')
legend('True Value','Estimated Value')
for i=1:nbus
voltage_error(i)=norm((Vtrue(i)-V(i)),inf)./abs(Vtrue(i));
angle_error(i)=norm((Angletrue(i)-Del(i)),inf)./abs(Angletrue(i));
end
Max_voltage_estimation_error=max(voltage_error)
Max_angle_estimation_error=max(angle_error)
Mean_voltage_estimation_error=mean(abs(Vtrue-V))
Mean_angle_estimation_error=mean(abs(Angletrue-Del))

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]J. Zhao, M. Netto and L. Mili, "A Robust Iterated Extended Kalman Filter for Power System Dynamic State Estimation," in IEEE Transactions on Power Systems, vol. 32, no. 4, pp. 3205-3216, July 2017, doi: 10.1109/TPWRS.2016.2628344.文章来源地址https://www.toymoban.com/news/detail-464660.html

🌈4 Matlab代码、数据、文章讲解

到了这里,关于【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 针对KF状态估计的电力系统虚假数据注入攻击研究(Matlab代码实现)

    针对KF状态估计的电力系统虚假数据注入攻击研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 ​ 🎉3 参考文献 🌈4 Matlab代码实现 ​ 如

    2024年02月06日
    浏览(80)
  • 【​电力电子在电力系统中的应用​】4 频率突变情况下的三相逆变电路工作状态

    【​电力电子在电力系统中的应用​】4 频率突变情况下的三相逆变电路工作状态

    【仅供参考 】 【2023.03西南交大电力电子在电力系统中的应用】 目录 0 仿真要求 1 仿真电路搭建 2 波形记录及分析         1.在MATLAB/Simulink中搭建三相逆变电路仿真模型;         2.给出逆变给定电压参考、调制波形;         3.仿真分析带载的交流电压波形、交流电

    2024年01月17日
    浏览(12)
  • 【多区域电力系统模型】三区域电力系统的LQR和模糊逻辑控制(Matlab代码实现)

    【多区域电力系统模型】三区域电力系统的LQR和模糊逻辑控制(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 多区域

    2024年02月08日
    浏览(46)
  • 【电力电子在电力系统中的应用】1 具有输出限幅的离散系统的PID控制器

    【电力电子在电力系统中的应用】1 具有输出限幅的离散系统的PID控制器

    【仅供参考 】 【2023.03西南交大电力电子在电力系统中的应用】 目录 0 仿真要求 1 PID控制器的设计与封装 1.1 搭建仿真电路 1.2 对PID控制器部分封装为subsystem模块  1.3 创建Mask模块 2 PID控制器的参数选择 2.1 Kp参数的调节 2.2 Ki参数的调节 2.3 Kd参数的调节         1、针对极

    2024年01月16日
    浏览(13)
  • 浅谈安科瑞电力智能运维在高速铁路电力系统的应用分析

    浅谈安科瑞电力智能运维在高速铁路电力系统的应用分析

    摘  要: 高速铁路电力智能运维管理系统采用终端感知层、系统网络层、系统平台层的三层网络架构模式,通过集成网关,共享通信传输设备,利用铁路专用运维传输网络通道将各类监测数据上传至运维管理平台数据进行实时分析,建立了统一的智能运维建设标准、一体化共

    2024年02月04日
    浏览(15)
  • 电力系统知识预备及学习方向

    电力系统知识预备及学习方向

    由于电源点与负荷中心多数处于不同地区,也无法大量储存,故其生产、输送、分配和消费都在同一时间内完成,并在同一地域内有机地组成一个整体,电能生产必须时刻保持与消费平衡。因此,电能的集中开发与分散使用,以及电能的连续供应与负荷的随机变化,就制约了

    2024年02月09日
    浏览(13)
  • 电力拖动自动控制系统

    电力拖动自动控制系统

    J:机械转动惯量(kg/m2);wm:转子的机械角速度(rad/s); m :转子的机械转角;Te:电磁转矩(N.m);TL:负载转矩(N.m); D:阻转矩阻尼系数;K:扭转弹性转矩系数 忽略阻尼转矩和扭转弹性转矩,运动控制系统的简化运动方程式: l转矩控制是运动控制的根本问题 要控制

    2024年02月08日
    浏览(9)
  • 电力信息系统特点及安全防御

    电力信息系统的构建,为居民用电和企业服务提供了帮助,有利于促进电力行业的信息化发展。尤其是在大数据时代,对电力信息系统的运行提出了更高的要求,只有保障其安全性与可靠性,才能防止其对居民用电产生影响。网络是一个虚拟性和开放性极强的世界,在电力信

    2024年02月05日
    浏览(10)
  • 电力系统潮流计算及Matlab编程实现

    电力系统潮流计算及Matlab编程实现

    目录 1. 潮流计算: 2. 潮流计算常用算法: 2.1 牛顿-拉夫逊算法 2.1.1 牛顿-拉夫逊法的基本原理 2.1.2  潮流计算的修正方程 2.1.3 节点电压用极坐标表示时的牛顿-拉夫逊法潮流计算 2.1.4 潮流计算程序框图 2.2 PQ分解法 3. MATLAB实例计算         潮流计算是电力系统分析中的一

    2023年04月23日
    浏览(49)
  • 记一次 .NET 某电力系统 内存暴涨分析

    记一次 .NET 某电力系统 内存暴涨分析

    前些天有位朋友找到我,说他生产上的程序有内存暴涨情况,让我帮忙看下怎么回事,最简单粗暴的方法就是让朋友在内存暴涨的时候抓一个dump下来,看一看大概就知道咋回事了。 这个问题说的再多也不为过,一定要看清楚这个程序是如何个性化发展的,可以使用 !address

    2024年02月08日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包