# Measuring the speed of sound

Suppose we have an ultrasonic transmitter and an ultrasonic receiver, separated by some fixed distance ##d##. Both devices are attached to an oscilloscope. The transmitter generates ultrasonic waves at some frequency ##f## that we can change. The receiver is some piezoelectric that translates pressure exerted on him (that obviously changes with time) to an electric signal. The oscilloscope then shows two sinusoidal graphs (amplitude as function of time) with the same frequency but with a phase shift (because the speed of sound is finite and it takes time for the wave to reach the receiver), i.e. time delay (##\Delta t##). Now, I wonder whether the time delay between these two waves (which is essentially the same wave, but with different phase) changes with frequency (I believe it does, because, if I'm not mistaken, ##\Delta \varphi = \frac{2\pi}{\lambda} \cdot d \propto f## and there's a linear relationship between the phase shift ##\Delta \varphi## and the time delay ##\Delta t##). But is it even possible to obtain the speed of sound (velocity of the wave) from ##f(\Delta t)## graph (i.e. knowing time delay for different values of frequency)?

The issue with this is that the same sound is being emitted and received thus this proportionality will be balanced. a good way to see it is by playing with the equations,https://www.desmos.com/calculator/lmf8d4shcz
Go to this grapher and play with s (proportional to frequency) and c (phase shift).
Hope this helps!

The issue with this is that the same sound is being emitted and received thus this proportionality will be balanced. a good way to see it is by playing with the equations,https://www.desmos.com/calculator/lmf8d4shcz
Go to this grapher and play with s (proportional to frequency) and c (phase shift).
Hope this helps!
Thank you. So what you're saying is that changing the frequency does not change the phase difference? But isn't increasing frequency (i.e. decreasing the wavelength) equivalent to increasing the distance from the emitter to the receiver (which does change the phase shift)? In both cases you have an increase in the amount of peaks/troughs that fit between the emitter and the receiver.

But isn't increasing frequency (i.e. decreasing the wavelength) equivalent to increasing the distance from the emitter to the receiver (which does change the phase shift)?
It changes the distance between every peak and the other. Forget about the formulas for a bit and look at the graph if you can. Changing 's' which is the frequency is totally independent of 'c' the phase shift, which stays the same. In other words, the distance between peaks changes, but it changes in the same way for both and so the change between phases stays the same.
n both cases you have an increase in the amount of peaks/troughs that fit between the emitter and the receiver.
Of course! but that has nothing to do with the speed of sound. A higher frequency holds more energy, and so for the same distance, it can host more peaks, which is an indirect proof that the speed is constant since everything is stable and the additional energy put into the wave by increasing the frequency goes into the number of peaks and not into the velocity.

Gold Member
In some media, sound undergoes dispersion and different frequencies have different speeds. That's not generally true in air, though.

Nik_2213
@boneh3ad would you then say that my assessment is wrong? Just to be sure if what I said was right.

It changes the distance between every peak and the other. Forget about the formulas for a bit and look at the graph if you can. Changing 's' which is the frequency is totally independent of 'c' the phase shift, which stays the same. In other words, the distance between peaks changes, but it changes in the same way for both and so the change between phases stays the same.
Yes, but that's only true if we ignore the space component of the wave. The general equation is ##y(x,t) = A \cos (kx-\omega t+\varphi)##. In other words ##c = kx + \varphi##, but ##k## certainly does depend on the frequency. Also, I ask my question because I actually did such an experiment and the phase shift did in fact change with frequency. The only thing I fail to understand is how the speed of sound can be calculated knowing ##\Delta t## for different values of ##f##.

Ok, I must admit that this problem is confusing me. Now you said that you did the experiment and I am assuming that you have been given a lab manual. Can you by some chance upload it and/or the associated formulations and equations for this problem? Since neither the internet nor my memory is helping.

Ok, I must admit that this problem is confusing me. Now you said that you did the experiment and I am assuming that you have been given a lab manual. Can you by some chance upload it and/or the associated formulations and equations for this problem? Since neither the internet nor my memory is helping.
Unfortunately the lab manual is not available. But the point is this: there's some emitter that generates sound waves of certain frequency ##f## (that you can control). And you also have a receiver (at some fixed distance ##d## from the emitter). Both devices are connected to an oscilloscope. You see two sinusoids on the graph (amplitude as function of time) - overall they look the same but they (usually) have some phase shift. The idea is this: let's look at two adjacent "similar" points ("similar" in the sense that they have the same amplitude) on these two graphs - for example, let's look at two adjacent peaks on these two graphs. Since the waves are shifted in time, these two peaks have a time difference (delay) ##\Delta t##. Now, let's start increasing ##f## as we watch these two points. Their "distance in time" (again, time is the horizontal axis here) will change. The question is how can I express ##f## in terms of ##\Delta t##.
I was able to derive the following formula ##\frac{d}{v} - \Delta t = \frac{1}{f}##, but it doesn't seem to give a good result of ##v## (having measured ##\Delta t## for different values of ##f## I tried to do a linear fit for ##1/f## as function of ##\Delta t## and look at the intercept), so I'm not sure about my derivation.

Last edited:
Ibix
If I'm not mistaken that formula is only valid if ##d\leq\lambda##, which I suspect it's not.

What's the condition for ##\Delta t=0##?

Gold Member
In air the ##\Delta t## should definitely be inversely proportional to ##f##. One possible problem might be the ambiguity between different peaks in your wave. It would be less ambiguous to measure a finite-length wavepacket than a continuous wave.

If I'm not mistaken that formula is only valid if ##d\leq\lambda##, which I suspect it's not
Indeed, in our experiment ##d \gg \lambda## (##d## is on the order of tens of centimeters whereas ##\lambda## is usually less than ##1 \text{cm}##).
What's the condition for ##\Delta t=0##?
Well, ##\Delta t## is the time difference between the two peaks (which are initially adjacent) as they go apart (so they are no longer adjacent at some point). Therefore ##\Delta t## is zero only when ##d=0##, i.e. there's no time delay (the emitter and the receiver are at the same point in space). Of course if the waves completely overlap (i.e. there's an integer amount of wavelengths that fit in ##d##) we can choose the two peaks which overlap (and thus ##\Delta t = 0##), so there's some freedom here. But if we prefer to view ##\Delta t## as the delay (the time it takes for the wave to reach the receiver) then ##\Delta t## is always nonzero (except when the distance between the receiver and the emitter is zero). But again - it doesn't matter (in my opinion), as long as we choose any two peaks (imagine coloring them, so they become unique) and watch how they shift relative to each other.

Last edited:
Ibix
I see. I had misunderstood what you were meaning by ##\Delta t##, and your formula is valid for all ##d##. However, I'm not sure how you are measuring ##\Delta t##. Let me ask you a question: you set up your experiment and turn it on. By chance, the two sensors give you identical waveforms (zeroes at the same times). How do you determine ##\Delta t##?

I see. I had misunderstood what you were meaning by ##\Delta t##, and your formula is valid for all ##d##. However, I'm not sure how you are measuring ##\Delta t##. Let me ask you a question: you set up your experiment and turn it on. By chance, the two sensors give you identical waveforms (zeroes at the same times). How do you determine ##\Delta t##?
That's a good question. We never had such situation, but I'd probably choose two adjacent peaks that are separated by the smallest non-zero distance. But I think the choice does not affect the overall dependence of ##\Delta t## on ##f##, am I wrong?
We measured ##\Delta t## in the following manner: choose one point (peak) on the "source sinusoid" and choose the closest point (peak) on the "received sinusoid". For example: here are the two sinusoids (similar to those that were displayed on the oscilloscope). So one way is choosing the "red" peak at ##t=0## and the "green" peak at ##t=-1.5##. As we change the frequency the horizontal distance between these peaks changes. That horizontal distance is the ##\Delta t##.

Last edited:
Gold Member
The question about what you'd do with two identical waveforms with no separation is the same problem as the one I was describing previously. You may want to familiarize yourself with cross-correlation to calculate time separation is a more mathematically rigorous and repeatable way.

You could also get an answer to the original problem all at once (rather than one frequency at a time) if you're clever. For example, by playing white noise through your speaker and calculating the cross-spectrual density between the two microphones.

The question about what you'd do with two identical waveforms with no separation is the same problem as the one I was describing previously. You may want to familiarize yourself with cross-correlation to calculate time separation is a more mathematically rigorous and repeatable way.

You could also get an answer to the original problem all at once (rather than one frequency at a time) if you're clever. For example, by playing white noise through your speaker and calculating the cross-spectrual density between the two microphones.
Unfortunately I'm not familiar with these concepts (and currently don't have too much time to learn them). I'm pretty sure there's an easier way to solve the problem.

Ibix
The problem you have is that what you are measuring is not ##\Delta t##. Imagine turning your apparatus on. The source starts emitting a signal and a millisecond or so later the receiver picks it up. ##\Delta t## is that millisecond - right? To do that by your method, you do need to be able to identify which peak of the received sinusoid corresponds to which peak of the transmitted one, because you are trying to measure the time difference between when a given amplitude peak leaves and arrives. The time difference between some amplitude peak leaving and some other peak arriving is irrelevant - it's like trying to work out how long it takes you to get home by recording the time you leave work and the time your flatmate arrives home and taking the difference.

That's what I was trying to get at with the zero difference case. I was trying to get you to realise that your experimental protocol tells you that you should record ##\Delta t=0## in that case, but since ##d\neq 0##, ##\Delta t\neq 0## and there's something wrong since ##\Delta t## can't be both zero and not. But instead you decided to choose to do something different in that case. As a general rule, experiments that include "I make a decision" aren't measuring pure physics.

Think about it this way: if you adjust the frequency so that the received and transmitted signals are in phase, what is the relationship between ##d## and ##\lambda##?

nasu
The problem you have is that what you are measuring is not ##\Delta t##. Imagine turning your apparatus on. The source starts emitting a signal and a millisecond or so later the receiver picks it up. ##\Delta t## is that millisecond - right?
Right, but what I'm saying this is that we only need to care about the time shift between any two (initially) adjacent peaks. Here's how I see it: we can represent the "source wave" with the function ##g(t)=A\cos(-\omega t + \varphi_0)##, and the "receiver wave" with ##h(t)=A\cos (kd-\omega t + \varphi_0)##. Now, let's impose the "same amplitude" condition ##g(t_1)=h(t_2)##, which implies ##kx - \omega \Delta t = 2\pi n## where ##n## is some integer. Letting ##n=1## and dividing by ##\omega## we obtain ##d/v - \Delta t = 1/f##.
Think about it this way: if you adjust the frequency so that the received and transmitted signals are in phase, what is the relationship between ##d## and ##\lambda##?
It must be some integer number of wavelengths. I understand that (and also mentioned it in one of my previous comments).

Ibix
Letting ##n=1##
But the point is that you have no way to determine n in your experiment. You don't know that it's 1, and in fact it isn't, which is why you're getting silly answers for the velocity. It's generally going to be of order ##d/\lambda##, I think.
It must be some integer number of wavelengths. I understand that (and also mentioned that in one the previous comments).
Right. Call the frequency ##f_0## and tune upwards until the next time the signals are in phase. Call this ##f_1##. How many wavelengths are there this time?

But the point is that you have no way to determine n in your experiment. You don't know that it's 1, and in fact it isn't, which is why you're getting silly answers for the velocity. It's generally going to be of order ##d/\lambda##, I think.
I see my mistake now. The only way to know the correct value of ##n## would be to calculate ##d f / v##, but that would require knowing the velocity (which is what we're trying to find in the first place).
Right. Call the frequency ##f_0## and tune upwards until the next time the signals are in phase. Call this ##f_1##. How many wavelengths are there this time?
##(n+1)\lambda##?

IIRC, the speed of sound varies significantly with pressure, temperature and humidity. Hence an aircraft's Mach Number varies with conditions.

Slightly off topic: I remember walking beside a corrugated concrete embankment and noticing my shoe-steps and then my finger clicks were diffracted unto brief 'tweets', like lightning 'whistlers' but quicker. I've tried since, but found too much background noise to repeat the effect...

Ibix
##(n+1)\lambda##?
More precisely, ##(n+1)\lambda_1##. And if you tune up to the next time they're in phase, it'll be ##(n+2)\lambda_2##. And what distance is each of these equal to?

More precisely, ##(n+1)\lambda_1##. And if you tune up to the next time they're in phase, it'll be ##(n+2)\lambda_2##. And what distance is each of these equal to?
The same distance ##d##. Hence (substituting ##v=\lambda_i f_i##) we obtain ##v = d (f_2 - f_1) = d \Delta f##. Correct? So in general, if we manage to obtain a sequence of frequencies such that the phase shift for each one of them is zero (the waves overlap), we can calculate the velocity from the slope of ##f=\frac{v}{d} n## where ##n## is the index of the frequency in the sequence (of course we assume that we don't miss any overlaps in between). Thank you.