%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Problema de multiples ecos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Modelo:  y(n) = x (n) + alpha1 * x(n - D1) + alpha2 * x(n - D2) + w(n)
%
% x(n): señal transmitida
% y(n): señal captada por el microfono
% w(n): señal de ruido
% alpha1 y alpha2: coeficientes de atenuacion
% D1 y D2: retardos
% 
%[x,Fs, Nbits]=wavread('tp1_2.wav');  % Señal de voz 
%
load handel  % señal de audio
x=y;
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" ')
alpha1=0.7; % coeficiente de atenuacion
alpha2=0.9; % coeficiente de atenuacion
w=0.001*randn(M,1); % ruido blanco Gaussiano
w=w-mean(w);
D1=2000;   % retardo
D2=5000;   % retardo
y = x + alpha1*[zeros(D1,1);x(1:M-D1)]+alpha2*[zeros(D2,1);x(1:M-D2)]+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)