当前位置:   article > 正文

基于GSP工具箱的NILM算法matlab仿真

基于GSP工具箱的NILM算法matlab仿真

目录

1.课题概述

2.系统仿真结果

3.核心程序与模型

4.系统原理简介

5.完整工程文件


1.课题概述

        基于GSP工具箱的NILM算法matlab仿真。GSP是图形信号处理的缩写,GSP非常适合对未知数据进行分类,尤其是当训练数据非常短时。GSPBox的基本理论是谱图论和图滤波,因此,GSPBox中的主要对象是图,图包括图的基本元素,如节点、边和权重矩阵等。

2.系统仿真结果

3.核心程序与模型

版本:MATLAB2022a

  1. .........................................................................
  2. while m<=M
  3. [ijk,m]
  4. Smi_train = Smi(1:n,m);
  5. Smi_test = Smi(n+1:N,m);
  6. Smi_all = [Smi_train;Smi_test];
  7. dpmi_train= dPmi(1:n,m);
  8. dpmi_test = dPmi(n+1:N,m);
  9. dpmi_all = [dpmi_train;dpmi_test];
  10. THR = THRm(m);
  11. %构图,利用GSP工具箱计算得到估计值
  12. G = gsp_community(N);
  13. G = gsp_adj2vec(G);
  14. G = gsp_estimate_lmax(G);
  15. G = gsp_compute_fourier_basis(G);
  16. AA = full(G.A);
  17. %更新图矩阵A
  18. delta = 2;
  19. for i = 1:N
  20. for j = 1:N
  21. AA(i,j) = exp(-1*(dpmi_all(i)-dpmi_all(j))^2/delta^2);
  22. end
  23. end
  24. G.A = sparse(AA);
  25. Mask = Smi_all;%训练过程中,输入m个smi和中的P
  26. Y = dpmi_all;%论文公式中的ni
  27. %通过GSP工具箱预测未知的电气的Smi变量,因为论文中提到用已知的Smi作为训练label,那么训练已知的smi,得到的就是未知的smi
  28. sol = gsp_classification_tv_new(G,Mask,Y,0.5);
  29. Pm_pre = sol(n+1:N);
  30. Kr = mean(abs(Pm_pre))/mean(abs(dpmi_all(n+1:N)));
  31. Pm_pre = [dpmi_train;Pm_pre/Kr];
  32. for i = 1:R
  33. if i > n & abs(Pm_pre(i)) >= THRm(m)
  34. Smi_pre(i,m) = 1;
  35. end
  36. if i > n & abs(Pm_pre(i)) < THRm(m)
  37. Smi_pre(i,m) = -1;
  38. end
  39. end
  40. Sreal{m} = Smi0(:,m);
  41. Spred{m} = Smi_pre(:,m);%即通过GSP工具箱得到公式11中的Sm
  42. Preal{m} = dpmi_all;
  43. Ppred{m} = Pm_pre;
  44. m = m + 1;
  45. end
  46. %%
  47. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  48. if ijk == 1
  49. save R1.mat Sreal Spred Preal Ppred N n X Pi dPi dPmi THR0 THRm Smi Smi0 Pi_train Pi_test Pi_all
  50. end
  51. if ijk == 2
  52. save R2.mat Sreal Spred Preal Ppred N n X Pi dPi dPmi THR0 THRm Smi Smi0 Pi_train Pi_test Pi_all
  53. end
  54. if ijk == 3
  55. save R3.mat Sreal Spred Preal Ppred N n X Pi dPi dPmi THR0 THRm Smi Smi0 Pi_train Pi_test Pi_all
  56. end
  57. clear Sreal Spred Preal Ppred N n X Pi dPi dPmi THR0 THRm Smi Smi0 Pi_train Pi_test Pi_all
  58. end
  59. 02_061m

4.系统原理简介

        非侵入式负荷监测(Non-Intrusive Load Monitoring, NILM)是一种通过分析整体电能消耗数据,解析出各个子设备独立功耗的技术。近年来,图信号处理(Graph Signal Processing, GSP)作为一种新兴的信号处理范式,被引入到NILM领域,以更好地表征和处理家庭或建筑内部电器之间的复杂交互关系。

       在GSP中,电气系统中的各个设备被视为图(graph)上的节点,设备之间的相互影响关系通过边(edges)表示。图信号是指定义在图节点上的实值函数,它可以代表节点的用电状态或功率消耗。设G=(V,E,W)是一个加权无向图,其中:

  • V是节点集合,代表单个电器或负荷组;
  • E是边集合,表示节点之间的关联性;
  • W是权重矩阵,其元素wij​量化了节点i和j之间的耦合强度。

       在NILM中,全局总能耗信号视为图信号x,它是在图G上定义的,即x∈R∣V∣,其中∣V∣是节点的数量。目标是通过某种滤波或分解技术从x中提取出代表各个子设备消耗的局部图信号。

       本课题的算法流程图如下图所示:

5.完整工程文件

v

v

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/436247
推荐阅读
相关标签
  

闽ICP备14008679号