How to plot sound wave speed in water?

13 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.

Categories

Find more on Marine and Underwater Vehicles in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!