[Speex-dev] Time Delay Estimation
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.
> -----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
>> optimally align the signals before passing them to the canceller.
>> seem to be many milliseconds of latency in a Wintel audio subsystem
>> I would like to accurately compensate for that rather than just using
>> huge echo tail.
>> I would guess that the adaptive filter must compute some good data
>> 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.
> Speex-dev mailing list
> Speex-dev at xiph.org
More information about the Speex-dev