低采样率电动汽车充电的免培训非侵入式负载监测(Matlab代码实现)

本文提出了一种新的算法,能够在存在空调干扰的情况下准确地从家庭电力聚合信号中分离电动汽车充电信号,无需训练且适用于低采样率数据。实验证明了其在实际数据上的高精度,平均估计误差仅为15.7kWh/月。
摘要由CSDN通过智能技术生成

    目录

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

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

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值