📄 awgnperformance.m
字号:
ad=[1,2,4,8]; %ad * f(d) look 8-2-5
%fd=[1,2,3,4];
%ad=[1,4,12,32];
d =[6,8,10,12];
%x=[0,-6];
Rc = 1/3;
%soft decision
pe_soft = [0:1:20];
SNR = [0:0.5:10]; % 以 db 为单位
for j = 1:21
pe_soft(j) = 0.5*ad*erfc(sqrt((10^(SNR(j)/10))*Rc*d))';
end
semilogy(SNR,pe_soft,'r-*');
%grid on;
xlabel('每比特SNR /db');
ylabel('比特差错率 Pe');
title('Rc=1/3 Soft Decision Vs. Hard Decision Performance');
hold on;
%hard decision(边界)
p = [0:1:20];
for j = 1:21
p(j) = 0.5*erfc(sqrt((10^(SNR(j)/10))*Rc));
for i = 1:4
pe_single(i) = (4*p(j)*(1-p(j)))^(d(i)/2);
end
pe_hard(j) = ad*pe_single';
end
%grid on;
semilogy(SNR,pe_hard,'b-o');
% %hard decision(精确)
% p = [0:1:20];
% for j = 1:21
% p(j) = 0.5*erfc(sqrt((10^(SNR(j)/10))*Rc));
% for i = 1:4
% for m=1:d(i) %求组合
% a(m)=m;
% end
% ans1=size(combntns(a,d(i)/2));
% array1=ans1(1);
% pe1=0.5*array1*p(j)^(d(i)/2)*(1-p(j))^(d(i)/2); %如果差错数等于d/2
% for k=(d(i)/2+1):d(i)
% for m=1:(d(i)/2)
% a(m)=m;
% end
% ans2=size(combntns(a,k));
% array2(k-d(i)/2)=ans2(1);
% pe2(k-d(i)/2)=array2(k-d(i)/2)*p(j)^k*(1-p(j))^(d(i)-k);
% end
% pe_single_accuracy(i)=pe1+sum(pe2);
% end
% pe_hard_accuracy(j) = ad*pe_single_accuracy';
% end
% %grid on;
% semilogy(SNR,pe_hard_accuracy,'g--X');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -