目录
💥1 概述
📚2 运行结果
🎉3 参考文献
👨💻4 Matlab代码
💥1 概述
非侵入式负载监测(NILM)是智能电网和智能家居领域的一个重要话题。许多能量分解算法已经提出,用于从聚合信号观测中检测各种个体设备。然而,由于电动汽车(EV)在家中充电是最近才出现的情况,因此很少有研究关注住宅环境中EV充电的能量分解。最近的研究表明,特别是在夏季,电动汽车充电对智能电网具有很大的影响。因此,电动汽车充电监测已成为能源分解中更为重要和紧迫的缺失部分。
本文提出了一种新的方法,可以从聚合的实际功率信号中分离电动汽车充电信号。所提出的方法可以有效抑制来自空调(AC)的干扰,在存在AC功率信号的情况下,能够准确检测和估计电动汽车充电,具有较高的精度。此外,所提出的算法不需要训练,要求较低的计算负荷,具有较高的估计精度,并且适用于低采样率(1/60 Hz)记录的数据。当该算法在来自11户人家大约一年的实际数据上测试时(总共有125个月的数据),估计电动汽车充电能耗的平均误差为15.7kwh/月(而电动汽车充电的真实平均能耗为208.5kwh/月),电动汽车充电负载信号分解的平均归一化均方误差为0.19。
📚2 运行结果
主函数部分代码:
% Demo file to show using the proposed algorithm to estimate the electric % Vehicle charging load day by day. clear; clc; close all; addpath(genpath('Data')); % load monthly data (detailed descriptions can be found in the 'Data' fold) ID = '3367_2013_05' ; % 3367 is the House ID, 2013 is the Year, 05 is the month load(ID) ; % -------------------- Estimate EV day by day ------------------ EVsignal = zeros(size(agg_signal)); for k = 1 : size(agg_signal,2) ts = agg_signal(:,k); if strcmp(ID(end-1:end),'09') | strcmp(ID(end-1:end),'08') | strcmp(ID(end-1:end),'07') | strcmp(ID(end-1:end),'06') contextInfo.season = 1 ; % summer season else contextInfo.season = 0; end contextInfo.EVamplitude = 3000; % pre-defined amplitude of EV power signal (unit: Watt) verbose = 0 ; % not show estimation progress [EVsignal(:,k)] = estEV(ts, contextInfo, verbose); end % ----------------------- show the result day by day -------------------- for k = 1 : size(agg_signal,2) figure; subplot(411);plot(agg_signal(:,k)); title(['Whole-house Aggregated Power Signal ',num2str(k)]); xlim([-inf,inf]); ylim([0,12000]); subplot(412);plot(AC(:,k)); title(['Air-Conditioner Power Signal']); xlim([-inf,inf]); ylim([0,6000]); subplot(413);plot(EV(:,k),'r','linewidth',2); title(['EV: (',num2str(sum(EV(:,k))/60000),')']); if max(EV(:,k)) < 2500, axis([-inf,inf,0,6000]); else, xlim([-inf,inf]); ylim([0,6000]); end; title('Ground-Truth of Electric Vehicle Charging Load'); subplot(414); plot(EVsignal(:,k),'m','linewidth',2); title(['New Algorithm: (',num2str( sum(EVsignal(:,k))/60000 ), ')']); if max(EVsignal(:,k)) < 2500, axis([-inf,inf,0,6000]); else, xlim([-inf,inf]); ylim([0,6000]); end; title('Estiamted Electric Vehicle Charging Load'); end % calculate the percentage of EV in the aggregated signal in a month EVpercentage = sum(sum(EV))/sum(sum(agg_signal)); % Energy estimation accuracy EVPE = 1-abs(sum(sum(EV))-sum(sum(EVsignal)))/(sum(sum(EV))); % Normalized MSE MSE = (norm(EV - EVsignal,'fro')/norm(EV,'fro'))^2; fprintf('\nResult: Energy Accuracy: %3.1f%% |Difference(kWh): %4.1f |MSE: %f | Percentage: %3.2f%% | Truth: %g (kWh); Estimated: %g (kWh) \n',... EVPE*100, sum(sum(EV))/60/1000 - sum(sum(EVsignal))/60/1000, mean(MSE),EVpercentage*100, sum(sum(EV))/60/1000, sum(sum(EVsignal))/60/1000);
🎉3 参考文献
[1]王宁,王存旭,张皓然等.基于独立成分分析算法的非侵入式家用电动汽车充电负载的提取[J].沈阳工程学院学报(自然科学版),2022,18(01):56-61.
部分理论引用网络文献,若有侵权联系博主删除。