How can I plot the SNR graph?
10 次查看(过去 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)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/700162/image.jpeg)
4 个评论
采纳的回答
Sulaymon Eshkabilov
2021-8-2
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 Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!