m基于MIMO中继通信和非规则LDPC编译码的matlab仿真,其中波束形成为SVD,MMSE,中继包括AF,DF,CF

简介: m基于MIMO中继通信和非规则LDPC编译码的matlab仿真,其中波束形成为SVD,MMSE,中继包括AF,DF,CF

1.算法概述

   即在非规则LDPC下,且源节点1个,中继一个,目标节点一个,天线也是1的情况对比三种中继协作协议的误码率。   

   做非规则LDPC码的以编码协作形式中继协议,比较以下三种情况下误码率图和中断概率图:

源节点一个(配置一根天线),中继节点4个(每个节点配置一根天线),目的节点一个(节点配置一根天线)(1:4:1)

源节点2个,中继节点4个,目的节点1个(2:4:1)

源节点1个,中继节点4个,目的节点2个(1:4:2)

·141·241·142

1.png

2.仿真效果预览
matlab2022a仿真

2.png
3.png
4.png

·接收天线数量一定,噪比不变时性能随着发射天线数的增多而增大,但是提高的能力愈来愈慢。

5.png
6.png

中继节点的波束成形算法分别使用SVD,MMSE和SVD-MMSE混合算法,将这三种算法应用到该系统中,比较它们的误码率。

7.png

3.MATLAB部分代码预览

N        = 2*data_Numbers;%设置奇偶校验矩阵大小     
M        = N*R;
max_iter = 100;                 %最大迭代次数
 
load H;%H=getH(M,N)
load G;%G=getG(M,N);
 
figure;
imshow(H,[]);title('奇偶校验均值H直观图');
 
 
for i=1:length(EbN0)
 
     N0            = 2*10^(-EbN0(i)/10);
     Bit_err(i)    = 0;
     Num_err       = 0;
     Numbers       = 0; %误码率累加器 
 
     Dsd=5;          %db数
     Dsr=4;
     Drd=1;
     Qsd=sqrt(10^(Dsd/10));
     Qsr=sqrt(10^(Dsr/10));
     Qrd=sqrt(10^(Drd/10)); 
 
     while Num_err <= Times
           Num_err
           fprintf('Eb/N0 = %f\n', EbN0(i));
           %产生需要发送的随机数
           Trans_data  = round(rand(1,N-M));
           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
           %LDPC编码
           u  = mod(Trans_data*G,2); %LDPC编码
           %LDPC编码
           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
           %BPSK
           Trans_BPSK  = 2*u-1;
           %---------------------协作MIMO----------------------------------
           %作为发送信源
           MIMO_Tx(1,:) = sqrt(Pt)*Trans_BPSK;
           %将源信号发送其他几个协作天线上,
 
           %MIMO信道,期间考虑到路径损耗问题。
           H_Ray = randn(Ra_num,Ta_num); 
           for r = 1:Ra_num
              for s = 1:Ta_num
                  H_Ray(s,r) = k2(1)*H_Ray(s,r);
              end
           end       
           x     = [];
           HH    = H_Ray; 
           r     = N0; 
           w     = inv(HH'*HH+(1/EbN0(i))*eye(Ta_num))*HH'; 
           y     = w*r; 
           xtemp = (y>=0)-(y<0)+0; 
           x     = [x,xtemp];   
           a     = (x+1)/2;            
           
           %进行AF中继
           %信道增益
           Hsd=Qsd*(randn);
           Hsr=Qsr*(randn);
           Hrd=Qrd*(randn);
           %协作节点的放大增益
           B=sqrt(1/(abs(Qsr)^2*1));
           %===============================
           %最大合并比加权因子计算(第i个支路的可变增益加权系数为该分集之路的信号幅度与噪声功率之比)
           %计算增益
           A0=conj(Hsd)/(1/EbN0(i));
           A1=B*conj(Hsr)*conj(Hrd)/((B^2*(abs(Hsr))^2+1)*(1/EbN0(i)));           
           %接收
           MIMO_Rx =  MIMO_Tx/max(max(MIMO_Tx))+ sqrt(N0/2)*randn(size(MIMO_Tx));
           Ysr      = Hsr*MIMO_Rx;
           Yrd      = Hrd*Ysr*B;
           Ysd      = Hsd*MIMO_Rx;
           Y        = A0*Ysd+A1*Yrd;   
           Y        = k3(1)*Y;       
           Ysum(1,:,:) = Y;
           Y2(:,:) = Ysum(1,:,:);
           
           %接收到的二进制信号
           MIMO_Rxs = a*Y2;
           MIMO_Rx2 = k3(1:Ta_num)*MIMO_Rxs(:,:);    
           Rec_data = sign(MIMO_Rx2); 
           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
           %LDPC译码
           z_hat = func_Dec(Rec_data,N0,H,max_iter);
           x_hat = z_hat(size(G,2)+1-size(G,1):size(G,2));                     
           %LDPC译码
           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%           
           if sum(Rec_data) == 0
              nberr = 0;
              disp('not count');
           else
              [nberr,rat]  = biterr(Trans_data,x_hat')
           end         
           Num_err     = Num_err+nberr;
           Numbers     = Numbers+1;    
    end 
      Bit_err(i)=Num_err/(N*Numbers);
end
01_038_m
相关文章
|
3月前
|
数据可视化
基于MATLAB的OFDM调制发射与接收仿真
基于MATLAB的OFDM调制发射与接收仿真
|
2月前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
215 0
|
3月前
|
算法 机器人
基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真
本课题研究基于海鸥优化算法(SOA)优化PID控制器参数的方法,通过MATLAB仿真对比传统PID控制效果。利用SOA算法优化PID的kp、ki、kd参数,以积分绝对误差(IAE)为适应度函数,提升系统响应速度与稳定性。仿真结果表明,SOA优化的PID控制器在阶跃响应和误差控制方面均优于传统方法,具有更快的收敛速度和更强的全局寻优能力,适用于复杂系统的参数整定。
|
2月前
|
算法
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
2月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
3月前
|
传感器 算法 数据挖掘
基于协方差交叉(CI)的多传感器融合算法matlab仿真,对比单传感器和SCC融合
基于协方差交叉(CI)的多传感器融合算法,通过MATLAB仿真对比单传感器、SCC与CI融合在位置/速度估计误差(RMSE)及等概率椭圆上的性能。采用MATLAB2022A实现,结果表明CI融合在未知相关性下仍具鲁棒性,有效降低估计误差。
242 15
|
3月前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
524 5
|
3月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的XGBoost序列预测算法matlab仿真
基于WOA优化XGBoost的序列预测算法,利用鲸鱼优化算法自动寻优超参数,提升预测精度。结合MATLAB实现,适用于金融、气象等领域,具有较强非线性拟合能力,实验结果表明该方法显著优于传统模型。(238字)
|
3月前
|
传感器 算法 数据可视化
MATLAB来计算和仿真无人机飞行过程
使用MATLAB来计算和仿真无人机飞行过程中的运动参数是一个极其常见且强大的方法。这通常被称为无人机建模与仿真,是无人机飞控算法开发中不可或缺的一环。
159 1

热门文章

最新文章