状态估计|基于 MMSE 的分析估计器的不确定电力系统分析(Matlab代码实现)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 状态估计|基于 MMSE 的分析估计器的不确定电力系统分析(Matlab代码实现)

💥1 概述

在分布式电网系统中部署可再生资源带来了一系列新挑战,主要是由于它们的可变性和对气候参数的依赖性,这可能对测量潮流和状态估计所需的系统参数产生重大影响。第一个旨在根据某些参数的先验知识(或预测)计算整个系统参数,而后者是能源管理系统的支柱,估计在噪声条件下测量的这些参数。


大量可再生分布式能源(DER)的预期渗透正在推动下一代电力系统走向不确定性,这可能对状态估计的可靠性和复杂性产生巨大影响。因此,集成DER的电力系统的随机潮流(SPF)和预测辅助状态估计正在成为未来电网运行的主要挑战。在本文中,提出了一种新的状态估计方法,称为“均方估计”(MSE)来处理电力系统参数的不确定性。估计器旨在实现最小均方误差,并受益于先前对 SPF 的研究,其中涉及系统参数的概率密度函数。该估算器的主要优势在于它能够即时整合电力系统的动态。此外,MSE 的解析公式表示通过附加项校正的估计参数的平均值,该附加项考虑了参数的测量。结果表明,所提出的 MSE 可以通过有限数量的测量提供准确的状态估计,并保证收敛。 MSE 已使用 IEEE 14、30、39 和 118 节点模型针对不同的测量冗余进行了测试。结果已与加权最小二乘法、无味卡尔曼滤波器 (UKF) 和基于压缩传感的 UKF 等方法进行了比较。数值结果显示了卓越的性能,特别是在 WLS 和 UKF 可能导致分歧的有限数量的测量下。


📚2 运行结果

部分代码:

%% loading data
%% %%% n=1
I = 1:N_samples
    filename = strcat('X_true_',num2str(nbus),'bus_CV=',num2str(cv),'_n_z=',num2str(n_z),'.txt');
    X_true = load(filename);
    X_true = X_true(:,I)
    filename1 = strcat('X_e_',num2str(nbus),'bus_CV=',num2str(cv),'_n_z=',num2str(n_z),'.txt');
    X_mse = load(filename1);
    X_mse = X_mse(:,I)
    error_mse(:,:,n_z) = abs(X_mse - X_true)
    MAE_mse(:,n_z) = mean(error_mse(:,:,n_z),2)
    error_mse_V(:,n_z) = mean(abs(X_mse(1:nbus,:) - X_true(1:nbus,:)),2)
    mean_error_mse_V(:,n_z) = mean(error_mse_V(:,n_z))
    error_mse_del(:,n_z) = mean(abs(X_mse(nbus+1:end,:) - X_true(nbus+1:end,:)),2)
    mean_error_mse_del(:,n_z) = mean(error_mse_del(:,n_z))
    mean_absolute_error_mse_V(:,n_z) = mean(X_mse(1:nbus,:) - X_true(1:nbus,:),2)
    mean_mean_absolute_error_mse_V(:,n_z) = mean(mean_absolute_error_mse_V(:,n_z))
    mean_absolute_error_mse_del(:,n_z) = mean(X_mse(nbus+1:end,:) - X_true(nbus+1:end,:),2)
    mean_mean_absolute_error_mse_del(:,n_z) = mean(mean_absolute_error_mse_del(:,n_z))
    std_absolute_error_mse_V(:,n_z) = std(X_mse(1:nbus,:) - X_true(1:nbus,:),0,2)
    mean_std_absolute_error_mse_V(:,n_z) = mean((std_absolute_error_mse_V(:,n_z)))
    std_absolute_error_mse_del(:,n_z) = std(X_mse(nbus+1:end,:) - X_true(nbus+1:end,:),0,2)
    mean_std_absolute_error_mse_del(:,n_z) = mean((std_absolute_error_mse_del(:,n_z)))
absolute_error = [mean_error_mse_V mean_error_mse_del]*1000
mean_error = [mean_std_absolute_error_mse_V mean_std_absolute_error_mse_del]*1000
%%
h=fig('units','inches','width',7,'height',4.2,'fontsize',12);
% plot(fopt(2,:),fopt(1,:),'*');
hold on;
grid on;
% MAE_mse(83:93,3) = MAE_mse(83:93,3)/4
plot(1:1:nbus, MAE_mse(1:nbus,1),'MarkerSize',4,'MarkerFaceColor',[0.5 0.8 0.5],...
    'Marker','o',...
    'LineStyle','-',...
    'LineWidth',2,...
    'Color',[0.5 0.8 0.5]);
xlim([1 nbus]);
ylabel('Mean absolute error of voltage amplitude (pu)','FontSize',12,'FontName','Times New Roman');
xlabel('Bus #','FontSize',12,'FontName','Times New Roman');
title('Mean absolute error of voltage amplitude using MSE')
saveas(gcf, 'results/mae_voltage_amp.fig')
%%
h=fig('units','inches','width',7,'height',4.2,'fontsize',12);
% plot(fopt(2,:),fopt(1,:),'*');
hold on;
grid on;
% MAE_mse(83:93,3) = MAE_mse(83:93,3)/4
plot(2:1:nbus, MAE_mse(nbus+1:2*nbus-1,1), 'MarkerSize',4,'MarkerFaceColor',[0.5 0.8 0.5],...
    'Marker','o',...
    'LineStyle','-',...
    'LineWidth',2,...
    'Color',[0.5 0.8 0.5]);
xlim([2 nbus])
ylabel('Mean absolute error of voltage angle (rad)','FontSize',12,'FontName','Times New Roman');
xlabel('Bus #','FontSize',12,'FontName','Times New Roman');
title('Mean absolute error of voltage angle using MSE')
saveas(gcf, 'results/mae_voltage_angle.fig')
%%%%%%%%%%%%%%%
%%
%--------------------------------------------
h=fig('units','inches','width',7,'height',4.2,'fontsize',12);
% plot(fopt(2,:),fopt(1,:),'*');
hold on;
grid on;
plot(2:1:nbus, del_true, 'MarkerSize',4,'MarkerFaceColor',[0.5 0.8 0.5],...
    'Marker','square',...
    'LineStyle','-',...
    'LineWidth',1,...
    'Color',[0.5 0.8 0.5]);
% plot(2:1:nbus, del_mse,'MarkerSize',4,'MarkerFaceColor',[0.0784313753247261 0.168627455830574 0.549019634723663],...
%     'Marker','*',...
%     'LineStyle','-',...
%     'LineWidth',1,...
%     'Color',[0.847058832645416 0.160784319043159 0])
ylabel('Voltage angle (rad)','FontSize',12,'FontName','Times New Roman');
xlabel('bus #','FontSize',12,'FontName','Times New Roman');
legend('True value', 'MSE')
title('Voltage angle of true and estimated values')
saveas(gcf, 'results/voltage_ang_true_est.fig')


🌈3 Matlab代码、数据、文章详细讲解

🎉4 参考文献

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

[1]杨德昌,王雅宁,李朝霞,龚雪娇,余建树,李玲.基于改进粒子滤波的综合能源系统预测辅助状态估计[J].电力工程技术,2022,41(06):172-181.


[2]王义,杨志伟,吴坡,刘明洋,裴杰才,李春蕾.计及高比例分布式光伏能源接入的配电网状态估计[J].综合智慧能源,2022,44(10):12-18.


[3]H. Bilil and H. Gharavi, "MMSE-Based Analytical Estimator for Uncertain Power System With Limited Number of Measurements," in IEEE Transactions on Power Systems, vol. 33, no. 5, pp. 5236-5247, Sept. 2018, doi: 10.1109/TPWRS.2018.2801121.


[4]黄天敏.基于抗差状态估计的配电网运行状态诊断与分析[J].电力电容器与无功补偿,2022,43(06):92-102.DOI:10.14044/j.1674-1757.pcrpc.2022.06.014.


[5]A. Abur and A. Exposito, Power system state estimation: theory and implementation. Marcel Dekker, Inc., Cimarron Road, Monticello, New York 12701, U.S.A, 2004.


[6] A. N. Shiryaev, Probability-1, third edit ed., U. Sheldon Axler San Francisco State University, San Francisco, CA, U. Kenneth Ribet University of California, Berkeley, CA, and Advisory, Eds. Springer, 2016, vol. 95.


[7] A. P. I. o. N. Y. . Papoulis, Probability, Random Variables, and Stochastic Processes, 3rd ed., S. C.-M. U. w. Director, Ed. New York: McGraw Hill Series in Electrical Engineering, 1991.


[8] O. Kosut, L. Jia, R. J. Thomas, and L. Tong, “Malicious data attacks on the smart grid,” IEEE Transactions on Smart Grid, vol. 2, no. 4, pp. 645–658, 2011.


[9] V. Kekatos and G. B. Giannakis, “Distributed robust power system state


estimation,” IEEE Transactions on Power Systems, vol. 28, no. 2, pp. 1617–1626, 2013.


[10] ——, “From Sparse Signals to Sparse Residuals for Robust Sensing,” IEEE Transactions on Power Systems, vol. 59, no. 7, pp. 3355–3368, 2011.

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
5天前
|
算法 数据安全/隐私保护
基于AutoEncode自编码器的端到端无线通信系统matlab误码率仿真
本项目基于MATLAB 2022a实现自编码器在无线通信系统中的应用,仿真结果无水印。自编码器由编码器和解码器组成,通过最小化重构误差(如MSE)进行训练,采用Adam等优化算法。核心程序包括训练、编码、解码及误码率计算,并通过端到端训练提升系统性能,适应复杂无线环境。
102 65
|
1月前
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
54 18
|
1月前
|
算法 人机交互 数据安全/隐私保护
基于图像形态学处理和凸包分析法的指尖检测matlab仿真
本项目基于Matlab2022a实现手势识别中的指尖检测算法。测试样本展示无水印运行效果,完整代码含中文注释及操作视频。算法通过图像形态学处理和凸包检测(如Graham扫描法)来确定指尖位置,但对背景复杂度敏感,需调整参数PARA1和PARA2以优化不同手型的检测精度。
|
2月前
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,迭代次数以及信道类型对译码性能的影响
本内容介绍基于MATLAB 2022a的低密度奇偶校验码(LDPC)仿真,展示了完整的无水印仿真结果。LDPC是一种逼近香农限的信道编码技术,广泛应用于现代通信系统。BP译码算法通过Tanner图上的消息传递实现高效译码。仿真程序涵盖了不同Eb/N0下的误码率计算,并分析了码长、码率、迭代次数和信道类型对译码性能的影响。核心代码实现了LDPC编码、BPSK调制、高斯信道传输及BP译码过程,最终绘制误码率曲线并保存数据。 字符数:239
83 5
空心电抗器的matlab建模与性能仿真分析
空心电抗器是一种无铁芯的电感元件,通过多层并联导线绕制而成。其主要作用是限制电流、滤波、吸收谐波和提高功率因数。电抗器的损耗包括涡流损耗、电阻损耗和环流损耗。涡流损耗由交变磁场引起,电阻损耗与电抗器半径有关,环流损耗与各层电流相关。系统仿真使用MATLAB2022a进行。
|
2月前
|
算法 数据安全/隐私保护
数字通信中不同信道类型对通信系统性能影响matlab仿真分析,对比AWGN,BEC,BSC以及多径信道
本项目展示了数字通信系统中几种典型信道模型(AWGN、BEC、BSC及多径信道)的算法实现与分析。使用Matlab2022a开发,提供无水印运行效果预览图、部分核心代码及完整版带中文注释的源码和操作视频。通过数学公式深入解析各信道特性及其对系统性能的影响。
|
2月前
|
算法 5G 数据安全/隐私保护
基于MIMO系统的PE-AltMin混合预编码算法matlab性能仿真
本文介绍了基于交替最小化(AltMin)算法的混合预编码技术在MIMO系统中的应用。通过Matlab 2022a仿真,展示了该算法在不同信噪比下的性能表现。核心程序实现了对预编码器和组合器的优化,有效降低了硬件复杂度,同时保持了接近全数字预编码的性能。仿真结果表明,该方法具有良好的鲁棒性和收敛性。
56 8
|
3月前
|
算法 数据安全/隐私保护 索引
OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度
本项目展示了在MATLAB 2022a环境下,通过选择映射(SLM)与相位截断星座图(PTS)技术有效降低OFDM系统中PAPR的算法实现。包括无水印的算法运行效果预览、核心程序及详尽的中文注释,附带操作步骤视频,适合研究与教学使用。
|
3月前
|
机器学习/深度学习 算法 5G
基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真
基于MIMO系统的SDR-AltMin混合预编码算法通过结合半定松弛和交替最小化技术,优化大规模MIMO系统的预编码矩阵,提高信号质量。Matlab 2022a仿真结果显示,该算法能有效提升系统性能并降低计算复杂度。核心程序包括预编码和接收矩阵的设计,以及不同信噪比下的性能评估。
92 3
|
4月前
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析码长,码率,信道对译码性能的影响,对比卷积码,turbo码以及BCH码
本程序系统基于BP译码的LDPC误码率MATLAB仿真,分析不同码长、码率、信道对译码性能的影响,并与卷积码、Turbo码及BCH编译码进行对比。升级版增加了更多码长、码率和信道的测试,展示了LDPC码的优越性能。LDPC码由Gallager在1963年提出,具有低复杂度、可并行译码等优点,近年来成为信道编码研究的热点。程序在MATLAB 2022a上运行,仿真结果无水印。
78 0

热门文章

最新文章