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

📄 bd1.m

📁 一个4*4mimo通信系统的仿真
💻 M
字号:
% 仿真4*4MIMO(QPSK调制)系统 MMSE Vblast接收机的检测性能,绘制误比特率~信噪比曲线。


% 发端
% 发射天线数tx,接收天线数rx,发射矩阵长度L(帧长)
tx=4;
rx=4;
L=10000;
Modulation='QPSK';
EbNo=[0:5:20];
B=30000;
Ts=1/24300;
SNR=EbNo-10*log10(Ts*B);
A=randint(tx*L,1);                  % 信源A
X=zeros(tx,L);                      % 经过QPSK调制的V-Blast发射矩阵X
for k=1:tx                          %
   X(k,:)=((-1).^(A(k:tx:end)+1))';    %
end                                 %


% 信道

% Rayleigh信道
H=sqrt(1/2)*(randn(rx,tx,L)+i*randn(rx,tx,L));
% 均值为0方差为1的高斯白噪声n
n=sqrt(1/2)*(randn(rx,L)+i*randn(rx,L));
% 未叠加噪声的接收信号R
R=zeros(rx,L);
for k=1:L
    R(:,k)=H(:,:,k)*X(:,k);
end


%MMSE检测
disp('MMSE')
berm=[];
  for m=SNR
      m
      snr=10^(m/10);
      R_noised=R+sqrt(1/snr)*n;
      x=[];
      a=zeros(tx*L,1);
      for t=1:L
          r=R_noised(:,t);
          HH=H(:,:,t);
          xtemp=zeros(tx,1);
          w=inv(HH'*HH+(1/snr)*eye(tx))*HH';
          y=w*r;
          xtemp=(y>=0)-(y<0)+0;
          x=[x,xtemp];
      end
      for k=1:tx
          a(k:tx:end)=(x(k:tx:end)+1)/2;
      end
      [errbit,temp_ber]=biterr(A,a);
      berm=[berm,temp_ber];
  end
semilogy(EbNo,berm,'s- b')
legend('MMSE');
xlabel('Eb/No(dB)');
ylabel('误比特率');
title('MMSE检测效果');
 

⌨️ 快捷键说明

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