基于MATLAB的MIMO系统ZF破零均衡仿真

简介: 基于MATLAB的MIMO系统ZF破零均衡仿真

1.算法描述

   MIMO的空分复用技术可以使得系统在系统带宽和发射带宽不变的情况下容易地获得空间分集增益和信道的容量增益。OFDM技术采用多个正交的子载波并行传输数据,使得每一路上的数据速率大大降低,并且加入了时间保护间隔,因此具有较强的抗多径干扰和频率选择性衰落的能力。MIMO和OFDM技术将是未来无线通信中极具竞争力的技术。信号检测是MIMO-OFDM系统的关键任务之一。目前针对MIMO-OFDM系统中信号检测技术的研究主要集中在线性检测、非线性检测和最优检测三个方面。

   在无线通信中。 无线信道由各种类型的损伤组成,例如延迟扩展、衰落和多普勒扩展等。信道中的多径传播引入延迟扩展,导致 ISI、ICI等等问题,在信号接收端,我们需要进行均衡以减少失真,减轻 ISI 和噪声的综合影响。 因此为了恢复原始信号,使用滤波器,常用基本的滤波器有破零(Zero Forcing,ZF) 和最小均方误差( Minimum Mean Square Error,MMSE)算法。ZF算法使用一个加权矩阵W消除信道的干扰,根据估计的信道响应H初始化矩阵W,其中x表示发送的信号,,h表示信道冲击响应,H是估计的信道冲击响应,z表示恢复的信号。

    MIMO桌接收的时候,把这三种算法比作把一个信号映射到某个平面上的问题,MRC(Maximal Ratio Combining,最大比合并)是偏心信号,ZF(Zero Foring,迫零)是偏心干扰消除(即最小化干扰,使得干扰接近0),MMSE(Minimum Mean Squared Error,最小均方误差)是将两者折中。
   ZF的原理如下:  

image.png

   MIMO系统(Multiple-Input Multiple-Output)是指在发射端和接收端分别使用多个发射天线和接收天线,使信号通过发射端与接收端的多个天线传送和接收,从而改善通信质量。它能充分利用空间资源,通过多个天线实现多发多收,在不增加频谱资源和天线发射功率的情况下,可以成倍的提高系统信道容量,显示出明显的优势、被视为下一代移动通信的核心技术。

  MIMO系统却能有效地利用多径的影响来提高系统容量。系统容量是干扰受限的,不能通过增加发射功率来提高系统容量。而采用MIMO结构不需要增加发射功率就能获得很高的系统容量。因此,将MIMO技术与OFDM技术相结合是下一代无线局域网发展的趋势。在OFDM系统中,采用多发射天线实际上就是根据需要在各个子信道上应用多发射天线技术,每个子信道都对应一个多天线子系统、一个多发射天线的OFDM系统。

   MIMO(Multiple-Input Multiple-Output)技术指在发射端和接收端分别使用多个发射天线和接收天线,使信号通过发射端与接收端的多个天线传送和接收,从而改善通信质量。它能充分利用空间资源,通过多个天线实现多发多收,在不增加频谱资源和天线发射功率的情况下,可以成倍的提高系统信道容量,显示出明显的优势、被视为下一代移动通信的核心技术。

1无限长迫零(Zero force\ZF)均衡器
直接由上式,可得B(f)=\frac{1}{H(z)}B(f)=H(z)1​因为H(z)H(z)是FIR滤波器,所以B(f)B(f)是IIR滤波器。
但是,IIR滤波器缺点是很多的,比如不稳定,相位不线性,复杂等缺点,因此,我们需要FIR滤波器

2有限长时域迫零(ZF)均衡器
将无限长迫零均衡器截断,使之成为FIR滤波器,但是会残余ISI(码间干扰)。
有限长时域迫零(ZF)均衡器有什么缺点呢?会放大噪声,因此,在信噪比大的时候,有限长时域迫零(ZF)均衡器是可以接受的,但是信噪比一旦变小,有限长时域迫零(ZF)均衡器性能就会很差。

MLSE(最大似然序列估计)的性能接近AWGN信道,就像没有多径的情况一样。
ZF均衡器在信噪比高的时候性能好,在信噪比低的时候性能差。
MSE在信噪比高的时候性能比ZF差,在信噪比低的时候性能比ZF好。
2.仿真效果预览
matlab2022a仿真结果如下:

image.png

3.MATLAB核心程序

  errZF_DFE=0;
  ro=10^(snr(bi)/10);
  for n=1:No_uncode
       S_out=[];                                 % Symbol stream output_estimate
       S_in = randsrc(mTx,1,xcodebook)+ i*(randsrc(mTx,1,ycodebook)); % Symbol stream input
       S_in1=S_in/sqrt(Es);
       noise=(randn(nRx,1)+i*randn(nRx,1))/sqrt(2);%Get noise
       uncode_H=(randn(nRx,mTx)+i*randn(nRx,mTx))/sqrt(2);%Get Rayleigh channel
             
       y=sqrt(ro/mTx)*uncode_H*S_in1 + noise; % At receiver
     
%Demodulate via ZF Equalizer
       G_ZF = sqrt(mTx/ro)*pinv(uncode_H);
       S_out=sqrt(Es)*G_ZF*y; % Symbol out of equalizer
      % Decoder
         for ii=1:mTx % detector 
            [o,a(ii)]=quantiz(real(S_out(ii)),partition,xcodebook);
            [o,b(ii)]=quantiz(imag(S_out(ii)),partition,ycodebook);
         end
        S_out_dec = a + i*b;
        err_real= sum (real(S_out_dec)~=real(S_in.'));
        err_imag= sum (imag(S_out_dec)~=imag(S_in.'));
        errZF=errZF+err_real+err_imag;
%End ZF only
 
%ZF-DFE or V-Blast ----------------------------------------------------------------
        H=uncode_H;
        r=sqrt(Es)*y;
        G=sqrt(mTx/ro)*pinv(H);
        for j=1:mTx %i loop
            for J=1:mTx
                n(J)=(norm(G(J,:)))^2;
            end
            for t=1:j-1
                n(k(t))= Inf;
            end
            [ Y,I]=min(n);
            k(j)=I;
            w=G(I,:);
            yy=w*r;
            [ o,n1]=quantiz(real(yy),partition,xcodebook);
            [ o,n2]=quantiz(imag(yy),partition,ycodebook);
            b(I)=n1+i*n2;
            r=r-sqrt(ro/mTx)*H(:,I)*b(I);
            H(:,I)=0;
          G=sqrt(mTx/ro)*pinv(H);
        end % end i loop
        err_real= sum (real(b)~=real(S_in.'));
        err_imag= sum (imag(b)~=imag(S_in.'));
        errZF_DFE=errZF_DFE+err_real+err_imag;
相关文章
|
23天前
OFDM深入学习及MATLAB仿真(二)
OFDM深入学习及MATLAB仿真
22 1
|
23天前
|
机器学习/深度学习
信道编码译码及MATLAB仿真(三)
信道编码译码及MATLAB仿真
28 3
|
4天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
基于PSO优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
该文档介绍了使用MATLAB2022A中PSO优化算法提升时间序列预测模型性能的过程。PSO优化前后对比显示了优化效果。算法基于CNN、LSTM和Attention机制构建CNN-LSTM-Attention模型,利用PSO调整模型超参数。代码示例展示了PSO的迭代优化过程及训练、预测和误差分析环节。最终,模型的预测结果以图形形式展示,并保存了相关数据。
|
23天前
雷达模糊函数及MATLAB仿真(三)
雷达模糊函数及MATLAB仿真
15 0
|
23天前
雷达模糊函数及MATLAB仿真(一)
雷达模糊函数及MATLAB仿真
25 0
|
23天前
雷达检测及MATLAB仿真(三)
雷达检测及MATLAB仿真
21 0
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
3月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)

热门文章

最新文章