⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 awgnperformance.m

📁 该MATLAB程序评估了viterbi算法在衰落信道下的卷积译码的性能
💻 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 + -