📄 rayleighperformance.m
字号:
ad=[1,2,4,8];
d =[6,8,10,12];
Rc = 1/3;
SNRb=[10:0.5:20]; % 以 db 为单位,表示分集接收时的平均比特信噪比;
%soft decision
pe_soft = zeros(1,21);
Pe2=zeros(1,4); % 成对差错概率
for j = 1:21
p=1/(2+Rc*(10^(SNRb(j)/10))); %求出比特差错率
for i=1:4
a=0;
for k=0:(d(i)-1)
a=a+combine(d(i)-1+k,k)*(1-p)^k;
end
Pe2(i)=(p^d(i))*a;
end
pe_soft(j) = ad*Pe2';
end
semilogy(SNRb,pe_soft,'r-*');
%grid on;
xlabel('分集接收时平均比特SNRb /db');
ylabel('比特差错率 Pe');
title('Rc=1/3 Soft Decision Vs. Hard Decision Performance');
hold on;
%hard decision(边界)
pe_hard = zeros(1,21);
for j = 1:21
p=1/(2+Rc*(10^(SNRb(j)/10))); %求出比特差错率
for i = 1:4
pe_single(i) = (4*p*(1-p))^(d(i)/2);
end
pe_hard(j) = ad*pe_single';
end
%grid on;
semilogy(SNRb,pe_hard,'b-o');
% % %hard decision(精确)
% % p = [0:1:20];
% for j = 1:21
% p=1/(2+Rc*(10^(SNRb(j)/10))); %求出比特差错率
% for i = 1:4
% pe_single_accuracy(i)=0.5*combine(d(i),d(i)/2)*(p^(d(i)/2))*((1-p)^(d(i)/2));
% end
% pe_hard_accuracy(j) = ad*pe_single_accuracy';
% end
% semilogy(SNRb,pe_hard_accuracy,'g--X');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -