function [ rxx0, rxx1, Swn, Swcn, auto] = Autocorrelacion( nm, Sw, Swc ) 
%rx(i) = sum,n=0,N-1[S(n).S(n-i)]
ncoef = 16;
Swn = zeros(1,nm+(ncoef-1));%vector de 1515
Swcn = zeros(1,nm+(ncoef-1));%vector de 1515
auto = zeros(1, nm);
% Swn(1:12)= 9;
% Swcn(1:12) = 9;
    for k = ncoef:1:nm+(ncoef-1) %16 hasta 1515
        Swn(k) = Sw(k-(ncoef-1)); %1 hasta 1500, haciendo zeros los primeros 15
        Swcn(k) = Swc(k-(ncoef-1));%1 hasta 1500,  haciendo zeros los primeros 15
        %Se crean segmentos ficticios para calcular la %autocorrelación con todas las muestras
    end
rxx0 = zeros(1,ncoef); %Vector que contendrá los valores de la autocorrelación del
%Segmento con enventanado-normal
rxx1 = zeros(1,ncoef); %Vector que contendrá los valores de la autocorrelación del
%Segmento con enventanado-complementario 
    for i=1:1:ncoef %hasta 16
        rr = 0; %Variable temporal que almacena cada elemento de autocorrelación
        rrc = 0; %Variable temporal que almacena cada elemento de autocorrelación 
        for n = ncoef:1:nm+(ncoef-1)%16 hasta 1515
            mult = (Swn(n)*Swn(n-i+1)); % desde la 16,17,18 hasta 1515 por 16,15,14,13 hasta 1
            rr = rr + mult;%acumula el valos de mult
            
            mult1 = (Swcn(n)*Swcn(n-i+1)); 
            rrc = rrc + mult1;%acumula el valos de mult1
            
            if i==1 %el primer valor de auto sera el primer valor mult
            auto(n-(ncoef-1)) = rr; 
            end
        end
        rxx0(i) = (rr/256); % valor acumulado de rr divido sobre 256 para truncar los 8 bits mas bajos
        rxx1(i) = (rrc/256);
    end
end
