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

📄 mimo-performances.m

📁 对ALamouti方案中输入输出为(2
💻 M
字号:
N = 1000;	                                       %信息包含帧数
   a = 1;                                              %高斯信道中幅度衰减
   FrameLim = 1000;                                    %终止帧数目
   EbN0db = [0:1:30];                                %输入信噪比矢量
   FRAME = N;                                          %传送的数据比特(帧)
    
fprintf('+ + + Please be patient. Wait a while to get the result. + + +\n');

for nEN = 1:length(EbN0db)                            %计算31次连续变化的输入信噪比对应的误比特率
   
   en = 10^(EbN0db(nEN)/10);                          %计算实际信噪比,将前面的db化到实际比值
   sigma = sqrt(1/en/2); 	                          %AWGN信道噪声标准差
   
   
  cber0(nEN) = 0;                                     %1T1R误比特率
  cerrs0(nEN) = 0;                                    %1T1R总误比特数                         
  cber12(nEN) = 0;                                     %1T2R误比特率
  cerrs12(nEN) = 0;                                    %1T2R总误比特数   
 
  nframe = 0;                                         %发送次数参量,用来标志发送次数
   
   while nframe < FrameLim                            %发送过程
      nframe = nframe + 1;    
      
      data = randint(1, N);                           %产生N个随机数用来发送,这里N个随机数为1帧
              
      H = (randn + j*randn)/sqrt(2);                %独立瑞利MIMO信道模型
      
      sMatrix0 = 2 .* data - 1;                     %2PSK调制 
 
      rMatrix0 =  H * sMatrix0;                       %接收到的信号(无噪声)
          
      nMatrix0 = sigma*(randn(1,FRAME)+j*randn(1,FRAME));    %AWGN噪声
 
      rMatrix0 = rMatrix0 + nMatrix0;                 %接收到的信号(含噪声)

      dMatrix0= H'* rMatrix0;                         %利用与H共轭矩阵相乘恢复接收信号
      
      dec1(1,1:N)=real(dMatrix0(1,1:N));  %2PSK解调
      %for i = 1:N
       %   dec1(1,i)=real(dMatrix0(1,i))
      %end

      dec = (sign(dec1)+1)/2;                         %判决发送的是0还是1

      cerr0 = length(find(dec(1:N) ~= data(1:N)));    %计算该帧信号中的误比特数量

      cerrs0(nEN) = cerrs0(nEN) + cerr0;              %对每帧的误比特数量进行累加

   end                                                %end of while
      
       cerrs0(nEN);
      cber0(nEN) = cerrs0(nEN)/(N)/nframe;            %计算总的误比特率
         
   
end  
figure
  semilogy(EbN0db,cber0)                              %做图
hold on;  
  
 %1发2收 
   for nEN = 1:length(EbN0db)                            %计算31次连续变化的输入信噪比对应的误比特率
   en = 10^(EbN0db(nEN)/10);                          %计算实际信噪比,将前面的db化到实际比值
   sigma = sqrt(1/en/2); 	                          %AWGN信道噪声标准差
   
   
  cber12(nEN) = 0;                                     
  cerrs12(nEN) = 0;                                                            
  
 
  nframe = 0;                                         %发送次数参量,用来标志发送次数
   
   while nframe < FrameLim                            %发送过程
      nframe = nframe + 1;    
      
      data = randint(1, N);                           %产生N个随机数用来发送,这里N个随机数为1帧
              
      H1 = (randn + j*randn)/sqrt(2);                %独立瑞利MIMO信道模型
      H2 = (randn + j*randn)/sqrt(2);                %独立瑞利MIMO信道模型
      sMatrix0 = 2 .* data - 1;                     %2PSK调制 
 
      rMatrix1 =  H1 * sMatrix0;                       %接收到的信号(无噪声)
      rMatrix2 =  H2 * sMatrix0;                       %接收到的信号(无噪声)
      nMatrix0 = sigma*(randn(1,FRAME)+j*randn(1,FRAME));    %AWGN噪声
 
      rMatrix1 = rMatrix1 + nMatrix0;                 %接收到的信号(含噪声)
      rMatrix2 = rMatrix2 + nMatrix0;                 %接收到的信号(含噪声)
      dMatrix1= H1'* rMatrix1;                         %利用与H共轭矩阵相乘恢复接收信号
      dMatrix2= H2'* rMatrix2;                         %利用与H共轭矩阵相乘恢复接收信号
      dMatrix=dMatrix1+dMatrix2;
      dec1(1,1:N)=real(dMatrix(1,1:N));  %2PSK解调
    
      dec = (sign(dec1)+1)/2;                         %判决发送的是0还是1

      cerr12 = length(find(dec(1:N) ~= data(1:N)));    %计算该帧信号中的误比特数量

      cerrs12(nEN) = cerrs12(nEN) + cerr12;              %对每帧的误比特数量进行累加

   end                                                %end of while
      
       cerrs12(nEN);
      cber12(nEN) = cerrs12(nEN)/(N)/nframe;            %计算总的误比特率
         
   
end  
figure
  semilogy(EbN0db,cber12)                              %做图

⌨️ 快捷键说明

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