How to plot sound wave speed in water?

12 views (last 30 days)
Junaid Qadir
Junaid Qadir on 6 Oct 2019
Edited: Nathan Han on 13 May 2023
Hi respected experts,
I wanna plot the speed of acoustic waves in water accross the depth.
Here is below the detail:
Acoustic wave speed =1500 m/s
Salinity = 40 partplus (ppt)
Temperature= 30 oC
Depth = 500 m
This is actulay thermocline plot, I tried from 5 days but I am unable to success.
Please help me in this regards!
a.png
  2 Comments
tayyaba ilyas
tayyaba ilyas on 8 Mar 2021
cant we use plotssp function?
please see the attached file page 11
Nathan Han
Nathan Han on 13 May 2023
Edited: Nathan Han on 13 May 2023
thanks to the sound profile provided in that pdf, you can just use the following code for plot a fixed sound profile.
To plot a more flexible sound profile, David's answer works great.
depth = [0 200 250 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400 2600 2800 3000 3200 3400 3600 3800 4000 4200 4400 4600 4800 5000];
c_wave = [1548.52 1530.29 1526.69 1517.78 1509.49 1504.3 1501.38 1500.14 1500.12 1501.02 1502.57 1504.62 1507.02 1509.69 1512.55 1515.56 1518.67 1521.85 1525.1 1528.38 1531.7 1535.04 1538.39 1541.76 1545.14 1548.52 1551.91];
figure("position", [20 500 350 400])
plot(c_wave,depth,'k-','linewidth',1.5);
set(gca, 'XAxisLocation', 'top', 'YAxisLocation', 'left', 'YDir', 'reverse','FontSize',12);
xlabel("Speed of sound (m/s)")
ylabel("Depth (m)")

Sign in to comment.

Answers (1)

David Hill
David Hill on 6 Oct 2019
I simple search finds https://en.wikipedia.org/wiki/Speed_of_sound and gives the simple empirical equation for speed of sound in seawater.
c = 1448.96 + 4.591*T - 5.304e-2*T.^2 + 2.374e-4*T.^3 + 1.340*(S - 35) + 1.630e-2*z + 1.675e-7*z.^2 - 1.025e-2*(S - 35) - 7.139e-13*T.*z.^3;
So if you want to plot c (speed of sound) vs. depth z (in meters) you will need vectors for T (in degrees C) vs. depth and S (salinity in parts per thousand) vs. depth; otherwise, if T and S are held constant, c will be constantly increasing with depth.
Once you have vectors for z, T, and S, you just plug them into the equation to get the vector of c and:
plot(c,z);
  9 Comments
Darija_S
Darija_S on 6 Apr 2022
Hi! Did you maybe got an answer for this? I'm trying to do it, but it's not going as I want....
Junaid Qadir
Junaid Qadir on 6 Apr 2022
@Darija_S Try to calculate it from equations given in the paper. I checked the code in my laptop, but I could not find it. If I found the code I must share it with you.
https://ieeexplore.ieee.org/document/9130704

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!