【智能电网】智能电网中针对DOS和FDIA的弹性分布式EMA(Matlab代码实现)

简介: 【智能电网】智能电网中针对DOS和FDIA的弹性分布式EMA(Matlab代码实现)

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


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


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


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


目录


💥1 概述


📚2 运行结果


🎉3 参考文献


🌈4 Matlab代码实现


💥1 概述

智能电网是一种典型的信息物理融合系统,也是关系国民经济发展和国家安全的重大关键基础设施,其安全稳定运行至关重要。近年来,国内外智能电网由于外部攻击而导致的重大安全事件时有发生,智能电网面临的信息物理安全威胁日益严峻。假数据注入攻击作为一种新型恶意网络攻击,能够篡改智能电表中的“互动”用电信息并对智能电网的安全运行产生严重影响。


📚2 运行结果


77b5b811a6d845fabf9359b0f0678512.png

ee43ec5ed031405794970da1df018f78.png

f78e9fbd6a1f4dd997abd7ff7d989621.png


主函数部分代码:

clear;clc;
n = 8;
% weight matrix
W = [
     2/8, 3/8, 3/8, 0/8, 0/8, 0/8, 0/8, 0/8;
     1/8, 4/8, 0/8, 1/8, 1/8, 1/8, 0/8, 0/8;
     2/8, 0/8, 2/8, 0/8, 0/8, 0/8, 2/8, 2/8;
     0/8, 4/8, 0/8, 4/8, 0/8, 0/8, 0/8, 0/8;
     0/8, 4/8, 0/8, 0/8, 4/8, 0/8, 0/8, 0/8;
     0/8, 4/8, 0/8, 0/8, 0/8, 4/8, 0/8, 0/8;
     0/8, 0/8, 4/8, 0/8, 0/8, 0/8, 4/8, 0/8;
     0/8, 0/8, 4/8, 0/8, 0/8, 0/8, 0/8, 4/8;
    ];
a = [0.0024, 0.0545, 0.0877, 0.0056, 0.0547, 0.1041, 0.0870, 0.0072];
b = [5.56, 18.43, 13.17, 4.32, 15.46, 10.03, 8.45, 6.60];
p_min = [60, 50, 100, 25, 40, 30, 80, 28];
p_max = [339.69, 100.34, 159.13, 479.10, 80.56, 123.98, 109.55, 290.4];
% Initialize
lambda_state = zeros(1, n);
P_state = zeros(1, n);
delta_state = zeros(1, n);
for i = 1 : 1 : n
    if i == 1 || i == 4 || i == 8
        lambda_state(i) = 2 * a(i) + b(i);
    else
        lambda_state(i) = -2 * a(i) + b(i);
    end
end
% save data for output result
for i = 1 : 1 : n
    Lambda{i} = lambda_state(i);
    P_axis{i} = 0;
    Delta{i} = 0;
end
k_axis = 0;
delta_p = 0;
social_welfare = 0;
eta = 0.001;
k_max = 350;
for k = 1 : 1 : k_max
    % lambda iteration
    for i = 1 : 1 : n
        sigma = 0;
        for j = 1 : 1 : n
            sigma = sigma + W(i, j) * lambda_state(j);
        end
        lambda_state(i) = sigma + eta * delta_state(i);
        Lambda{i}(end + 1) = lambda_state(i);
    end


🎉3 参考文献

[1]杨新宇, 智能电网中针对“互动”用电信息的假数据注入攻击危害分析及防御策略研究. 陕西省,西安交通大学,2018-03-20.


部分理论引用网络文献,若有侵权联系博主删除。


🌈4 Matlab代码实现


相关文章
|
6天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
6天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
6天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
6天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
6天前
|
NoSQL Java 关系型数据库
【Redis系列笔记】分布式锁
分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路
135 2
|
6天前
|
存储 监控 NoSQL
【Redis】分布式锁及其他常见问题
【Redis】分布式锁及其他常见问题
32 0
|
6天前
|
NoSQL Java Redis
【Redis】Redis实现分布式锁
【Redis】Redis实现分布式锁
8 0
|
6天前
|
监控 NoSQL 算法
探秘Redis分布式锁:实战与注意事项
本文介绍了Redis分区容错中的分布式锁概念,包括利用Watch实现乐观锁和使用setnx防止库存超卖。乐观锁通过Watch命令监控键值变化,在事务中执行修改,若键值被改变则事务失败。Java代码示例展示了具体实现。setnx命令用于库存操作,确保无超卖,通过设置锁并检查库存来更新。文章还讨论了分布式锁存在的问题,如客户端阻塞、时钟漂移和单点故障,并提出了RedLock算法来提高可靠性。Redisson作为生产环境的分布式锁实现,提供了可重入锁、读写锁等高级功能。最后,文章对比了Redis、Zookeeper和etcd的分布式锁特性。
141 16
探秘Redis分布式锁:实战与注意事项
|
6天前
|
NoSQL Java 大数据
介绍redis分布式锁
分布式锁是解决多进程在分布式环境中争夺资源的问题,与本地锁相似但适用于不同进程。以Redis为例,通过`setIfAbsent`实现占锁,加锁同时设置过期时间避免死锁。然而,获取锁与设置过期时间非原子性可能导致并发问题,解决方案是使用`setIfAbsent`的超时参数。此外,释放锁前需验证归属,防止误删他人锁,可借助Lua脚本确保原子性。实际应用中还有锁续期、重试机制等复杂问题,现成解决方案如RedisLockRegistry和Redisson。

热门文章

最新文章