function q=tfuniV(Ai,Aj,Kum) % q=tfuniV(Ai,Aj,Kum) % P.Comon, version 8 march 1992. % English comments added in 1994 % Orthogonal direct real transform, q % for separating 2 sources in presence of noise % Sources are assumed zero-mean and standardized, but only their % standardized cumulants, Kum, are neede as input % REFERENCE: P.Comon, "Independent Component Analysis, a new concept?", % Signal Processing, Elsevier, vol.36, no 3, April 1994, 287-314. % %%%%% cumulants d'ordre 4 Aii=Ai.*Ai;Aij=Ai.*Aj;Ajj=Aj.*Aj; q1111=(Aii.*Aii)*Kum; q1112=(Aii.*Aij)*Kum; q1122=(Aii.*Ajj)*Kum; q1222=(Aij.*Ajj)*Kum; q2222=(Ajj.*Ajj)*Kum; %%%%% racine de Pw(x): si t est la tangente de l'angle, x=t-1/t. u=q1111+q2222-6*q1122;v=q1222-q1112;z=q1111*q1111+q2222*q2222; c4=q1111*q1112-q2222*q1222; c3=z-4*(q1112*q1112+q1222*q1222)-3*q1122*(q1111+q2222); c2=3*v*u; c1=3*z-2*q1111*q2222-32*q1112*q1222-36*q1122*q1122; c0=-4*(u*v+4*c4); %c0=q1112*q2222-q1222*q1111-3*q1112*q1111+3*q1222*q2222-6*q1122*q1112+6*q1122*q1222;c0=4*c0 Pw=[c4 c3 c2 c1 c0];R=roots(Pw);I=find(abs(imag(R))-1);t=t(j); %%%%% test et conditionnement if abs(t)