3. Doppler Shift

The Analysis of Sound – Doppler Shift


The sounds in our environment carry a great deal of information.  The sense of hearing in most mammals is highly developed to allow them to extract useful information from sound and humans are no exception.  We are constantly monitoring the noisy environment we live in, extracting information we need or want from it and discarding the rest.

We can also analyze sounds mathematically to extract very detailed information about the sources of sound.  In the following example we will analyze the sound of a large truck passing by a stationary microphone to extract its speed and to think about other information that is contained in the sound recording.

Discussion of theoretical model

The Doppler Effect describes the apparent change in the frequency of a wave caused by the relative motion between the sound source and the observer.  While the relative motion can be due to the motion of the source, the motion of the observer, or both we will be studying the effect of a source in motion relative to a stationary observer.  We will exploit the change in frequency that we can measure to determine the speed of the source.

It can be shown (I had to start somewhere) that

c=\lambda f

Where                  c is the propagation speed, the speed of sound

\lambda is the wavelength of the sound

f is the frequency of the sound

For a stationary sound, radiating at a frequency f_S the time between peaks is the period of the wave T_S

T_S=\frac {1} {f_S}

This is also true of a moving source, as measured by someone riding along with the source.  If the source is moving at a speed  of v_S toward a stationary observer then the source moves a distance v_S T_S=\frac{v_S} {f_S} in one period.  This makes the wavelength \lambda_S appear to be shorter by that amount to the stationary observer.  So the apparent (to a stationary observer) wavelength is \lambda_O=\lambda_S - \frac {v_S} {f_S} but because c=\lambda_S f_S, \lambda_S = \frac {c} {f_S} so the stationary observer sees a wavelength of

\lambda_O = \frac {c} {f_S} - \frac {v_S} {f_S}=\left (\frac {c-v_S}{f_S}\right )

The speed of sound is a function of the temperature only so the stationary observer sees

c=\lambda_O f_O

c=\left (\frac {c-v_S}{f_S}\right )f_O

Solving for f_O

f_O=\frac{cf_S}{c-v_S}       for a source moving toward the observer

A similar argument will show that the wavelength appears longer, and the frequency lower, to the stationary observer when the source is moving a way.

f_O=\frac{cf_S}{c+v_S}       for a source moving away from the observer

The two equations just derived are commonly shown in introductory textbooks in the discussion of Doppler shifts in sound.  They are two special cases of a more general description which accounts for sounds moving past an observer at some distance.  In the development of the special cases the angle between the path of the source and the observer was always either 0 or pi.  In observing the Doppler shift of a source on a truck, this situation always would result in the observer never seeing the lower frequency shift as the truck moves away.  To remedy that situation, we place the observer at some distance off the path and use the radial component of the source velocity in our calculations.

Source Geometry

v_{Sradial} = v_S cos\theta  so following the same arguments as in the special cases the source moves a distance of

v_{Sradial} T_S = \frac{v_s cos\theta}{f_S}

in one period so

\lambda_O = \lambda_S -\frac{v_S cos\theta}{f_S}=\frac{c}{f_S}-\frac{v_S cos\theta}{f_S}

\lambda_O = \frac {c-v_S cos\theta}{f_S}

And as before c=\lambda_O f_O so



f_O=\frac{cf_S}{c-v_S cos\theta} in the general case of the source moving past the observer

This evaluates to the special cases at \theta=0 and \theta=\pi.

Obviously, \theta changes as the source goes past the observer.  The Observer Geometry shows the relationship between the distance to the source along the path, x, the distance the observer is from the path, h, and \theta.

Observer Geometry

Observer Geometry

One can also see that x is a function of the speed of the source and the time, x_S =v_S t.  By the Pythagorean theorem the radial distance between the source and the observer is

\sqrt{x^2 + h^2} = \sqrt{\left(v_S t\right )^2 + h^2}


cos\theta=-\frac{v_S t}{\sqrt{\left(v_S t\right)^2 +h^2}}

The negative sign is needed to ensure that \theta goes from \sim 0 to \sim\pi as t goes from -3 to 3, for example.  This expression can be substituted into the expression for the frequency seen by the observer to give the observed frequency as a function of time.

f_O=\frac{cf_S}{c+\frac{v_S ^2t}{\sqrt{\left(v_S t\right)^2 +h^2}}}

The resulting expression can be entered into a spreadsheet program to plot the relationship.

Observed Frequency vs Time

Observed Frequency vs Time

Acquiring the Spectrogram

We wish to record diesel trucks operating at highway speeds.  Find a location about 100 feet or so from a highway with truck traffic.  A level or slight grade is preferred as we do not want speed changes or gear shifts to be recorded.  Set Raven Lite to record to memory, starting it when a truck approaches and stopping the recording after it passes by.  Look for the shallow s-shaped signature in the spectrogram similar to that shown in the graph above.  It may take several attempts to get a good recording that can be saved to disk.

Interpreting the Spectrogram

The spectrogram of a truck I recorded is shown:


Using the mouse pointer as shown in the illustration, I picked off a frequency as the truck approached from far away of 12000 Hz and at a distance after it went by of 10552 Hz.  Far away (|x|\gg|h|), the frequency is very near to the special cases of the source moving directly toward and away from the observer.  The frequency of the source f_S is assumed to be midway between the two, 11276 Hz.  This high frequency is presumed to be blade passing frequency associated with the turbocharger.  Turbochargers, as a general rule, turn at high speeds and have large blade numbers.

We can exploit the expressions for the two special cases to estimate the speed of the source, v_S.

f_{Otoward} = \frac{f_S c}{c-v_S}

f_{Oaway} = \frac{f_S c}{c+v_S}

But f_S c is the same value for both so

f_{Otoward} (c-v_S)=f_{Oaway}(c+v_S)

Multiplying out, collecting terms, and solving for v_S

v_S=\frac{f_{Otoward} -f_{Oaway}}{f_{Otoward}+f_{Oaway}}c

On the day I made my recording it was 64° F.  Plugging in the values that I picked off the spectrogram I estimate that the truck I recorded was going about 49 mph.

After all the trouble we went through to derive an analytical function, though , we can get much better estimates for all of the variables by curve fitting the function to our data. I picked seven time-frequency pairs of data off the spectrogram and used a modified version of the function because the actual time of closest approach was not known:

f_O=\frac{cf_S}{c+\frac{v_S^2\left( t-t_0\right)}{\sqrt{v_S^2\left( t-t_0\right)^2 +h^2}}}

I used the curve fitter in a technical software called IGOR Pro but others are available. The results are shown in the figure:

The curve fitter gave the following Coefficient values ± 95% Confidence Interval

f =11229 ± 60.9 Hz

v =81.334 ± 13.8 ft/sec = 55.455 ± 9.4 miles per hour

h =99.621 ± 46.7 ft

t0 =6.0333 ± 0.137 seconds

One thought on “3. Doppler Shift

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.