underwater acoustic wave Signal to Noise Ratio (SNR)

6 views (last 30 days)
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 Comments
Umar Khan
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);

Sign in to comment.

Answers (2)

Paul
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);
  1 Comment
Umar Khan
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.

Sign in to comment.


Chris
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')
  1 Comment
Umar Khan
Umar Khan on 17 Sep 2022
Thanks Chris for pointing out about the ranges of frequency.

Sign in to comment.

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!