DSPRelated.com
Forums

GCC Clarity.

Started by staplep March 20, 2009
On Mar 24, 5:24&#4294967295;pm, "staplep" <pst...@gmail.com> wrote:
> I've tried the whole experiment again, using a theodelite to measure the > angles at which the speaker lies to the microphones, just in case the error > was in the angle measurement, but still no luck. > > Here are my results for each angle > > 5 degrees = 4.42 degrees > 10 degrees = 4.42 degrees > 15 degrees = 13.3732 degrees > 20 degrees = 13.3732 degrees > 25 degrees = 22.674 degrees > 30 degrees = 22.674 degrees > 35 degrees = 32.66 degrees > 40 degrees = 90-339i degrees > 45 degrees = 32.66 degrees > 50 degrees = 43.9278 degrees > 55 degrees = 90 - 351i degrees > 60 degrees = 43.9278 degrees > 65 degrees = 43.9278 degrees > 70 degrees = 90 - 328i degrees > 75 degrees = 58.0026 degrees > 80 degrees= 90 - 345i degrees > 85 degrees = 58.0026 degrees > 90 degrees = 58.0026 degrees > > So as you can see, sometimes I get a complex value. It's quite annoying > that my results dont change if i change the angle of arrival, can some one > please help!!
You have lost some resolution in your calculation somewhere along the way. For example, you have an answer of 58.0026 degrees for a test with 85 and 90 degrees (you have many other examples). Could it be that somewhere in your calculation you went from floating point to fixed point then back to floating point. Maybe your precision is being lost in the conversion from a ratio to an angle. Good luck. Crash Magnet
In article <s9KdnUBmQ-eZXVvUnZ2dnUVZ_tjinZ2d@giganews.com>,
staplep <pstapo@gmail.com> wrote:
>Sorry, I should have clarified a lot more, excuse my ignorance! > >The GCC is the generalized cross correlation, used for determining the >time delay of arrival(TDOA). All of the implementation is in MATLAB aswell. >I have two recordings of the same sound, from spaced microphones. Using a >cross correlation, I can work out the time delay (supposedly). I am trying >to implement a sound localization system, to find the angle of arrival from >this time delay. So, different angles should give wholly different results, >because the delay changes. > >OK, so my way of implementing this is to execute the cross correlation, >then find the time delay from the peak of the correlation. When I observe >the peak, it often spans a few samples, which I think is the cause of my >poor results. I could be wrong though. When I use MATLAB to find the >delay, it does return a seemingly accurate result. The thing is, when I >change the angle, it often returns the same result as before! The fact that >the delay doesn't change when I change the angle of the sound source means >that my implementation is wrong, or the correlation isn't specific enough!
What was the frequency with which you measured? How long a burst did you have? Was the distance between the microphones greater than the wavelength? Groetjes Albert -- -- Albert van der Horst, UTRECHT,THE NETHERLANDS Economic growth -- like all pyramid schemes -- ultimately falters. albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst