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
相关文章
|
12天前
|
算法 数据安全/隐私保护
基于GA遗传算法的悬索桥静载试验车辆最优布载matlab仿真
本程序基于遗传算法(GA)实现悬索桥静载试验车辆最优布载的MATLAB仿真(2022A版)。目标是自动化确定车辆位置,使加载效率ηq满足0.95≤ηq≤1.05且尽量接近1,同时减少车辆数量与布载时间。核心原理通过优化模型平衡最小车辆使用与ηq接近1的目标,并考虑桥梁载荷、车辆间距等约束条件。测试结果展示布载方案的有效性,适用于悬索桥承载能力评估及性能检测场景。
|
12天前
|
算法 机器人 数据安全/隐私保护
基于双向RRT算法的三维空间最优路线规划matlab仿真
本程序基于双向RRT算法实现三维空间最优路径规划,适用于机器人在复杂环境中的路径寻找问题。通过MATLAB 2022A测试运行,结果展示完整且无水印。算法从起点和终点同时构建两棵随机树,利用随机采样、最近节点查找、扩展等步骤,使两棵树相遇以形成路径,显著提高搜索效率。相比单向RRT,双向RRT在高维或障碍物密集场景中表现更优,为机器人技术提供了有效解决方案。
|
12天前
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。
|
1月前
|
算法 安全 数据安全/隐私保护
基于AES的遥感图像加密算法matlab仿真
本程序基于MATLAB 2022a实现,采用AES算法对遥感图像进行加密与解密。主要步骤包括:将彩色图像灰度化并重置大小为256×256像素,通过AES的字节替换、行移位、列混合及轮密钥加等操作完成加密,随后进行解密并验证图像质量(如PSNR值)。实验结果展示了原图、加密图和解密图,分析了图像直方图、相关性及熵的变化,确保加密安全性与解密后图像质量。该方法适用于保护遥感图像中的敏感信息,在军事、环境监测等领域具有重要应用价值。
|
9月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
356 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
9月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
218 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
9月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
308 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)