How to plot sound wave speed in water?

11 Ansichten (letzte 30 Tage)
Junaid Qadir
Junaid Qadir am 6 Okt. 2019
Bearbeitet: Nathan Han am 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 Kommentare
tayyaba ilyas
tayyaba ilyas am 8 Mär. 2021
cant we use plotssp function?
please see the attached file page 11
Nathan Han
Nathan Han am 13 Mai 2023
Bearbeitet: Nathan Han am 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)")

Melden Sie sich an, um zu kommentieren.

Antworten (1)

David Hill
David Hill am 6 Okt. 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 Kommentare
Darija_S
Darija_S am 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 am 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Marine and Underwater Vehicles finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by