How can I plot the SNR graph?

18 次查看(过去 30 天)
Hello to everyone. I want to create a Pd - SNR dB graph. I extracted the Probability detection formula. Here I took the power of the noise as a variable to generate Snr_dB. When L=100, the graph looks good, but as I enlarge the L value, my graph gets distorted. I couldn't understand why. When L values are 10,100,1000, I expect a graph similar to the one I will put below, but it breaks down except for the value of 100. I will be glad if you can help me by sharing the code. If there is something in the code that you don't understand, I can explain.
L=100;
thr=0.01;
snr_dB = [-25:2:20]; % SNR in decibels
snr = 10.^(snr_dB./10);
for k=1:length(snr)
n_sigma(k)=(0.0206+0.0074)/snr(k);
Pd_denklem(k) = (thr-L*(0.0206+n_sigma(k)+0.0074))/sqrt((L*(4*0.0074*(0.0206+n_sigma(k))+2*(0.0206+n_sigma(k))^2)));
pd(k)=qfunc(Pd_denklem(k));
end
plot(snr_dB,pd)
  4 个评论
Sulaymon Eshkabilov
I will try to rewrite the code according to your posted formulations.

请先登录,再进行评论。

采纳的回答

Sulaymon Eshkabilov
I have looked through your code that is written according to your provided formulations. That means that your provided formulations are not accurate. As we know that SNR = (Power of signal)/(Power of noise) and SNR (dB) = 10*log10( (Power of signal)/(Power of noise)). Thus, my advise is to verify your formulations carefully for once more. Particularly, a first formulation SNR = (S_x^2+M_x^2)/S_w^2 = (0.0206+0.0074)/n_sigma has to be checked. Moreover, what is N in your shown reference plot. In addition, the values of lambda and L should be taken carefully.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by