--- a +++ b/code/preprocessing/EEG/fastica/demosig.m @@ -0,0 +1,32 @@ +function [sig,mixedsig]=demosig(); +% +% function [sig,mixedsig]=demosig(); +% +% Returns artificially generated test signals, sig, and mixed +% signals, mixedsig. Signals are row vectors of +% matrices. Input mixedsig to FastICA to see how it works. + +% @(#)$Id$ + +%create source signals (independent components) +N=500; %data size + +v=[0:N-1]; +sig=[]; +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 + +for t=1:4 +sig(t,:)=sig(t,:)/std(sig(t,:)); +end + +%remove mean (not really necessary) + +[sig mean]=remmean(sig); + +%create mixtures + +Aorig=rand(size(sig,1)); +mixedsig=(Aorig*sig);