function [Y,maskb,select,Xgrid,prob,medias,vars]=separa_masking(X,F,T,fs,n); M=2; % Nº de sensores sizeT=length(T); sizeF=length(F); delta=Halla_delta(F,T,X,fs); [retardos,indices]=Halla_vector_retardos(delta); % Algoritmo EM-MDL estimando el numero de fuentes orden=n; medias=zeros(orden,1); prob=zeros(orden,1); var=zeros(orden,1); P=zeros(orden,1); Pold=zeros(orden,1); [P(orden) Pold(orden) medias(1:orden,1) prob(1:orden,1) vars(1:orden,1) Xgrid select ind]=EMmasking4(retardos,orden); % Ahora creo la mascara binaria maskb=zeros(sizeF,sizeT,n); for k=1:length(select); [col,fil]=ind2sub([sizeT,sizeF],indices(ind(k))); mnum(1:orden)=prob(1:orden,1)*1./(sqrt(2*pi*vars(1:orden,1))).*exp(-(select(k)-medias(1:orden,1)).^2./(2*vars(1:orden,1))); [maximo pos]=max(mnum); maskb(fil,col,pos)=1; end % Aplicamos las mascaras for k=1:n Y(:,:,k)=maskb(:,:,k).*X(:,:,1); end