In search of a better microphone

Using a Microchip Technology 32-bit Arduino MCU 80-MHz 32-bit processor (PIC32MX320F128H) I am trying to measure the time a sound wave passes two microphones. The microphones are perpendicular to the sound wave in a straight line. As the sound wave passes one microphone it starts the timer, when the other microphone detects the sound wave it will stop the counter. Two Comparators with a reasonable and identical thresholds are used to trigger the I/O signal to the MCU. In a lab setting if I simulate the sound wave by sending a square wave to the comparators I get accuracies of plus minus two cycles. When I attach the microphones the accuracy falls off to plus minus 10K cycles. The microphones I am using are KA Acoustic EK-26899-P03 - I was told they were decent mic's. Does anyone have any suggestion on a better mic or other sensor (piezo thin film transducer?) that would work better. Ideally I would like to have an accuracy of +- one millionth of a second in this system. BTW, I used a simple threshold trigger as well as a zero crossing - accuracy does not improve in either case.

Thanks.

WGB

Ideally I would like to have an accuracy of +- one millionth of a second in this system.

It's impossible. Sound wave is composed with freq. 20 - 20.000 (we talking not ultrasound?) , so accuracy is limited to 1/20.000 = 50 usec. Much lower for other part of spectrum.

Its not impossible. If I was counting the frequency you are right the resolution would be depended on cycles per second. But, I am measuring the wave front and when it hits the two microphones. Therefore, this resolution is attainable. In fact microphones are used to measure wave propagation already but just for different applications. Check this thread: http://arduino.cc/forum/index.php/topic,7956.0.html. He uses a 2Mhz clock. Anybody else has any suggestions?

When I attach the microphones the accuracy falls off to plus minus 10K cycles.
You have to think on the measurement approach (and physics) when getting such results. How is the measurement setup? Are you sure you measure only the wave's front hitting mic1 and then mic2 and in that precise sequence? There could be a lot of sound waves mixing, bouncing around.. When the mic1 is close the mic2 the mic1 may deform the front shape of the wave, etc. :slight_smile:
http://www.acoustics.salford.ac.uk/schools/teacher/lesson3/flash/whiteboardcomplete.swf

Uncertainty principle - Wikipedia Can't find better explanation why it's impossible, they should taught you in physics classes that you can't determine both - time and space same time. What is the nature of sound? You would get better results filtering high freq. , and leaving low part out of measurements. Think about ocean's wave, there are no two similar, doesn't matter how precise you set comparator, single drop of water would affect your results.
And what kind of comparator are you using? How you amplify mic's? Do you set external interrupt in microprocessor correctly?

Ideally I would like to have an accuracy of +- one millionth of a second in this system

You might get that resolution measuring a brisant shock-wave, but it is way beyond the capability of a standard microphone. You need a sensor the size of 300um or so and the sound wave would need to have significant energy upto 150kHz to get a nice sharp rising edge on that timescale.

Measuring the phase difference of a steady sinusoid perhaps you'd get that accuracy for 20kHz, but again you'd need very careful microphone geometry and no acoustic reflections to confuse the reading, and this is a steady-state reading only.

I need to clarify a couple of things: The sound wave I am detecting and measuring is a Supersonic N wave. More specifically I am measuring the pressure wave (sonic crack) generated when a projectile with a speed greater than 800 m/s hits a paper target. On an oscilloscope the amplitude of this pressure wave is very pronounced. Futhermore, Electronic Targets used in competitive shooting use acoustic sensors to measure time distance on arrival - TDOA Trilateration - Wikipedia time to a very high degree - plus/minus one millionth of a second. Therefore what I am seeking is not out of line.