基於GSP工具箱的NILM演算法matlab模擬

可编程芯片开发發表於2024-11-11

1.課題概述

基於GSP工具箱的NILM演算法matlab模擬。GSP是圖形訊號處理的縮寫,GSP非常適合對未知資料進行分類,尤其是當訓練資料非常短時。GSPBox的基本理論是譜圖論和圖濾波,因此,GSPBox中的主要物件是圖,圖包括圖的基本元素,如節點、邊和權重矩陣等。

2.系統模擬結果

3.核心程式與模型

版本:MATLAB2022a

while m<=M
    [ijk,m]
Smi_train = Smi(1:n,m);
Smi_test  = Smi(n+1:N,m);
Smi_all   = [Smi_train;Smi_test];

dpmi_train= dPmi(1:n,m);
dpmi_test = dPmi(n+1:N,m);
dpmi_all  = [dpmi_train;dpmi_test]; 
    THR       = THRm(m);
    %構圖,利用GSP工具箱計算得到估計值 
    G         = gsp_community(N);
    G         = gsp_adj2vec(G);
    G         = gsp_estimate_lmax(G);
    G         = gsp_compute_fourier_basis(G);
    AA        = full(G.A);
    %更新圖矩陣A
    delta     = 2;
    for i = 1:N
        for j = 1:N
            AA(i,j) = exp(-1*(dpmi_all(i)-dpmi_all(j))^2/delta^2);
        end
    end
    G.A = sparse(AA);
    Mask      = Smi_all;%訓練過程中,輸入m個smi和中的P
    Y         = dpmi_all;%論文公式中的ni
    %透過GSP工具箱預測未知的電氣的Smi變數,因為論文中提到用已知的Smi作為訓練label,那麼訓練已知的smi,得到的就是未知的smi
    sol       = gsp_classification_tv_new(G,Mask,Y,0.5);
Pm_pre    = sol(n+1:N);
    Kr        = mean(abs(Pm_pre))/mean(abs(dpmi_all(n+1:N)));
Pm_pre    = [dpmi_train;Pm_pre/Kr];

    for i = 1:R
        if i> n & abs(Pm_pre(i)) >= THRm(m)
Smi_pre(i,m) = 1;
        end 
        if i> n & abs(Pm_pre(i)) <THRm(m)
Smi_pre(i,m) = -1;
        end   
    end
Sreal{m}  = Smi0(:,m);
Spred{m}  = Smi_pre(:,m);%即透過GSP工具箱得到公式11中的Sm
Preal{m}  = dpmi_all;
Ppred{m}  = Pm_pre;
    m = m + 1;
end

%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if ijk == 1
   save R1.mat SrealSpredPrealPpred N n X Pi dPidPmi THR0 THRm Smi Smi0 Pi_trainPi_testPi_all
end
if ijk == 2
   save R2.mat SrealSpredPrealPpred N n X Pi dPidPmi THR0 THRm Smi Smi0 Pi_trainPi_testPi_all
end
if ijk == 3
   save R3.mat SrealSpredPrealPpred N n X Pi dPidPmi THR0 THRm Smi Smi0 Pi_trainPi_testPi_all
end

clear SrealSpredPrealPpred N n X Pi dPidPmi THR0 THRm Smi Smi0 Pi_trainPi_testPi_all

end
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中提取出代表各個子裝置消耗的區域性圖訊號。

本課題的演算法流程圖如下圖所示:

相關文章