Forums

Cheap & cheesy way to tell when sound source is pointing at you?

Started by Robert Oschler April 17, 2005
Hello again,

It's me the novice DSP'er who would be king..  er.. frog? :)

I want to tell when a sound source is "pointing" towards a microphone.  The
sound source is mobile, but I have complete control over its movement and
sound emission.  I can easily play repeatedly a pre-recorded sound from the
sound source, which will be identical every time it's played.  Obviously, it
will not be identical when picked up by the microphone due to room
reflection, volume roll-off, distance from the microphone, etc.

I know that I can have it spin in a circle and do a simple volume level
check for the point of max volume, but I'd like to back that up with a
secondary test.  My reasoning is, if the sound source is far from the
microphone in a highly reflective room, let's say about 10 feet or so, the
volume differential between dead forward and not, may be too fragile a
measure.

So is there a frequency or echo test I can do as a secondary judgement?  I'm
guessing that there should be a noticeable drop-off in highs as the sound
source turns away from the microphone.  Are there any cone of projection
equations that predict what the drop-of would be, which I can use as a test?
Or perhaps something that can take a sound wave and return a value
indicating the relative strength of the sound wave to it's own
echo/reverberation level?  I do have reference waveforms (sound files) of
the sound that the sound source emits, which I can use for any signal
processing measures.

Any ideas?  They don't have to work perfectly, I just want to improve my
guesses.

Thanks.


Robert Oschler wrote:
> I want to tell when a sound source is "pointing" towards a
microphone. The
> sound source is mobile, but I have complete control over its movement
and
> sound emission. I can easily play repeatedly a pre-recorded sound
from the
> sound source, which will be identical every time it's played.
Obviously, it
> will not be identical when picked up by the microphone due to room > reflection, volume roll-off, distance from the microphone, etc. > > I know that I can have it spin in a circle and do a simple volume
level
> check for the point of max volume, but I'd like to back that up with
a
> secondary test. My reasoning is, if the sound source is far from the > microphone in a highly reflective room, let's say about 10 feet or
so, the
> volume differential between dead forward and not, may be too fragile
a
> measure.
If you want to test different methods, one springs to my mind: Say the emitted sound is x(t) and the received one is y(t). Then compute the correlation signal of x and y. The first peak (and probably highest, but not necessarily) in the correlation will be due to line-of-sight transmission, while other peaks must come from echoes. You can suppose (you might be wrong, it all depends on room acoustics) that you'll get the highest peak when the source is "pointing" directly at the microphone. This is a rather slow task, and not very easy to code. If you choose to do it, I suggest that you employ a chirp signal, since it behaves very well with respect to correlation. In any case, I don't think there is a reliable way of doing what you want, unless you know well the source's emission diagram and the acoustics of the room.
Robert Oschler wrote:

> Hello again, > > It's me the novice DSP'er who would be king.. er.. frog? :) > > I want to tell when a sound source is "pointing" towards a microphone. The > sound source is mobile, but I have complete control over its movement and > sound emission. I can easily play repeatedly a pre-recorded sound from the > sound source, which will be identical every time it's played. Obviously, it > will not be identical when picked up by the microphone due to room > reflection, volume roll-off, distance from the microphone, etc. > > I know that I can have it spin in a circle and do a simple volume level > check for the point of max volume, but I'd like to back that up with a > secondary test. My reasoning is, if the sound source is far from the > microphone in a highly reflective room, let's say about 10 feet or so, the > volume differential between dead forward and not, may be too fragile a > measure. > > So is there a frequency or echo test I can do as a secondary judgement? I'm > guessing that there should be a noticeable drop-off in highs as the sound > source turns away from the microphone. Are there any cone of projection > equations that predict what the drop-of would be, which I can use as a test? > Or perhaps something that can take a sound wave and return a value > indicating the relative strength of the sound wave to it's own > echo/reverberation level? I do have reference waveforms (sound files) of > the sound that the sound source emits, which I can use for any signal > processing measures. > > Any ideas? They don't have to work perfectly, I just want to improve my > guesses. > > Thanks. > >
I think you need to specify how your procedure would eventually be used. I'm very familiar with one auditorium that would probably drive such a program nuts ;) Our church auditorium was designed for preaching services in days before electronic amplification was the norm. The wall behind podium is curved in such a way to assist the speaker. HOWEVER, if one speaks from location other than podium, strange effects occur ;} Originally the auditorium was originally VERY LIVE -- we've carpeted the walls to allow it to coexist with a sound system. I would not be _surprised_ [for the unamplified case] that there _may_ be speaker locations &/or orientations for which some hearers would hear better when speaker was facing away.
Robert Oschler wrote:
> Hello again, > > It's me the novice DSP'er who would be king.. er.. frog? :) > > I want to tell when a sound source is "pointing" towards a microphone. The > sound source is mobile, but I have complete control over its movement and > sound emission. I can easily play repeatedly a pre-recorded sound from the > sound source, which will be identical every time it's played. Obviously, it > will not be identical when picked up by the microphone due to room > reflection, volume roll-off, distance from the microphone, etc. > > I know that I can have it spin in a circle and do a simple volume level > check for the point of max volume, but I'd like to back that up with a > secondary test. My reasoning is, if the sound source is far from the > microphone in a highly reflective room, let's say about 10 feet or so, the > volume differential between dead forward and not, may be too fragile a > measure. > > So is there a frequency or echo test I can do as a secondary judgement? I'm > guessing that there should be a noticeable drop-off in highs as the sound > source turns away from the microphone. Are there any cone of projection > equations that predict what the drop-of would be, which I can use as a test? > Or perhaps something that can take a sound wave and return a value > indicating the relative strength of the sound wave to it's own > echo/reverberation level? I do have reference waveforms (sound files) of > the sound that the sound source emits, which I can use for any signal > processing measures. > > Any ideas? They don't have to work perfectly, I just want to improve my > guesses. > > Thanks.
Your quest is hopeless without some knowledge of the (possibly frequency-dependent) radiation pattern of the source. It could be easy to determine that a large-mouth horn or parabolic reflector is pointed right at the receiver, especially it impulsive transients make it possible to detect and discount reflections. With an isotropic radiator, a directional microphone can determine its direction but not its orientation. With a cardioid pattern, you might be able to determine if the receiver is near its null, but any other azimuth becomes problematic. With the relatively common figure-eight pattern, there is a 180 degree ambiguity whatever scheme is adopted. I suspect that the problem is more easily solved with a video camera and image analysis. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
"Robert Oschler" <no-mail-please@nospam.com> wrote in message 
news:Kv6dnTqIPcO0hP_fRVn-jA@adelphia.com...
> Hello again, > > It's me the novice DSP'er who would be king.. er.. frog? :) > > I want to tell when a sound source is "pointing" towards a microphone. > The > sound source is mobile, but I have complete control over its movement and > sound emission. I can easily play repeatedly a pre-recorded sound from > the > sound source, which will be identical every time it's played. Obviously, > it > will not be identical when picked up by the microphone due to room > reflection, volume roll-off, distance from the microphone, etc. > > I know that I can have it spin in a circle and do a simple volume level > check for the point of max volume, but I'd like to back that up with a > secondary test. My reasoning is, if the sound source is far from the > microphone in a highly reflective room, let's say about 10 feet or so, the > volume differential between dead forward and not, may be too fragile a > measure. > > So is there a frequency or echo test I can do as a secondary judgement? > I'm > guessing that there should be a noticeable drop-off in highs as the sound > source turns away from the microphone. Are there any cone of projection > equations that predict what the drop-of would be, which I can use as a > test? > Or perhaps something that can take a sound wave and return a value > indicating the relative strength of the sound wave to it's own > echo/reverberation level? I do have reference waveforms (sound files) of > the sound that the sound source emits, which I can use for any signal > processing measures. > > Any ideas? They don't have to work perfectly, I just want to improve my > guesses. > > Thanks. > >
Hi Robert, The most directional microphone you can find would help in most situations where you know where the soound source is but don't know which way its pointing. Other than that I can only suggest you record the sound in a fair sized window. Normalise to the total power or peak power in one of the stronger frequencies if background noise is a consideration and then determine arrival time of the next transmissions by correlation. If you set it up so it transmits at regular intervals and then compare the times between the first echos in each recorded interval you could maybe decide which positions are not actually echos at all but direct path. After that things get tricky ; I'd compare the energy in the "first echo" window for all of your transmissions and guess that the highest amplitude was with the source pointing most directly towards you. I've no idea how cheap and cheerful this is - best of Luck - Mike
Jerry Avins wrote:
> Robert Oschler wrote: > > Hello again, > > > > It's me the novice DSP'er who would be king.. er.. frog? :) > > > > I want to tell when a sound source is "pointing" towards a
microphone. The
> > sound source is mobile, but I have complete control over its
movement and
> > sound emission. I can easily play repeatedly a pre-recorded sound
from the
> > sound source, which will be identical every time it's played.
Obviously, it
> > will not be identical when picked up by the microphone due to room > > reflection, volume roll-off, distance from the microphone, etc. > > > > I know that I can have it spin in a circle and do a simple volume
level
> > check for the point of max volume, but I'd like to back that up
with a
> > secondary test. My reasoning is, if the sound source is far from
the
> > microphone in a highly reflective room, let's say about 10 feet or
so, the
> > volume differential between dead forward and not, may be too
fragile a
> > measure. > > > > So is there a frequency or echo test I can do as a secondary
judgement? I'm
> > guessing that there should be a noticeable drop-off in highs as the
sound
> > source turns away from the microphone. Are there any cone of
projection
> > equations that predict what the drop-of would be, which I can use
as a test?
> > Or perhaps something that can take a sound wave and return a value > > indicating the relative strength of the sound wave to it's own > > echo/reverberation level? I do have reference waveforms (sound
files) of
> > the sound that the sound source emits, which I can use for any
signal
> > processing measures. > > > > Any ideas? They don't have to work perfectly, I just want to
improve my
> > guesses. > > > > Thanks. > > Your quest is hopeless without some knowledge of the (possibly > frequency-dependent) radiation pattern of the source. It could be
easy
> to determine that a large-mouth horn or parabolic reflector is
pointed
> right at the receiver, especially it impulsive transients make it > possible to detect and discount reflections. With an isotropic
radiator,
> a directional microphone can determine its direction but not its > orientation. With a cardioid pattern, you might be able to determine
if
> the receiver is near its null, but any other azimuth becomes > problematic. With the relatively common figure-eight pattern, there
is a
> 180 degree ambiguity whatever scheme is adopted.
Agreed. And the internal sound patterns of the room don't help. This problem is well-known from video conference applications, where one wants the microphone array to focus on the current speaker, whereever he or she is in the room, and reject everything else. At fist glance, it seems to be a beamforming problem, but being in a room obfuscates things. I don't know if anyone have managed to solve this problem. Rune
Robert Oschler wrote:
> Hello again, > > It's me the novice DSP'er who would be king.. er.. frog? :) > > I want to tell when a sound source is "pointing" towards a microphone. The > sound source is mobile, but I have complete control over its movement and > sound emission. I can easily play repeatedly a pre-recorded sound from the > sound source, which will be identical every time it's played. Obviously, it > will not be identical when picked up by the microphone due to room > reflection, volume roll-off, distance from the microphone, etc. > > I know that I can have it spin in a circle and do a simple volume level > check for the point of max volume, but I'd like to back that up with a > secondary test. My reasoning is, if the sound source is far from the > microphone in a highly reflective room, let's say about 10 feet or so, the > volume differential between dead forward and not, may be too fragile a > measure. > > So is there a frequency or echo test I can do as a secondary judgement? I'm > guessing that there should be a noticeable drop-off in highs as the sound > source turns away from the microphone. Are there any cone of projection > equations that predict what the drop-of would be, which I can use as a test? > Or perhaps something that can take a sound wave and return a value > indicating the relative strength of the sound wave to it's own > echo/reverberation level? I do have reference waveforms (sound files) of > the sound that the sound source emits, which I can use for any signal > processing measures. > > Any ideas? They don't have to work perfectly, I just want to improve my > guesses. > > Thanks. > >
Hmm, what about doing some correlation to determine direct path and reflections and comparing the magnitude of the direct path with the magnitude of the first reflection. Maximise the ratio... Kind regards, Iwo