Reply by F.B. Uijtdewilligen●March 20, 20072007-03-20
"Ikaro" <ikarosilva@hotmail.com> schreef in bericht
news:1174414659.158897.36820@l77g2000hsb.googlegroups.com...
>> No, they need to be white for a good estimate of delay. There is not
>> space to discuss it all here. You need to look at Knapp and Carters
>> paper.
>>
>> Knapp, G.C. Carter, The generalized correlation method for estimation
>> of time delay, IEEE Trans. ASSP. 24 (4) (1976) 320-326. ...
>
>
> I briefly looked at the paper and I did not see any mention or proof
> of whiteness being a necassary condition to obtain a *good* unique
> estimate of the delay. In fact, it seems that the paper even recomends
> pre-filtering the signal at locations with high SNR, which would
> reduce the whiteness of the signal even futher...
>
> Offcourse, a high power white signal would be the optimal signal to
> esimate the delay because every sample is independent of each other
> and with unique values (ignoring quantitazation effects). But that
> does not mean that other signals can uniquely determine the lag
> between mics as well...
>
> Here is the abstract of the paper for those who are interested:
>
> ***
> Abstract
> <cut>
>
I've found the paper and will take a closer look at it myself pretty soon.
Some googling for the cross-correlation did turn up some nice pieces of
information, which indeed makes it look like a suitable way to do what it's
gotta do.. Of course, the sound of the surrounding will probably be far from
periodic, so that won't be a problem..
Haven't got any response back with any information about the actual nodes,
the university teachers are sooo busy these days... ahum... cough...
Still, lots of thanks for all the advices, it already helped me greatly this
far..
Reply by Ikaro●March 20, 20072007-03-20
> No, they need to be white for a good estimate of delay. There is not
> space to discuss it all here. You need to look at Knapp and Carters
> paper.
>
> Knapp, G.C. Carter, The generalized correlation method for estimation
> of time delay, IEEE Trans. ASSP. 24 (4) (1976) 320-326. ...
I briefly looked at the paper and I did not see any mention or proof
of whiteness being a necassary condition to obtain a *good* unique
estimate of the delay. In fact, it seems that the paper even recomends
pre-filtering the signal at locations with high SNR, which would
reduce the whiteness of the signal even futher...
Offcourse, a high power white signal would be the optimal signal to
esimate the delay because every sample is independent of each other
and with unique values (ignoring quantitazation effects). But that
does not mean that other signals can uniquely determine the lag
between mics as well...
Here is the abstract of the paper for those who are interested:
***
Abstract
A maximum likelihood (ML) estimator is developed for determining time
delay between signals received at two spatially separated sensors in
the presence of uncorrelated noise. This ML estimator can be realized
as a pair of receiver prefilters followed by a cross correlator. The
time argument at which the correlator achieves a maximum is the delay
estimate. The ML estimator is compared with several other proposed
processors of similar form. Under certain conditions the ML estimator
is shown to be identical to one proposed by Hannan and Thomson [10]
and MacDonald and Schultheiss [21]. Qualitatively, the role of the
prefilters is to accentuate the signal passed to the correlator at
frequencies for which the signal-to-noise (S/N) ratio is highest and,
simultaneously, to suppress the noise power. The same type of
prefiltering is provided by the generalized Eckart filter, which
maximizes the S/N ratio of the correlator output. For low S/N ratio,
the ML estimator is shown to be equivalent to Eckart prefiltering.
Reply by robert bristow-johnson●March 20, 20072007-03-20
On Mar 20, 4:12 am, minfitl...@yahoo.co.uk wrote:
> On Mar 20, 9:52 am, "robert bristow-johnson"
>
> <r...@audioimagination.com> wrote:
> > On Mar 19, 4:32 pm, "naebad" <minnae...@yahoo.co.uk> wrote:
>
> > > Cross correlation does not work well when estimating delays (unless
> > > the signals are white). You need generalized cross correlation.
>
> > the signals need not be white, but what they need to be is broadbanded
> > and *not* periodic, and then cross correlation works okay.
...
> No, they need to be white for a good estimate of delay. There is not
> space to discuss it all here. You need to look at Knapp and Carters
> paper.
>
> Knapp, G.C. Carter, The generalized correlation method for estimation
> of time delay, IEEE Trans. ASSP. 24 (4) (1976) 320-326. ...
i don't have access to that paper (actually, that might be the one and
only year i was an IEEE student member), but i have actually worked on
this directly in the past and you CAN, using cross-correlation, get a
very accurate and unambiguous measure of difference in arrival time
between two microphone recieving the same sonic signal as long as it
is not periodic (or quasi-periodic) and it is *sufficiently*
broadbanded. it does not need to be broadbanded from DC all the way
to Nyquist. and it need not be white.
FYI, the application was about that of a TV reporter speaking into a
microphone out in the field and some loud truck would drive by and
drown out the reporter for a couple of seconds. so the idea was to
use another microphone placed a meter or two away from the reporter
(usually above his head out of view if you could) and use an NLMS to
try to define a hypothetical filter between the ambient mic and the
reporter mic. but because the interference sound could arrive at
either of the mics first, we had to measure the difference in time of
arrival and "center" the LMS FIR filter around that time. the LMS
filter seemed to work like shit (didn't converge fast enough) but the
measure of path length difference using cross-correlation worked very
well when the common sound was loud, noisy, and not a tone. it
certainly was not white, but it was somewhat broadbanded, but i would
not say broadbanded up to Nyquist. the top two octaves probably had
very little energy in them.
r b-j
Reply by Jerry Avins●March 20, 20072007-03-20
minfitlike@yahoo.co.uk wrote:
...
> No, they need to be white for a good estimate of delay. There is not
> space to discuss it all here. You need to look at Knapp and Carters
> paper.
>
> Knapp, G.C. Carter, The generalized correlation method for estimation
> of time delay, IEEE Trans. ASSP. 24 (4) (1976) 320-326. ...
You must be looking at one specific approach and assuming that the
conditions to make it work apply generally. Suppose the signal consisted
of a clean narrow spike. That would make timing the differential delay
easy, and there's nothing noisy about it, let alone white.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by ●March 20, 20072007-03-20
On Mar 20, 9:52 am, "robert bristow-johnson"
<r...@audioimagination.com> wrote:
> On Mar 19, 4:32 pm, "naebad" <minnae...@yahoo.co.uk> wrote:
>
>
>
> > Cross correlation does not work well when estimating delays (unless
> > the signals are white). You need generalized cross correlation.
>
> the signals need not be white, but what they need to be is broadbanded
> and *not* periodic, and then cross correlation works okay. given
> those conditions, R_xy(tau) in
>
> R_xy(tau) = integral{ x(t)*y(t+tau)*w(t) dt}
>
> will be the same tau that you get from minimizing this difference
> function:
>
> min integral{ (x(t) - B*y(t+tau))^2 * w(t) dt}
> B,tau
>
> the value of B will be about 1/A and tau will be about T if y(t) is
> expressed as
>
> y(t) = A*x(t-T) + v(t)
>
> and v(t) is completely uncorrelated to x(t). if x(t) is periodic or
> quasi-periodic, then the problem is that there are several values of T
> (and therefore several values of tau) where the above is equally true
> so your measured delay will be ambiguous. but it doesn't have to be
> white, just nonperiodic and reasonably broadbanded.
>
> dunno what "generalized" cross correlation is.
>
> r b-j
No, they need to be white for a good estimate of delay. There is not
space to discuss it all here. You need to look at Knapp and Carters
paper.
Knapp, G.C. Carter, The generalized correlation method for estimation
of time delay, IEEE Trans. ASSP. 24 (4) (1976) 320-326. ...
F.
Reply by Andreas Huennebeck●March 20, 20072007-03-20
robert bristow-johnson wrote:
> On Mar 19, 4:32 pm, "naebad" <minnae...@yahoo.co.uk> wrote:
>>
>> Cross correlation does not work well when estimating delays (unless
>> the signals are white). You need generalized cross correlation.
>
> the signals need not be white, but what they need to be is broadbanded
> and *not* periodic, and then cross correlation works okay.
Reply by robert bristow-johnson●March 19, 20072007-03-19
On Mar 19, 4:32 pm, "naebad" <minnae...@yahoo.co.uk> wrote:
>
> Cross correlation does not work well when estimating delays (unless
> the signals are white). You need generalized cross correlation.
the signals need not be white, but what they need to be is broadbanded
and *not* periodic, and then cross correlation works okay. given
those conditions, R_xy(tau) in
R_xy(tau) = integral{ x(t)*y(t+tau)*w(t) dt}
will be the same tau that you get from minimizing this difference
function:
min integral{ (x(t) - B*y(t+tau))^2 * w(t) dt}
B,tau
the value of B will be about 1/A and tau will be about T if y(t) is
expressed as
y(t) = A*x(t-T) + v(t)
and v(t) is completely uncorrelated to x(t). if x(t) is periodic or
quasi-periodic, then the problem is that there are several values of T
(and therefore several values of tau) where the above is equally true
so your measured delay will be ambiguous. but it doesn't have to be
white, just nonperiodic and reasonably broadbanded.
dunno what "generalized" cross correlation is.
r b-j
Reply by naebad●March 19, 20072007-03-19
On Mar 20, 4:24 am, "robert bristow-johnson"
<r...@audioimagination.com> wrote:
> On Mar 19, 8:54 am, "F.B. Uijtdewilligen"
>
> <f.b.uijtdewilli...@student.utwente.nl> wrote:
>
> > The issue I'm currently dealing with is which way to compare the signals?
> > I've googled around, found some about FFTs, but is this suitable in a node
> > with somewhat limited memory and/or CPU-capabilities? Other ideas where
> > using some sort of peak-detection or dividing the audio in parts of say
> > 20ms, calculating averages for those parts.. Any ideas are welcome!
>
> look into cross-correlation.
>
> suppose y(t) has some delayed component of x(t) in it in addition to
> some other signal, v(t), completely unrelated to x(t):
>
> y(t) = A*x(t-T) + v(t)
>
> then the crosscorrelation:
>
> R_xy(tau) = integral{ x(t)*y(t+tau)*w(t) dt}
>
> will be maximum when tau = T. w(t) is just a nice window function to
> reduce edge effects and make your integral finite in domain.
>
> r b-j
Cross correlation does nto work well when estimating delays. (unless
the signals are white)You need generalized cross correlation.
N.
Reply by Jerry Avins●March 19, 20072007-03-19
F.B. Uijtdewilligen wrote:
...
> There are some prototype sensor-nodes available, which are battery-powered
> and equiped with mics, and I know they already do some filtering to the
> audio signal they capture, I've mailed to inquire some more details about
> the nodes, especially the bandwith capabilities. Should the timing be a
> problem, assumed the nodes all have the time synchronized before deployment?
> I don't suppose they would run out of sync once they are properly
> synchronized...
Many general-purpose oscillator crystals have frequency tolerances of
one part in 10^7, although crystals can be had that are better. How long
do you need to run before resynching? How much drift can you tolerate?
What procedure will you use to synch them all?
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by F.B. Uijtdewilligen●March 19, 20072007-03-19
"Freelance Embedded Systems Engineer" <g9u5dd43@yahoo.com> schreef in
bericht news:45fec2fb$0$1413$4c368faf@roadrunner.com...
> F.B. Uijtdewilligen wrote:
>> I'm kinda new to all this, but I think I'm in the right place for the
>> issue I'm trying to solve:
>>
>> For an assignment I have to do in my study, I have to implement a
>> simulation of a large sensor network, consisting of nodes equiped with
>> microphones. The idea is to let the nodes record the audio from their
>> surroundings, probably transform (simplify) it in some way and
>> communicate this with others. Thus, a node receives information from it's
>> neighbours and compares this with it's own information (for the purpose
>> of the simulation, there will only be one main sound source), if it finds
>> that the neighbouring node is "hearing the same audio", it calculates the
>> delay between it's own signal and the neighbours signal to establish
>> their distance. After some time, hopefully, the nodes will be able to
>> establish their location with respect to its neighbours
>>
>> The issue I'm currently dealing with is which way to compare the signals?
>> I've googled around, found some about FFTs, but is this suitable in a
>> node with somewhat limited memory and/or CPU-capabilities? Other ideas
>> where using some sort of peak-detection or dividing the audio in parts of
>> say 20ms, calculating averages for those parts.. Any ideas are welcome!
>>
>> Thanks for your time,
>> With kind regards,
>> Freek Uijtdewilligen
>> University of Twente, the Netherlands
>
> You haven't stated what communication bandwidth is available or if the
> sensor nodes are battery powered. It's not likely that you can compare
> the time signals of audio signal (20-20kHz), unless you have bandwidth and
> grid-powered sensors. Even then you'll need GPS level timing in order to
> synchronize the signals, (example acoustic arrays and beamforming).
>
> FFT is doable, but depends on the frequency resolution desired and the
> required bandwidth. For example, if this is a security application and
> you are trying to detect vehicles, then signal detection from 500-1000 Hz
> with a resolution of 50 Hz might be acceptable for tracking the vehicle
> with the sensor network.
> So it depends on the details of application or assumptions that you want
> to make.
>
There are some prototype sensor-nodes available, which are battery-powered
and equiped with mics, and I know they already do some filtering to the
audio signal they capture, I've mailed to inquire some more details about
the nodes, especially the bandwith capabilities. Should the timing be a
problem, assumed the nodes all have the time synchronized before deployment?
I don't suppose they would run out of sync once they are properly
synchronized...
In this first stage, I try to simulate the nodes being able to find the
distance to its neighbours, locating or tracking a sound object is a stage
further in time.. Some of the logic in that will probably be the same, yet
it still is a different thing alltogether and therefore not a part of my
research..
But still thanks for the advice, I'll post when I have more information
about the nodes..