rayleighperformance.m
来自「该MATLAB程序评估了viterbi算法在衰落信道下的卷积译码的性能」· M 代码 · 共 48 行
M
48 行
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 + =
减小字号Ctrl + -
显示快捷键?