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

📄 diversity.m

📁 基于BPSK的最大比例分集误码率性能仿真
💻 M
字号:
n=2000000;
data=randint(n,1);
data_mol=zeros(n,1);
data_com=zeros(n,1);
data_demol=zeros(n,1);

map=[0,1;1,exp(j*pi)];%modulation map
for i=1:length(data);%mapping
if data(i)==map(1,1)
   data_mol(i)=1;
else   data_mol(i)=-1;
end;
end;
Es=1;
h=(randn(2,length(data))+j*randn(2,length(data)))/sqrt(2);%static Relay channel
h0=h(1,:);
h1=h(2,:);
EsN0=0:1.5:30;%GAWN/singnal
BER=zeros(1,length(EsN0));
r0=zeros(1,length(data));
r1=zeros(1,length(data));
idx=1;
for SNR=EsN0
  N0=Es./(10.^(SNR./10));
  GAWN0=sqrt(N0/2).*randn(n,1)+j*sqrt(N0/2).*randn(n,1);
  GAWN1=sqrt(N0/2).*randn(n,1)+j*sqrt(N0/2).*randn(n,1);
  for k=1:length(data) 
      r0(k)=h0(k)*data_mol(k)+GAWN0(k);
      r1(k)=h1(k)*data_mol(k)+GAWN1(k);
      data_com(k)=r0(k)*conj(h0(k))+r1(k)*conj(h1(k));
    if (abs(map(1,2)-data_com(k)))^2>(abs(map(2,2)-data_com(k)))^2
        data_demol(k)=-1;
    else data_demol(k)=1;
    end;
  end;
    BER(idx)=1-length(find(data_mol-data_demol==0))/length(data);
    idx=idx+1;
end;
semilogy(EsN0,BER);
axis([0 40 10^(-6) 1]);

⌨️ 快捷键说明

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