% Progetto riallineamento segnali audio. AA 2025/26
% Nome  ..........
% Cognome  .............
% Codice Persona .............
% Data ..............
% Sono dati due file Audio1.mat e Audio2.mat. Il primo contiene il vettore
% x con un breve brano musicale. Il secondo conteine il vettore y con la
% somma del brano contenuto in x e una sua replica ritardata x(t-Tau). 
% Il progetto consiste nello stimare il ritardo Tau della replica e, dopo averla allineata con il primo segnale,  
% sottrarla a y in modo da eliminare l'effetto eco chiaramente percepibile ascoltando il vettore y. 
clear 
close all
% Fs=Frequenza di campionamento
Fs=44100;
% T=intervallo di campionamento
T=1/Fs;
% Caricamento del primo segnale 'Audio1.mat' che contiene il vettore x
load('Audio1.mat');
% Riprodurre l'audio del segnale di riferimento x
sound(x,Fs); 
pause
% L=lunghezza del segnale x
L=length(x);

% Caricamento del secondo segnale 'Audio2.mat' che contiene il vettore y.
% Il vettore y è stato generato sommando al segnale x una sua replica traslata di Tau.
load('Audio2.mat');
% riprodurre l'audio del segnale y
sound(y,Fs); 
pause

% Calcolare il ritardo temporale tra le due repliche presenti in y
% utilizzando la cross-correlazione R  tra i due segnali x e y
    R=............
% Visualizzare in figura 1 la cross-correlazione R tra -L-1 e L+1 che dovrà presentare 2
% picchi: il primo in 0, il secondo in corrspondenza del ritardo della replica 
    figure(1)
    ...............
    pause

 % Calcolare la posizione del massimo (che capiterà intorno allo zero cioè
 % al campione n1=L)
    ............

 % Per trovare il secondo massimo conviene azzerare R in un intorno di n1
 % (ad esempio da n1-100 a n1+100) e poi ricalcolare la posizione del nuovo massimo n2
    ................
    ................
  % Calcolare il ritardo tra le repliche andando a centrare
  % l'autocorrelazione. Quindi tau_stimato=(n2-L)*T
  
      tau_stimato=(n2-L)*T

    % Generare una versione ritardata "x_rit"  del segnale "x" che sia
    % allineata con la replica utilizzando lo shift con la FFT.
     x_rit=..............

     % Sottrarre x_rit al segnale y e verificare con l'ascolto che l'eco della replica sia scomparso
     v=..............
    % suonare nuovamente il file  "v"
    ..................
    pause

    % dividere la figura 2 in 2 parti e plottare "y" nella parte  alta e v nella parte bassa.
   figure(2)
   ................
   ................
   ................
   ................
