?? icacalcpi.m
字號:
function [Gn, pi1,pi2,SIR_G,SIR_Gc] = icacalcpi( W, Q, A );
% Performance indices for extraction/separation
% (SCruces 01Jan03)
%
% These performance indices resembles Amari's index
% and work properly when the sources are normalized
% to unit variance.
if isempty(W) | (size(W,2) ~= size(A,1))
disp('First press button "RUN ALGORITHM"');
Gn = []; pi1 = []; pi2 = [];
return
end
% G = ( W * Q * A );
[G,SIR_G, SIR_Gc] = sirgmeasure(A,W*Q);
[Nrows, Ncols] = size( G );
% pi1: Gives an idea of the capability of extraction that the algorithm
% achieved. Computes some normalized mean interference due to the other sources
% that remains in the extracted/separated signals. This index ideally
% should be zero. However, it does not take into account if the
% extracted sources are different or not (this can be controled with the
% performance index pi2).
D=pinv(diag(max(abs(G.'))));
Gn =D*abs(G);
pi1=(sum(sum(Gn))-Nrows)/(Nrows*Ncols-Nrows);
% pi2: Indicates the divergence from Unitarity/Semi-Unitarity
% after the normalization of the rows of G to unit norm to remove
% any possible scaling indeterminacy. Idealy should be zero.
GG=abs(G*G');
D=pinv(diag(sqrt(diag(GG))));
GGn=D*GG*D;
if Nrows>1
pi2=(sum(sum(GGn))-Nrows)/(Nrows*(Nrows-1));
else
pi2=0;
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -