How to plot sound wave speed in water?

13 vues (au cours des 30 derniers jours)
Junaid Qadir
Junaid Qadir le 6 Oct 2019
Modifié(e) : Nathan Han le 13 Mai 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 commentaires
tayyaba ilyas
tayyaba ilyas le 8 Mar 2021
cant we use plotssp function?
please see the attached file page 11
Nathan Han
Nathan Han le 13 Mai 2023
Modifié(e) : Nathan Han le 13 Mai 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)")

Connectez-vous pour commenter.

Réponses (1)

David Hill
David Hill le 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 commentaires
Darija_S
Darija_S le 6 Avr 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 le 6 Avr 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Marine and Underwater Vehicles dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by