How can I determine sound direction using stereo signal phase shift?

Click For Summary

Discussion Overview

The discussion centers on methods for determining the direction of sound using stereo signals from two microphones, focusing on phase shift detection and interaural time difference (ITD) techniques. Participants explore both theoretical and practical aspects of sound localization, including potential hardware solutions and the physiological basis of sound processing in animals.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant proposes using phase shift detection to calculate sound direction based on the lag of sound arriving at two microphones, noting the complexity of processing the sound into component frequencies.
  • Another participant suggests using interaural time difference (ITD) and mentions the need to compute cross-correlation between the signals from the microphones to determine sound direction.
  • A third participant references a specific integrated circuit (IC) that may assist in the project, indicating interest in evaluating its effectiveness.
  • There is a repeated mention of reviewing the Blumlien stereo patents and performing trigonometric calculations to relate ITD to azimuth direction, while assuming no head shadowing.
  • Technical details are provided regarding the mathematical formulation for cross-correlation, including the use of a window function and the transition from continuous to discrete-time signals.

Areas of Agreement / Disagreement

Participants express various approaches to sound localization, with some agreeing on the relevance of ITD and cross-correlation, while others explore different methods such as phase shift detection. No consensus is reached on a single best method or solution.

Contextual Notes

Participants acknowledge the complexity of sound processing and the potential limitations of their proposed methods, including the need for further research into animal physiology and the challenges of implementing these techniques without extensive coding.

Who May Find This Useful

This discussion may be useful for robotics engineers, audio processing enthusiasts, and researchers interested in sound localization techniques and their applications in technology.

keithmarsh
Messages
4
Reaction score
0
Hello everybody. I'm trying to build a sound direction localising subsystem for a robot.
I have two microphones placed a distance apart. I'm not worried about sounds behind or the distance, just the direction.

I see two choices. Phase shift detection or a neural sim of interaural time detection (ITD).

Because sound travels at a fairly slow speed, the difference that sound arrives between two mics can be measured. The phase of the sound at the furthest mic will lag behind the near one. By measuring the phase lag, the sound direction can be calculated. The italic bit is the fun bit.

Because we're not measuring a spike that can be easily measured, but a complex mish mash of frequencies, there's no landmark sound to trigger things. I guess I have to process the sound to its component frequencies, then look for the matching set to appear on the other channel constantly for a given time. And vice-versa. Eek. Lots of Fourier transforms and maths. Is anyone aware of an IC that's been produced to achieve this? Or a better way?

The second choice is to mimic how we do it. I'm reading a few papers on this at the moment, but none are really helping me get the basic physiology of animal aural processing. I think we use hairs as bandpass filters to roughly achieve the FTs as above, but I'm not sure of the time comparison process. And less sure of how I can electronically do this.

Soooo, this is one of those parts of a project that is proving a mountain to solve. If I can do it without loads of microcontroller code, great. I'm really hoping there's a blindingly obvious solution involving two 555s that'll do it, but I'm not holding my breath :-)

Any advice/references gratefully received.
 
Engineering news on Phys.org
to relate time difference (ITD) to azimuth direction, you need to review the Blumlien stereo patents. (or just do a little trigonometry. assume no head shadowing, but that you know the inter-aural spacing.)

to get the ITD you want to compute the "cross-correlation" between the signals of the two microphones:

R_{lr}(\tau) = \int (x_l(t) x_r(t-\tau)) w(t) dt

where w(t){/itex] is a window function.<br /> <br /> if you&#039;re doing this with a DSP (or some other real-time processor), then the above integral is a summation and the signals are discrete-time. and the offset lag \tau is also an integer number of samples.<br /> <br /> if you like USENET, <i>comp.dsp</i> is a good newsgroup for this question.
 
Many thanks for your response. I came across this [ oh can't post URLs ] analog.com/en/prod/0,,770_847_AD8302,00.html beasty in my search last night. Looks very interesting. When I get my hands on one too evaluate, I'll report back.
 
rbj said:
to relate time difference (ITD) to azimuth direction, you need to review the Blumlien stereo patents. (or just do a little trigonometry. assume no head shadowing, but that you know the inter-aural spacing.)

to get the ITD you want to compute the "cross-correlation" between the signals of the two microphones:

R_{lr}(\tau) = \int (x_l(t) x_r(t-\tau)) w(t) dt

where w(t) is a window function.

if you're doing this with a DSP (or some other real-time processor), then the above integral is a summation and the signals are discrete-time. and the offset lag \tau is also an integer number of samples.

if you like USENET, comp.dsp is a good newsgroup for this question.

i tried to fix this last night, by the PF server was acting very badly. above is what i meant.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
Replies
9
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
7K
  • · Replies 15 ·
Replies
15
Views
5K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 15 ·
Replies
15
Views
9K