%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Problema de eco simple
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Modelo:  y(n) = x (n) + alpha * x(n - D) + w(n)
%
% x(n): señal transmitida
% y(n): señal captada por el microfono
% w(n): señal de ruido
% alpha: coeficiente de atenuacion
% D: retardo
% 
[x,Fs, Nbits]=wavread('frase.wav');  % Señal de voz 
x=x-mean(x);
M=length(x);
rxx=xcorr(x,x); % autocorrelacion de x(n)
Ex=sum(x.^2); % energia de la señal x(n)
L=[-(M-1):1:M-1]';
subplot(211)
plot(x)
ylabel('x(n)')
xlabel('indice "n" ')
subplot(212)
plot(L,rxx)
ylabel('rxx(l)')
xlabel('indice "l" ')
alpha=0.7; % coeficiente de atenuacion
w=0.001*randn(M,1); % ruido blanco Gaussiano
w=w-mean(w);
D=2500;   % retardo
y = x + alpha*[zeros(D,1);x(1:M-D)]+w; %señal recibida
ryy = xcorr(y,y); % autocorrelacion de y(n)
figure
plot(L,ryy)
ylabel('ryy(l)')
xlabel('indice "l" ')
soundsc(y,Fs)