function [C,D,tc]=clarity2(y,fs,T,mode)
% T: ms-ben
% A BEMENETRE TERJEDESI KESLELTETES NELKULI IMPULZUSVALASZ KELL!!
% zajkorrekció opcionális: mode paraméterrel. Zajkorrekció a zajtalan
% bemenetre is jó eredményt ad

C=NaN(size(T)); D=NaN(size(T)); % init

switch mode
    case 1,
        zaj=y(round(.9*length(y)):end).^2; % impválasz utolsó 10%-a (y // keskenysáv is lehet)
        RMS_zaj = sum(zaj)/length(zaj); % mintha ez igazából RMS négyzet lenne...
        energia = y.^2- RMS_zaj; % (y^2) - RMS(zaj // keskenysáv is lehet)
    otherwise
        energia=y.^2;
    end;
          
energia = y.^2; % (y^2) - RMS(zaj // keskenysáv is lehet)
t=(0:length(energia)-1)/fs;
Eo=sum(energia(1:end));

tc = sum(energia(:).*t(:))./Eo;

for j=1:length(T)
    pnter=T(j)*fs/1000;
    Ee=sum(energia(1:pnter));    
    El=sum(energia(pnter+1:end));    
    C(j)=10*log10(Ee/El);
    D(j)=100*(Ee/Eo);
end;