• 大小: 1KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-05
  • 语言: Matlab
  • 标签: ICA  

资源简介

盲源信号分离MATLAB代码、易学易用。方便初学者用。

资源截图

代码片段和文件信息

function Z=ICA3(X)
%-----------去均值---------
[MT] = size(X); %获取输入矩阵的行/列数,行数为观测数据的数目,列数为采样点数      
average= mean(X‘)‘;  %均值
for i=1:M
    X(i:)=X(i:)-average(i)*ones(1T); 
end
%---------白化/球化------
Cx = cov(X‘1);    %计算协方差矩阵Cx
[eigvectoreigvalue] = eig(Cx); %计算Cx的特征值和特征向量
Q=eigvalue^(-1/2)*eigvector‘;   %白化矩阵
Z=Q*X;   %正交矩阵
 
%----------迭代-------
Maxcount=10000;        %最大迭代次数
Critical=0.00001;   %判断是否收敛
m=M;                %需要估计的分量的个数
W=rand(m);
for n=1:m  
    WP=W(:n);  %初始权矢量(任意)
    count=0;
    LastWP=zeros(m1);
    W(:n)=W(:n)/norm(W(:n));
   

评论

共有 条评论