[Speex-dev] Time Delay Estimation

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Thu Jun 7 17:53:13 PDT 2007

Coffey, Michael wrote:
> Aha. By "frames" I assume you mean 10ms or 20ms or whatever I have
> passed as frame_size to speex_echo_state_init. Correct? (I suppose I
> could go to a smaller frame size if desiring finer precision.)

Correct. You can reduce the frame size, but it'll increase the
complexity a bit.

> I gather that prop[] contains proportional adaptation rates. I guess
> I'll have to read up on the MDF algorithm to get a better sense of what
> that means.

prop[] is indeed the proportional adaptation factor. Unlike PNLMS-like
algorithms however, one value actually applies to an entire frame, not
just to a single tap.



> Thanks
> -----Original Message-----
> From: Jean-Marc Valin [mailto:jean-marc.valin at usherbrooke.ca] 
> Sent: Thursday, June 07, 2007 4:55 PM
> To: Coffey, Michael
> Cc: speex-dev at xiph.org
> Subject: Re: [Speex-dev] Time Delay Estimation
>> Does the echo canceller maintain some data structure that I might be
>> able to use if I wanted to estimate the amount of delay between the
>> near-end and far-end signals? I'd like to be able to do this in order
> to
>> optimally align the signals before passing them to the canceller.
> There
>> seem to be many milliseconds of latency in a Wintel audio subsystem
> and
>> I would like to accurately compensate for that rather than just using
> a
>> huge echo tail.
>> I would guess that the adaptive filter must compute some good data
> that
>> I could use as observations for a tracking algorithm.
> If you don't need too much accuracy, you can look at the prop[] array.
> The index of the largest element in "prop" will give you the delay in
> frames. If you need more accurate, then you'll need to convert the
> frequency-domain weights (W) tp time domain and look for the max.
> 	Jean-Marc
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list