Calculate the harmonic mean sound speed through a profile
In ocean acoustics one often wants to calculate the distance a sound pulse will travel in a given amount of time. When the pulse is sent directly down, we can neglect the effect of refraction of the sound pulse and need only consider the mean sound speed. Dividing the mean sound speed by the travel time gives the distance the pulse traveled. [This is the calculation that must be performed when operating a single-beam echo-sounder directed vertically down into the water column. The two-way travel time must be divided by two first.]
Suppose one is given a sound speed profile (sound speeds [ssp] and the associated depths [z] at which they were measured.). Most will realize that one cannot simply average the sound speeds to obtain the proper mean sound speed for this calculation. However many will incorrectly assume that a depth-weighted mean sound will produce the correct answer.
Unfortunately it does not.
One must instead divide the total depth by the sum of the time it takes
to the sound to pass through each layer of constant sound speed. This is
called the 'harmonic mean'. Given a sound speed profile and a depth to which to consider, sndsped_mean.m performs this calculation.
Cite As
Val Schmidt (2024). Calculate the harmonic mean sound speed through a profile (https://www.mathworks.com/matlabcentral/fileexchange/36358-calculate-the-harmonic-mean-sound-speed-through-a-profile), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Signal Processing > Audio Toolbox > Audio Processing Algorithm Design >
- Engineering > Mechanical Engineering > Acoustics, Noise and Vibration >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.