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

这篇具有很好参考价值的文章主要介绍了针对KF状态估计的电力系统虚假数据注入攻击研究(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

如今现代电力系统正在向智能化方向发展,大量的智能设备,如智能仪表和传感器,促进了电力系统在发电、变电、输电和配电模式方面的转变,使得智能电网成为一个典型的网络物理系统,即将物理电力传输系统和计算机网络相结合。在智能电网中,监督控制和数据采集系统(SCADA)实时收集外场设备通过网络发送来的数据,进行分析后向控制中心汇报收集到的信息,控制中心根据这些信息对电网的发电配电进行调整。

在享受智能电网带来便利的同时,由于使用了大量智能设备以及通过网络来收发数据,使得智能电网更容易遭到攻击者的攻击。最为显著的是通过有预谋地篡改智能设备的数据来达到攻击电力系统的目的,称之为虚假数据注入攻击(FDIA)。为了保障电力服务的平稳运行,智能电网的检测至关重要。

FDIA 的攻击目标主要包括测量单元、通信网络和控制设备。由于控制设备往往保护级别较高,而难以入侵,因此,FDIA 通常以前两种方式实施。在实施 FDIA 过程中,攻击者首要任务是入侵系统网络。例如,为了破坏测量单元(例如,远程终端单元和向量测量单元)的数据,攻击者往往利用加密和认证机制固有的漏洞来进行入侵并修改原始数据。在文献[17]中,研究人员揭示了通过欺骗向量测量单元全球定位系统的时间同步攻击。由于全球定位系统信号并无加密或授权机制,攻击者可以产生伪冒的全球定位系统信号,而接收器无法从原始数据中辨别出来。

攻击者在侵入系统网络后,可以获得测量修改权限。根据潮流规律,某一测量值的变化会引起相邻测量值的变化。当伪造一个数据(例如节点或传输线路的测量值)时,为了绕过坏数据检测,攻击者会考虑潮流定律,找到测量数据相应改变的最小空间。而将需要协同攻击的最小空间定义为该数据在执行 FDIA 时满足潮流规律和最优资源利用规律的最小相关空间[18]。

状态估计方法分为静态估计和动态估计。传统的电力系统状态估计方法采用的是加权最小二乘估计器等静态估计方法。这是建立在电力系统具有足够冗余且处于稳态状态的假设之上的[8]。然而,由于用电需求和发电量是实时变化的,因此真实的电力系统并不是在稳定状态下运行[19]。同时静态估计方法仅考虑当前时刻数据,没有关联先前的状态,因此其估计结果精度不佳。为了解决这些问题,动态状态估计器如卡尔曼滤波器被引入电力系统状态估计[20]。接下来讨论了不同的基于状态估计的 FDIA 检测方案,其分类如图 3.2 所示。(本文选择KF)

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

📚2 运行结果

clf
subplot(311), plot(t,yt,'b',t,y_hat,'r--'), 
xlabel('Number of Samples'), ylabel('Output')
title('Kalman Filter Response')
legend('True','Filtered')
subplot(312), plot(t,yt-y,'g',t,yt-y_hat,'r--'),
xlabel('Number of Samples'), ylabel('Error')
legend('True - measured','True - filtered')

subplot(313), plot(t, state,'g',t,[x1_hat, x2_hat,x3_hat],'r--'),
xlabel('Number of Samples'), ylabel('State')
legend('True - state','True - filtered')

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

....

figure;
plot(t, filtered, t, v);
ylim([-2 2]);
xlabel('time (in seconds)');
legA = legend('filtered','real');
set(legA,'FontSize',12)
title('signal vs. estimation');
grid on

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

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

 [y_o,t_o,x_o] = lsim( sys, [u 0*w], t);     % IDEAL behavior for comparison
figure(1)
for k = 1:length(sys.A)
    subplot( round((length(sys.A)+1)/2 ),2,k)
    plot(t,x_o(:,k),'k','linewidth',2); hold on;
    plot(t,x_(:,k),'bo:','linewidth',2); 
    stairs(t,x(:,k),'r','linewidth',1.5);
    xlabel('Time (s)'); ylabel('Amplitude'); title(['State x_' num2str(k) '(t)']); grid on;
    legend('ideal','real','estimated'); hold off;
end
subplot( round((length(sys.A)+1)/2 ),2,k+1)
plot(t,y_o,'k','linewidth',2); hold on;
plot(t,z,'bo:','linewidth',2);
stairs(t,y,'r','linewidth',1.5);
xlabel('Time (s)'); ylabel('Amplitude'); title('Output y(t)'); grid on;
legend('ideal','measured','estimated');

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

%Generate process noise and sensor noise vectors using the same noise covariance values Q and R that you used to design the filter.
rng(10,'twister');
w1 = sqrt(Q)*randn(length(t),1);
v1 = sqrt(R)*randn(length(t),1);

%Finally, simulate the response using lsim.
out = lsim(SimModel,[u,w1,v1]);
%lsim generates the response at the outputs yt and ye to the inputs applied at w, v, and u. Extract the yt and ye channels and compute the measured response.

yt = out(:,1);   % true response
ye = out(:,2);  % filtered response
y = yt + v1;     % measured response

%Compare the true response with the filtered response.
clf
subplot(211), plot(t,yt,'b',t,ye,'r--'), 
xlabel('Number of Samples'), ylabel('Output')
title('Kalman Filter Response')
legend('True','Filtered')
subplot(212), plot(t,yt-y,'g',t,yt-ye,'r--'),
xlabel('Number of Samples'), ylabel('Error')
legend('True - measured','True - filtered')

%covariance of the error before filtering (measurement error covariance)
MeasErr = yt-yt;
MeasErrCov = sum(MeasErr.*MeasErr)/length(MeasErr)  %=0
% and after filtering (estimation error covariance)
EstErr = yt-ye;
EstErrCov = sum(EstErr.*EstErr)/length(EstErr)
% so the Kalman filter reduces the error yt - y due to measurement noise

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

% Kalman filter
[y_hat, ~, ~, P_last, K_last, x_hat, K_steps, P_steps] = kalmanfilter(y, Q, R, StopTime);

e_real = x - x_hat; %state error

figure();
plot(t,y, t, y_hat);
ylim([-1.5,1.5]);
legA = legend('real','estimated');
title('true signal and filtered signal without attack');grid on;

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

🎉3 参考文献

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

[1]徐俐. 智能电网虚假数据注入攻击及检测技术研究[D].广州大学,2022.DOI:10.27040/d.cnki.ggzdu.2022.001248.文章来源地址https://www.toymoban.com/news/detail-462133.html

🌈4 Matlab代码实现

到了这里,关于针对KF状态估计的电力系统虚假数据注入攻击研究(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 IEEE14节点  ​ 2.2 IEEE30节点  ​  2.3 

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

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

    2024年01月17日
    浏览(58)
  • Python深度数据挖掘之电力系统负荷预测

      本案例将根据已收集到的电力数据,深度挖掘各电力设备的电流、电压和功率等情况,分析各电力设备的实际用电量,进而为电力公司制定电能能源策略提供一定的参考依据。更多详细内容请参考《Python数据挖掘:入门进阶与实用案例分析》一书。   为了更好地监测用

    2024年02月08日
    浏览(45)
  • 【数据挖掘torch】 基于LSTM电力系统负荷预测分析(Python代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 1.1 地区负荷的中短期预测分析 1.2 行业负荷的中期预测分

    2024年02月14日
    浏览(65)
  • 【机组组合】基于数据驱动的模型预测控制电力系统机组组合优化【IEEE24节点】(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 UC_original  2.2 UC_compact 2.3 SCi结果  🎉

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

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

    2024年02月08日
    浏览(61)
  • 【电力电子在电力系统中的应用】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日
    浏览(47)
  • 浅谈安科瑞电力智能运维在高速铁路电力系统的应用分析

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

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

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

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

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

    2024年02月08日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包