💥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.