Hello, We know that the autocorrelation of ana echoed signal contains peaks at points points 0,N and -N (which N is the delay of echo) and this fact can be used to estimate delay parameter of the echo and then remove that . These peaks cab be easily detected by human eye. But how do we find them automatically (using matlab code for example). There are may local optimums in a typical correlation sequence of a wave file. How do we know which of them is the echo-made peak? We don't have the original signal, Only the echoed one. Would anybody help me? Thanks.
Echo parameter estimation using autocorrelation
Started by ●March 28, 2008
Reply by ●March 29, 20082008-03-29
>Hello, >We know that the autocorrelation of ana echoed signal contains peaks >at points points 0,N and -N (which N is the delay of echo) and this >fact can be used to estimate delay parameter of the echo and then >remove that . These peaks cab be easily detected by human eye. But how >do we find them automatically (using matlab code for example). There >are may local optimums in a typical correlation sequence of a wave >file. How do we know which of them is the echo-made peak? We don't >have the original signal, Only the echoed one. >Would anybody help me? >Thanks. >********************************** Hello, the echoed signal is just a delayed version of the transmitted signal with also some spectral changes. Why should the autocorrelation of the echoed signal have a peak at N time lag? Instead, the cross-correlation between the initial signal and the echoed signal would definitely have a peak at time lag N. Manolis
Reply by ●March 29, 20082008-03-29
Hello, The echoed signal (The signal which has undergone echo) is not a delayed version of the transmitted signal and its autocorrelation (Matlab's xcorr function) indeed has peaks at N, 0, and -N. UCLA dsp lab ( http://www.ee.ucla.edu/~dsplab/aec/ ) and some other sites also confirm this. Thanks. Manolis C. Tsakiris wrote:> >Hello, > >We know that the autocorrelation of ana echoed signal contains peaks > >at points points 0,N and -N (which N is the delay of echo) and this > >fact can be used to estimate delay parameter of the echo and then > >remove that . These peaks cab be easily detected by human eye. But how > >do we find them automatically (using matlab code for example). There > >are may local optimums in a typical correlation sequence of a wave > >file. How do we know which of them is the echo-made peak? We don't > >have the original signal, Only the echoed one. > >Would anybody help me? > >Thanks. > > > ********************************** > Hello, > > the echoed signal is just a delayed version of the transmitted signal with > also some spectral changes. Why should the autocorrelation of the echoed > signal have a peak at N time lag? Instead, the cross-correlation between > the initial signal and the echoed signal would definitely have a peak at > time lag N. > > Manolis
Reply by ●March 29, 20082008-03-29
ok, i read the text at UCLA. By echoed signal it is meant the original signal plus it's echo. One way to detect these peaks at N and -N is the following: observe that the peak at time lag N is a global maximum of positive time lag (for positive arguments of the autocorrelation sequence). So by using the max function of MATLAB for the right half of the autocorrelation sequence you will find the index N. same for -N. Manolis
Reply by ●March 30, 20082008-03-30
Alireza wrote:> Hello, > The echoed signal (The signal which has undergone echo) is not a > delayed version of the transmitted signal and its autocorrelation > (Matlab's xcorr function) indeed has peaks at N, 0, and -N. UCLA dsp > lab ( http://www.ee.ucla.edu/~dsplab/aec/ ) and some other sites also > confirm this. > Thanks.The web site is using the wrong term. It is headed "auto-correlation", and then immediately starts talking about cross-correlating the transmit and receive sequences. You do realise what auto-correlation is, don't you? Its correlating a sequence with a delayed version of itself. It would be a very strange echo which was not a delayed version of the original, with a bit or frequency filtering, and maybe some dispersion. In fact, I guess that would be the very definition of the word echo. Regards, Steve
Reply by ●March 30, 20082008-03-30
oOn Mar 30, 7:02�am, Steve Underwood <ste...@dis.org> wrote:> Alireza wrote: > > Hello, > > The echoed signal (The signal which has undergone echo) is not a > > delayed version of the transmitted signal and its autocorrelation > > (Matlab's xcorr function) indeed has peaks at N, 0, and -N. UCLA dsp > > lab (http://www.ee.ucla.edu/~dsplab/aec/) and some other sites also > > confirm this. > > Thanks. > > The web site is using the wrong term. It is headed "auto-correlation", > and then immediately starts talking about cross-correlating the transmit > and receive sequences. You do realise what auto-correlation is, don't > you? Its correlating a sequence with a delayed version of itself. > > It would be a very strange echo which was not a delayed version of the > original, with a bit or frequency filtering, and maybe some dispersion. > In fact, I guess that would be the very definition of the word echo. > > Regards, > SteveHello, I applied echo to a wave file and then tried to find delay using correlation. But it found a point other than real delay which I had already applied. Is this result of another echo in original signal (Other than what I had applied)? Thanks