underwater acoustic wave Signal to Noise Ratio (SNR)

13 visualizaciones (últimos 30 días)
Umar Khan
Umar Khan el 17 de Sept. de 2022
Comentada: Umar Khan el 17 de Sept. de 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 comentarios
Paul
Paul el 17 de Sept. de 2022
Hard to help without seeng code and example of the issue.
Are you trying to plot Ns(f), Nth(f), Nw(f), and Nt(f) as functions of f?
Keep in mind the difference between log and log10.
Umar Khan
Umar Khan el 17 de Sept. de 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);

Iniciar sesión para comentar.

Respuestas (2)

Paul
Paul el 17 de Sept. de 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 comentario
Umar Khan
Umar Khan el 17 de Sept. de 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.

Iniciar sesión para comentar.


Chris
Chris el 17 de Sept. de 2022
Editada: Chris el 17 de Sept. de 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 comentario
Umar Khan
Umar Khan el 17 de Sept. de 2022
Thanks Chris for pointing out about the ranges of frequency.

Iniciar sesión para comentar.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by