预编码ZF,MMSE,THP准则线性预编码误码率仿真

简介: 预编码ZF,MMSE,THP准则线性预编码误码率仿真

1.算法概述
恒定包络( Constant Enve-lope,CE) 预编码;

   该算法规定,每根天线上的发射功率被限定为一个与信道条件和信号符号均无关的常数,各根天线均发射恒包络信号,符号信息由其相位携带,接收端通过将各根天线发出的恒包络信号进行矢量合成后,即可得到一个与之相应的星座点,同时也就降低了 PAPR。

脏纸编码 ( Dirty Paper Coding,DPC) 算法

   脏纸编码( Dirty - Paper Coding,DPC) 算法的基本思想是:假设一张纸上有许多相互独立的污点,且书写者准确知道它们的分布状况(即完美的CSI),那么,只要书写者采用一种与之相适应的书写方式,就可以使得阅读者在不知道污点分布状况的情形下,仍旧可以获取书写者想要传递的信息,这就可以使信道容量达到最大。 简单说就是在节省资源的条件下,将多用户信息叠加在一起。

     如果基站端掌握了完备的 CSI,那么使用 DPC 预编码是最佳的选择,因为它可以使信道的利用率达到最大。同时,虽然在实际系统中获取完备的 CSI 非常困难,即 DPC 算法几乎不可能得到应用,但其理论性能指标可以作为ZF 和 MMSE 等传统预编码算法的参考基准 。

THP 预编码算法

    它是一种连续的非线性预编码技术,可以对下行链路子信道间产生的相互干扰进行均衡。与 DPC 算法极其类似,是一个串行进行的过程,经过反馈之后,第二个用户可以消除来自第一个用户的干扰,第三个用户可以消除来自第一个和第二个用户的干扰,如此类推下去,就可以达到消除符号间干扰、提高误符号率性能的目的,是一种具有实际意义的预编码算法。

     与 DPC 的不同之处在于 THP 预编码算法中加入了模运算,虽然 THP 预编码算法在性能上不如DPC,但它可以有效降低发射功率。当然,它也需要基站端掌握完备的信道状态信息 。

矢量预编码算法

  相对于 THP 而言,向量扰动预编码是更广义的脏纸编码算法。它的算法原理是:在原本要发射的信号上加上一个扰动矢量,可以使原发射信号的发射功率最小化。向量扰动预编码算法面临的问题就转换成为寻找最优扰动矢量的最优化问题 。

  在多输入多输出(MIMO)应用中,大规模 MIMO 和传统 MIMO 相比,除了可以通过预编码提升误比特性能外,还可以大幅提升系统容量。

   现有的多用户预编码可以分为线性和非线性预编码两类,两类预编码有各自的优点,线性预编码实现简单并且性能可观,非线性预编码实现稍显复杂但是性能要远优于线性预编码。与线性预编码相对应,非线性模代数(THP)预编码可以基于迫零准则设计也可以基于最小均方误差准则设计。

   THP预编码算法是基于DPC编码的,相比之下,THP复杂度更低,并同时延续了DPC的诸多优点,由于采用了取模操作,因而属于一种非线性预编码方式。在MIMO系统中,THP能够近似达到系统容量上限,但是,其实现前提是能有效获取到CSI。在目前的THP算法中,主要基于ZF与MMSE准则设计。

    下面针对THP的原理和实现展开详细描述,图1给出了多用户MIMO系统下的THP框图,较传统线性预编码而言,THP较为复杂。

    发送方的预编码主要有两种类型:线性和非线性.线性预编码的典型例子是匹配滤波预编码(MFP)和迫零滤波预编码(ZFP).MFP受制于残留干扰(remaining interference),ZFP受制于发送功率的增强.

   非线性预编码的例子:(THP)原本是用于单用户系统中均衡以消除ISI,它等效于在接收端的判决反馈均衡器.通过部分信号处理由接收端转移到发送端,降低了MS的计算复杂度,可以避免错误传递(error propagation)和立即判决(immediate decision)。

   多入多出技术(MIMO)以满足快速增长的用户需求,而在采用MIMO系统的点对多点通信中,需要采用预编码以抑制用户间干扰,THP预编码就是一种有效的非线性预编码方式,可以获得很好的系统性能.本文从多用户MIMO-THP系统结构模型出发,介绍了基于ZF准则以及MMSE准则的THP预编码算法,并比较两者性能;同时在此基础上,对加入了功率分配的多用户MIMO-THP系统以多用户及排序MIMO-THP进行深入研究,分析和仿真.

2.仿真效果预览
matlab2022a仿真结果如下:

1.png
2.png

3.核心MATLAB代码预览

   index
   snr = 10.^(SNR(index)/10);
   ea = 1;% 每个天线发射的功率,也即信号向量中每个元素的功率
   es = ea*Nt; % 总共的发射功率
   sigma_n2 = es/snr;% noise power
   
   for cnt = 1:Iter_num;% 信道的实现次数的循环
       
       H = sqrt(1/2)*(randn(Nr,Nt)+j*randn(Nr,Nt));% H
               
       for sym_index = 1:num; %在一帧数据符号中,信道保持不变
           
           Source = floor(M*rand(Nt,1));% random data generator
           Sym = pskmod(Source,M,pi/4,'gray'); % qpsk modulator
           [d_thp,beta] = THP_encoder(Sym,H,period);% 对符号进行THP预编码
           noise = sqrt(sigma_n2/2)*(randn(Nr,1)+j*randn(Nr,1));%生成噪声功率为sigma_n2
           y_thp = H*d_thp + noise(:,1);% 通过信道并加噪声

           r_thp = beta*y_thp;% 进行接收端的缩放
           
           Rec_thp = mod_thp(r_thp,period);

           Rec_Data_thp = pskdemod(Rec_thp,M,pi/4,'gray');% 对接收信号进行判决
           
           [err ratio] = biterr(Rec_Data_thp,Source,log2(M));% ber
           ber_thp(1,index) = ber_thp(1,index) + ratio;

       end; % loop for num
       
   end; % loop for iteration
   
end % loop for snr
A008
相关文章
|
4天前
|
算法 Shell
通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
|
4天前
|
算法 Serverless
m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB 2022a仿真实现了遗传优化的归一化最小和(NMS)译码算法,应用于低密度奇偶校验(LDPC)码。结果显示了遗传优化的迭代过程和误码率对比。遗传算法通过选择、交叉和变异操作寻找最佳归一化因子,以提升NMS译码性能。核心程序包括迭代优化、目标函数计算及性能绘图。最终,展示了SNR与误码率的关系,并保存了关键数据。
16 1
|
9月前
|
算法 异构计算
m基于FPGA的高斯白噪声信道模拟系统verilog实现,包含testbench,可以配置不同的SNR和频偏
m基于FPGA的高斯白噪声信道模拟系统verilog实现,包含testbench,可以配置不同的SNR和频偏
176 0
|
9月前
|
算法 异构计算
m基于FFT傅里叶变换的QPSK基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示
m基于FFT傅里叶变换的QPSK基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示
397 0
|
11月前
|
机器学习/深度学习 传感器 数据采集
【DOA估计】基于esprit算法实现线性调频信号DOA估计附matlab代码
【DOA估计】基于esprit算法实现线性调频信号DOA估计附matlab代码
|
11月前
|
算法
基于瑞丽多径信道的无线通信信道均衡算法matlab仿真,对比MMSE,ZF-DFE,MMSE-DFE
基于瑞丽多径信道的无线通信信道均衡算法matlab仿真,对比MMSE,ZF-DFE,MMSE-DFE
188 6
|
算法 5G
MIMO系统Vblast检测算法误码率matlab仿真,对比了zf,mmse,mmse-sic,zf-sic,osic
MIMO系统Vblast检测算法误码率matlab仿真,对比了zf,mmse,mmse-sic,zf-sic,osic
160 0
|
算法
m基于BP译码算法的QC-LDPC误码率matlab仿真,对比不同译码迭代次数的误码率性能
m基于BP译码算法的QC-LDPC误码率matlab仿真,对比不同译码迭代次数的误码率性能
440 0
|
算法
基于matlab的16QAM的误码率性能仿真,输出误码率曲线和不同信噪比下的星座图
基于matlab的16QAM的误码率性能仿真,输出误码率曲线和不同信噪比下的星座图
533 0
基于matlab的16QAM的误码率性能仿真,输出误码率曲线和不同信噪比下的星座图
|
算法
m瑞利信道下对比ZF-SIC,MMSE-SIC,MRC三种均衡算法的误码率matlab仿真
m瑞利信道下对比ZF-SIC,MMSE-SIC,MRC三种均衡算法的误码率matlab仿真
221 0
m瑞利信道下对比ZF-SIC,MMSE-SIC,MRC三种均衡算法的误码率matlab仿真