Electronics > Beginners
Making a sound camera
<< < (3/13) > >>
Sparker:
No, phase is the angle between the vector and the real axis, like the phase used in a complex amplitude or a complex impedance.


--- Quote ---Could using N microphones that output PWM instead of analog help lift some load off the uC?
--- End quote ---
What do you mean?

Also I don't understand how the whole signal processing from NI works. Maybe someone could explain? :)
hamster_nz:
Are you sure you are talking phase delta? That would be different for different frequencies....

Don't you just want delay, which will be constant for all frequencies? (The ~ 3 ms per meter of difference in distance travelled)

Or am I confused? ( I often am)


daslolo:

--- Quote from: hamster_nz on May 01, 2018, 07:22:28 am ---Are you sure you are talking phase delta? That would be different for different frequencies....

Don't you just want delay, which will be constant for all frequencies? (The ~ 3 ms per meter of difference in distance travelled)

Or am I confused? ( I often am)

--- End quote ---

Phase sounds cool but maybe you are right.
The end goal is to show a blob at the mic that gets hit by the sound first on the array.
hamster_nz:
Hum. First guess.

Look for a distictive sound (e.g  sudden loudness) on one center channel.

Window it (fade either end) so you get the pattern you are looking for. Make the window smaller than the FFT size (e.g. half the FFT size).

FFT it, so you get the complex spectrum signature you are looking for.

Take all the channels. FFT them to get a frequency specturm for each channel.

Multiply each by the signature's spectrum.

Inverse FFT each of the resulting spectums. That will give you a time series of how well the signal matches the signature pattern. You should have a spike in each channel (and maybe echos).

Identify the principal spike in each of the channel. Use the relative delay to triangulate the source.

(I used this sort of technique to find direct synthesis spread spectrum signals once)

Sparker:
I guess that since we want to measure time delays between channels, the cross-correlation function fits more this need.
Imagine you have two mics, both hit by the same signal with unknown delay. You record the signals and cross-correlate them. The peak at the cross-correlation function output will be at the time which equals the time offset  :-+.
Now add a second dimension orthogonal to the first  one and multiply the two cross-correlation function outputs by each other(but one is horizontal, the other is vertical) and you will have a 2D image with a peak rotated towards the sound source. Pass it though some 2D filter (like the gaussian smoothing filter) and, I guess, you should get the same kind of result as the guys in the video.  ::)
Probably three mics will be sufficient for that, one in the middle, the other one X centimeters above it, third one X centimeters to the right of it.  :-/O
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod