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

📄 ser.m

📁 基于调和平均数方法分析瑞利信道多点两跳中继合作分集性能
💻 M
字号:
% tingting yang
% 2008-11-13
% multi-node Dual-Hop
% MPSK; SER
% nonregenerative relays
% 最大比合并
% SER  Approximate expressions
clc
clear
sita=pi./2;
m=4;  % the number of relay terminals
M=4;% the orders of modulation
N=4;
m_r =20;
rf=2;

r=[0.1 0.3 0.5 0.1;
    0.2 0.3 0.4 0.5;
    0.5 0.6 0.4 0.5 ;
    0.6 0.6 0.7 0.8;
    0.7 0.8 0.9 1.0
    0.8 0.9 1.0 1.1;
    1.0 1.1 1.2 1.3;
    1.2 1.3 1.4 1.5;
    1.3 1.3 1.5 1.6;
    1.4 1.4 1.5 1.6
    1.6 1.7 1.8 1.9;
    1.7 1.8 1.9 2.0;
    2.1 2.2 2.3 2.4;
    2.2 2.4 2.5 2.6;
    2.5 2.6 2.7 2.8;
    2.6 2.7 2.8 2.9; 
    2.9 3.0 3.1 3.2;
    3.3 3.4 3.5 3.6; 
    3.7 3.8 3.9 4.0;
    3.8 3.9 2.7 4.0]
    
k=1;
for i=1:20
    for j=1:m
        r(i)=r(i)+r(i,j);
    end
  r1(i)=0.25*r(i);
end

pse=0;
pse1=0;
out=0;
va6=1;
%PSE(m_r)=0;
[m_r,n_r]=size(r);

PSE=zeros(1,m_r);

for j=1:m_r  m_r =20
%for i=1:m   %m=4
  
    %sita=i*(M-1)*pi/M/m; %M=4
    %dsita=(M-1)*pi/M/m;
    va1=(sin(sita))^2;
    va2=va1+rf*((sin(pi/M))^2);
    va3=(sin(pi/M))^(2*m);
    va4=K(k);
    for k=1:m
        va5=r(j,k)/4;
        va6=va5*va6;
    end
    pse1=(M-1)*(va1./va2)*va3*va6*va4/M;
    %end
PSE(1,j)=pse1;
end
%PSE=num2str(pse1);
disp(['Ps(E)<=',PSE]);
disp(PSE);
%l=linspace(0,30,20);%画线


m=10;  % the number of relay terminals
M=4;% the orders of modulation
N=4;


rf=2;
r=[0.1 0.3 0.1 0.1 0.2 0.2 0.3 0.2 0.1 0.2;
    0.2 0.3 0.3 0.1 0.1 0.2 0.3 0.1 0.2 0.2;
    0.3 0.4 0.3 0.5 0.3 0.1 0.2 0.1 0.2 0.1;
    0.2 0.3 0.4 0.5 0.4 0.3 0.2 0.2 0.3 0.5
    0.5 0.6 0.7 0.8 0.4 0.5 0.6 0.7 0.8 0.9;
    0.4 0.5 0.6 0.7 0.3 0.4 0.5 0.6 0.7 0.8;
    0.8 0.9 1.0 1.1 0.6 0.7 0.8 0.9 1.0 1.1;
    1.0 1.1 1.2 1.3 0.9 1.0 1.2 1.1 1.3 1.4;
    1.2 1.3 1.4 1.5 1.1 1.2 1.3 1.4 1.5 1.6;
    1.3 1.3 1.5 1.6 1.2 1.3 1.4 1.5 1.6 1.7;
    1.6 1.7 1.8 1.9 1.5 1.6 1.7 1.8 1.9 2.0;
    1.7 1.8 1.9 2.0 1.5 1.6 1.7 1.8 1.9 2.0;
    2.1 2.2 2.3 2.4 2.0 2.1 2.2 2.3 2.4 2.5;
    2.2 2.4 2.5 2.6 2.0 2.1 2.2 2.3 2.4 2.5;
    2.5 2.6 2.7 2.8 2.3 2.4 2.5 2.6 2.7 2.8;
    2.6 2.7 2.8 2.9 2.4 2.5 2.6 2.7 2.8 2.9; 
    2.9 3.0 3.1 3.2 2.6 2.7 2.8 2.9 3.0 3.1;
    3.3 3.4 3.5 3.6 3.1 3.2 3.3 3.4 3.5 3.6; 
    3.7 3.8 3.9 4.0 3.5 3.6 3.7 3.8 3.9 4.0;
    3.8 3.9 2.7 4.0 3.6 3.7 3.8 3.9 4.0 4.1]
    
k=1;
for i=1:20
    for j=1:m
        r(i)=r(i)+r(i,j);
    end
  r2(i)=0.1*r(i);
end
pse=0;
pse1=0;
out=0;
va6=1;
%PSE(m_r)=0;
[m_r,n_r]=size(r);

PSE2=zeros(1,m_r);

for j=1:m_r  %m_r =20
%for i=1:m   %m=4
  
    %sita=i*(M-1)*pi/M/m; %M=4
    %dsita=(M-1)*pi/M/m;
    va1=(sin(sita))^2;
    va2=va1+rf*((sin(pi/M))^2);
    va3=(sin(pi/M))^(2*m);
    va4=K(k);
    for k=1:m
        va5=r(j,k)/4;
        va6=va5*va6;
    end
    pse1=(M-1)*(va1./va2)*va3*va6*va4/M;
    %end
PSE2(1,j)=pse1;
end
%PSE=num2str(pse1);
disp(['Ps(E)<=',PSE2]);
disp(PSE2);
%l=linspace(0,30,20);%画线

m=4;  % the number of relay terminals
M=8;% the orders of modulation
N=4;

rf=2;
r=[0.1 0.3 0.5 0.1;
    0.2 0.3 0.4 0.5;
    0.5 0.6 0.4 0.5 ;
    0.6 0.6 0.7 0.8;
    0.7 0.8 0.9 1.0
    0.8 0.9 1.0 1.1;
    1.0 1.1 1.2 1.3;
    1.2 1.3 1.4 1.5;
    1.3 1.3 1.5 1.6;
    1.4 1.4 1.5 1.6
    1.6 1.7 1.8 1.9;
    1.7 1.8 1.9 2.0;
    2.1 2.2 2.3 2.4;
    2.2 2.4 2.5 2.6;
    2.5 2.6 2.7 2.8;
    2.6 2.7 2.8 2.9; 
    2.9 3.0 3.1 3.2;
    3.3 3.4 3.5 3.6; 
    3.7 3.8 3.9 4.0;
    3.8 3.9 2.7 4.0]
k=1;
for i=1:20
    for j=1:m
        r(i)=r(i)+r(i,j);
    end
    r3(i)=0.25*r(i);
end
pse=0;
pse1=0;
out=0;
va6=1;
%PSE(m_r)=0;
[m_r,n_r]=size(r);

PSE3=zeros(1,m_r);

for j=1:m_r  %m_r =20
%for i=1:m   %m=4
  
    %sita=i*(M-1)*pi/M/m; %M=4
    %dsita=(M-1)*pi/M/m;
    va1=(sin(sita))^2;
    va2=va1+rf*((sin(pi/M))^2);
    va3=(sin(pi/M))^(2*m);
    va4=K(k);
    for k=1:m
        va5=r(j,k)/4;
        va6=va5*va6;
    end
    pse1=(M-1)*(va1./va2)*va3*va6*va4/M;
    %end
PSE3(1,j)=pse1;
end
%PSE=num2str(pse1);
disp(['Ps(E)<=',PSE3]);
disp(PSE3);
%l=linspace(0,30,20);%画线


m=10;  % the number of relay terminals
M=8;% the orders of modulation
N=4;

rf=2;
r=[0.1 0.3 0.1 0.1 0.2 0.2 0.3 0.2 0.1 0.2;
    0.2 0.3 0.3 0.1 0.1 0.2 0.3 0.1 0.2 0.2;
    0.3 0.4 0.3 0.5 0.3 0.1 0.2 0.1 0.2 0.1;
    0.2 0.3 0.4 0.5 0.4 0.3 0.2 0.2 0.3 0.5
    0.5 0.6 0.7 0.8 0.4 0.5 0.6 0.7 0.8 0.9;
    0.4 0.5 0.6 0.7 0.3 0.4 0.5 0.6 0.7 0.8;
    0.8 0.9 1.0 1.1 0.6 0.7 0.8 0.9 1.0 1.1;
    1.0 1.1 1.2 1.3 0.9 1.0 1.2 1.1 1.3 1.4;
    1.2 1.3 1.4 1.5 1.1 1.2 1.3 1.4 1.5 1.6;
    1.3 1.3 1.5 1.6 1.2 1.3 1.4 1.5 1.6 1.7;
    1.6 1.7 1.8 1.9 1.5 1.6 1.7 1.8 1.9 2.0;
    1.7 1.8 1.9 2.0 1.5 1.6 1.7 1.8 1.9 2.0;
    2.1 2.2 2.3 2.4 2.0 2.1 2.2 2.3 2.4 2.5;
    2.2 2.4 2.5 2.6 2.0 2.1 2.2 2.3 2.4 2.5;
    2.5 2.6 2.7 2.8 2.3 2.4 2.5 2.6 2.7 2.8;
    2.6 2.7 2.8 2.9 2.4 2.5 2.6 2.7 2.8 2.9; 
    2.9 3.0 3.1 3.2 2.6 2.7 2.8 2.9 3.0 3.1;
    3.3 3.4 3.5 3.6 3.1 3.2 3.3 3.4 3.5 3.6; 
    3.7 3.8 3.9 4.0 3.5 3.6 3.7 3.8 3.9 4.0;
    3.8 3.9 2.7 4.0 3.6 3.7 3.8 3.9 4.0 4.1]
    

k=1;
for i=1:20
    for j=1:m
        r(i)=r(i)+r(i,j);
    end
   r4(i)=0.1*r(i);
end
pse=0;
pse1=0;
out=0;
va6=1;
%PSE(m_r)=0;
[m_r,n_r]=size(r);

PSE4=zeros(1,m_r);

for j=1:m_r  %m_r =20
%for i=1:m   %m=4
  
    %sita=i*(M-1)*pi/M/m; %M=4
    %dsita=(M-1)*pi/M/m;
    va1=(sin(sita))^2;
    va2=va1+rf*((sin(pi/M))^2);
    va3=(sin(pi/M))^(2*m);
    va4=K(k);
    for k=1:m
        va5=r(j,k)/4;
        va6=va5*va6;
    end
    pse1=(M-1)*(va1./va2)*va3*va6*va4/M;
    %end
PSE4(1,j)=pse1;
end
%PSE=num2str(pse1);
disp(['Ps(E)<=',PSE4]);
disp(PSE4);
%l=linspace(0,30,20);%画线

axis([0,4,10e-80,1]);
semilogy(r1,PSE,'*');
hold on
semilogy(r2,PSE2,':');
semilogy(r3,PSE3,'o');
semilogy(r4,PSE4,'x');
xlabel('r'),ylabel('Average Symbol Error Rate(SER)PSE');
h=legend('m=4,M=4','m=10,M=4','m=4,M=8','m=10,M=8',4);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -