# underwater acoustic wave Signal to Noise Ratio (SNR)

16 views (last 30 days)
Umar Khan on 17 Sep 2022
Commented: Umar Khan on 17 Sep 2022
I am trying to plot the curve of Signal to Noise Ratio for Acoustic waves in Underwater. I am finding two problems.
1- The SNR must be decreaseing for higher frequency values, however, i am seeing increase of SNR with the increase of Frequencies.
2- While ploting SNR there should be some peak SNR for certain frequencies, however, i am seeing a smooth curve.
The equations i am trying to plot is
10log Ns(f)=40–20 (S-0.5)+26log f–60log (f + 0.03)
10log Nth(f) = -15 + 20logf
10logNw(f )= 50 + 7.5√W + 20 log f– 40 log (f+0.4)
10log Nt(f) = 17 – 30 log f
Can someone please identify the problem.
##### 2 CommentsShowHide 1 older comment
Umar Khan on 17 Sep 2022
Thankyou Paul,
I am actually trying to plot the SNR curve. This is the code which i used for plotting.
% Transmission Loss
af=[];
for f=1:1:100
af1=(0.11*f*f)/(1+(f*f));
af2=(44*f*f)/(4100+(f*f));
af3=2.75*(10^(-4))*f*f;
af4=af1+af2+af3+0.003;
af=[af af4];
SSs= 10*log(50);
TL = SSs + af*10^(-3);
end
%Noise
for f=1:1:100 %frequency
gg(f)=f;
nt (f) = 17-30*log10(f);
ns (f) = 40+20*(1-0.5)+26*log10(f)-60*log10(f+0.03);
nw (f) = 50+20*log10(f)-40*log10(f+0.4)+7.5*6^(0.5);
nth(f)= -15+20*log10(f);
%
N = nt+ns+nw+nth;
end
SNR = -190.2197446 - TL -N;
plot(af,SNR);

Paul on 17 Sep 2022
At a minimum:
SSs is still using log, probably should be log10
The equation coded for ns doesn't match the equation in the question. The second term in the former has +20 but the latter has -20.
The computatoin of N doesn't need to be inside the loop, but that doesn't really matter.
Also, all of this code could be implemented without loops at all, for example:
f = 1:100;
nth = -15 + 20*log10(f);
Umar Khan on 17 Sep 2022
Yes , i tried SSs with log10, but it doesnot make much difference.
Yes , in Ns the second term is +20 , it is also not effecting the plot.

Chris on 17 Sep 2022
Edited: Chris on 17 Sep 2022
Your individual noise sources add up to a decreasing signal, and I'm not sure af is on the right scale.
Should S in the noise equations be equal to 1, or to the signal?
Is the signal supposed to be 1, -190, or 10*log10(50) (or 20?) ?
And is 1-100 Hz the correct frequency range?
f = 1:100;
af1=(0.11.*f.^2)./(1+(f.^2));
af2=(44.*f.^2)./(4100+(f.^2));
af3=2.75.*(10.^(-4)).*f.^2;
af=af1+af2+af3+0.003;
SSs= 10*log10(50);
TL = SSs + af.*10^(-3);
nt = 17-30.*log10(f);
ns = 40+20.*(1-0.5)+26.*log10(f)-60.*log10(f+0.03);
nw = 50+20.*log10(f)-40.*log10(f+0.4)+7.5.*6^(0.5);
nth = -15+20*log10(f);
figure
tiledlayout(1,2)
nexttile
plot(f,TL)
ylim([0 20])
ylabel('mW?')
xlabel('Frequency (Hz)')
title('TL?')
nexttile
plot(f,nt,f,ns,f,nw,f,nth)
legend({'nt','ns','nw','nth'})
ylabel('noise (dBm?)')
xlabel('Frequency (Hz)')
title('Noise') Umar Khan on 17 Sep 2022
Thanks Chris for pointing out about the ranges of frequency.

### Categories

Find more on Biological and Health Sciences in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!