-
Reflection Delay - Nope
01/04/2017 at 16:16 • 2 commentsNegative experiment result:
I tried to record a reflection of a sound wave off a piece of cardboard. The goal was to see if I could measure the distance to the cardboard by measuring the time between the original squarewave coming from a loudspeaker, and the reflected echo. The first few tries, I got no noticeable echo. Finally, by reducing the period of the squarewave, I could see a weak echo in the sound recording, but the return signal was very weak relative to the driving signal. That's going to turn into lots of noise in the software when trying to extract distance info from the recording. So I'm going to abandon this approach entirely for now.
And, more generally, I'm going to abandon using time delays or frequency modulation. I'm just not going to get the resolution I need, given a sampling rate of 44.1 KHz.
Now I'll turn to using amplitude modulation. I'm hopeful this will work much better.
-
Will Reflection Delay Work?
01/04/2017 at 00:10 • 0 commentsThe first experiment will be to measure the intensity difference between the initial pulse and the resulting echo. I will try it in open-air first, no tube involved yet. We'll see how that goes. If that doesn't work, I'll need to scrap this concept and try something else.
The "something else" might be to try amplitude modulation rather than frequency modulation or time delays. My recorder is 16 bit resolution at 44.1 KHz. It seems like I may be wasting too much resolution on time (samples) instead of on amplitude. It also seems like there ought to be a way to use both to obtain plenty more than just 16 bits.
-
A New Attempt
01/04/2017 at 00:09 • 0 commentsFor this version, I plan to use a 555 as a fixed frequency squarewave generator, probably around 500 Hz. The 555 drives a small loudspeaker at the end of a tube. A little further in, a microphone records the sound. The tube is held vertically and other end of the tube dips into the water. The sound reflects off the surface of the water and goes back toward the microphone. Some software is used to analyze the varying time delay between the speaker's output and the returned echo. The series of sampled time delays is used to generate an audio file.
500 Hz provides about 2 mS for the reflection to occur before the next waveform arrives. That is about a 2 foot round-trip. To accommodate larger water waves, I might need to lower the frequency (maybe to 100 Hz or so). If the water wave varies over a 1 foot range, that corresponds to about 1 ms of time, which at my recorder's max sample-rate (44,100 per sec) is about 44 samples. But that's only 5 or 6 bits resolution. So I need to increase the effective resolution somehow, possibly by mechanically amplifying the wave height. A factor of 2 or 4 is probably the max, bringing the resolution to 7 or 8 bits. Still not so good!
-
History
01/04/2017 at 00:08 • 0 commentsA little history:
My first attempt used a float, potentiometer, a simple FM encoder, a handheld digital audio recorder, and some software. It worked pretty well on waves in a pool. Its range of motion was too limited, and the resolution was too poor to produce good audio.
The original version uses a 555 as a variable frequency oscillator. The frequency is controlled by a potentiometer with an arm attached to the shaft that supports a styrofoam float. As the water level moves up and down, the frequency continually shifts. The 555 output is recorded on a digital audio recorder. I wrote some c code that analyzes the recording and produces an audio file. A recording of about 30 minutes of water waves produces about 20 seconds of sound. It sounds kind of echo-ey, but with very poor resolution (like 5 or 6 bits), only just good enough to motivate me to improve the sound quality. (listen to the sound sample)