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