underwater acoustic wave Signal to Noise Ratio (SNR)

19 ビュー (過去 30 日間)
Umar Khan
Umar Khan 2022 年 9 月 17 日
コメント済み: Umar Khan 2022 年 9 月 17 日
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 件のコメント
Umar Khan
Umar Khan 2022 年 9 月 17 日
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);

サインインしてコメントする。

回答 (2 件)

Paul
Paul 2022 年 9 月 17 日
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 件のコメント
Umar Khan
Umar Khan 2022 年 9 月 17 日
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
Chris 2022 年 9 月 17 日
編集済み: Chris 2022 年 9 月 17 日
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 件のコメント
Umar Khan
Umar Khan 2022 年 9 月 17 日
Thanks Chris for pointing out about the ranges of frequency.

サインインしてコメントする。

カテゴリ

Find more on Audio I/O and Waveform Generation 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!

Translated by