ICA (Independent Component Analysis) fast-fixed point algorithm

前端 未结 1 531
死守一世寂寞
死守一世寂寞 2021-01-16 20:42

There are several ICA algorithms in use. Such as Fast-ICA algorithm, there is one developed by Jyh-Shing and Roger Jang called a fast-fixed point algorithm. Do you know if

相关标签:
1条回答
  • 2021-01-16 20:51

    I'm a bit confused. FastICA, which you mention, implements the fast-fixed point algorithm in MATLAB. So that would be your answer then?

    EDIT: The FastICA code is pretty easy to use. The only input it needs is a mixed signal, which it then tries to unmix. You can also give it additional inputs, like doing PCA, etc.. The main difficulty is in creating the mixed signal, which needs to be a n x N matrix, with n being the number of observations and N the length of the signal.

    Here is an example that first creates one signal with 4 observations, then mixes that signal by multiplying it with a random signal, and finally uses ICA on the mixed signal to try to recover the orignal signal.

    N=500; %data size
    
    v=[0:N-1];
    
    sig(1,:)=sin(v/2); %sinusoid
    sig(2,:)=((rem(v,23)-11)/9).^5; %funny curve
    sig(3,:)=((rem(v,27)-13)/9); %saw-tooth
    sig(4,:)=((rand(1,N)<.5)*2-1).*log(rand(1,N)); %impulsive noise
    
    %create mixtures
    
    Aorig=rand(size(sig,1));
    mixedsig=(Aorig*sig);
    
    %preform ica to unmix signal
    ica = fastica(mixedsig);
    
    0 讨论(0)
提交回复
热议问题