Vous êtes sur la page 1sur 4

Introduction

There are at least three ways to measure the speed of sound in air and they must agree with theory.
We use a microphone, an amplier, a loudspeaker, a table top, a carpet and a ruler.

Method 1

Setup the Experiment


Set the speaker and the microphone a precise distance D apart on the carpeted table top. This will
be done for two distances D1 and D2.

Gather data
Increase the volume control setting so that any echo dies after a few seconds. Turn on an audio
recording device. Create a sharp sound. Wait for the echo to die out. Stop the recording. Do this
experiment twice

Digitize the Data


Digitize the recorded audio using Audacity. Locate the second pulse in the audio. The second and
subsequent pulses should be equally spaced. Count as many pulses N1 as can be done reliably.
Measure the time T1 between the second the last pulse. Repeat a second time for N2 AND T2.

Analyses the Data


We introduce a distance which represents the error in the distance D because we are not sure
exactly where the loudspeaker is positioned relative to the front of its cabinet. We compute the
value of using the formula:

The speed of sound S is calculated using the formula:

Compare with Theory


The speed of sound C in air is depends on its composition and temperature T in degrees Celsius but
not on its pressure. See the Wikipedia entry entitled Speed of sound for the detailed theory. For dry
air

meters/second.

Assuming room temperature of 68 degrees oF or 20 oC we nd C = 343.2 m/s = 1126.0 ft/s.

The speed of sound is increased by humidity and decreased by carbon dioxide. The dierence
between 0% and 100% humidity is about 1.5 m/s at standard pressure and temperature.

The dependence on frequency and pressure are normally insignicant in practical applications. In
dry air, the speed of sound increases by about 0.1 m/s as the frequency rises from 10 Hz to 100 Hz.
For audible frequencies above 100 Hz it is relatively constant.

Experimental methods
1. https://en.wikipedia.org/wiki/Speed_of_sound#Experimental_methods

2. Single shot timing method uses two microphones separated by x and you time the dierence t
to get v = x/t. repeat and plot the slope for greater accuracy.

3. Time a single ping, move the mike, time it again, plot, take slope

4. Use a frequency counter and move the mike until the same feedback frequency occurs again,
mark the distance, repeat, and take the slope.

5. In the above one might substitute the computer's ability to send a pop to the speaker. beep
command?

6. Audacity has a play-through option. Is there a way to leverage this feature?

7. Are there any audio scripting tools for semi-automating these experiments? The tools would
provide commands to send audio out, capture audio in, and oer detection of pulses, tones
and such.

8. RStudio has two packages of interest:

1. audio interfaces to audio devices (mainly sample-based) from R to allow recording and
playback of audio.
2. audiolyzR Creates audio representations of common plots in R but it lacks a Linux back
end.

Accuracy
What kind of time and distance resolution do we need? Assuming sound travels at 1000 feet per

second, if we desire precision P when we measure D and T, we note that we compute . If we

introduce the error term Es, it depends on the resolution of our measurements Ed and Et so that

. We assume that and because otherwise we need to conduct

a better experiment. If we replace Ed by PE and Et by PE then we can calculate the upper and lower

bounds for S to be . If we measure to about P= 0.01 or within 1%

accuracy we have worst case range.

In practice we usually assume that if we can measure distance to the nearest millimeter then the
maximum error is half a millimeter. In that case we can take the computed value of S to be

If we measure a distance over 10 cm. with a ruler calibrated in millimeters (0.1 cm) then we achieve
our 1% resolution.

Related
1. Comparison of free software for audio at Wikipedia.

2. VisualAp s a visual framework for building applications and emulate systems. VisualAp is cross-
platform as it is a 100% Java application. This application is able to perform audio processing,
image processing, text and other process-driven emulation. VisualAp provides a visual
framework based on lightweight visual components (proclets) that implements specic tasks.
3. Linux has aplay and arecord command line tools that might be scripted to send out a ping
and grab a buer full of audio from the microphone. We'll need to write a routine to extract
the time and magnitude of the return echo.

Vous aimerez peut-être aussi