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
相关文章
|
13天前
|
算法 5G 数据安全/隐私保护
大规模MIMO通信系统信道估计matlab性能仿真,对比LS,OMP,MOMP以及CoSaMP
本文介绍了大规模MIMO系统中的信道估计方法,包括最小二乘法(LS)、正交匹配追踪(OMP)、多正交匹配追踪(MOMP)和压缩感知算法CoSaMP。展示了MATLAB 2022a仿真的结果,验证了不同算法在信道估计中的表现。最小二乘法适用于非稀疏信道,而OMP、MOMP和CoSaMP更适合稀疏信道。MATLAB核心程序实现了这些算法并进行了性能对比。以下是部分
163 84
|
7天前
|
算法 5G 数据安全/隐私保护
3D-MIMO信道模型的MATLAB模拟与仿真
该研究利用MATLAB 2022a进行了3D-MIMO技术的仿真,结果显示了不同场景下的LOS概率曲线。3D-MIMO作为5G关键技术之一,通过三维天线阵列增强了系统容量和覆盖范围。其信道模型涵盖UMa、UMi、RMa等场景,并分析了LOS/NLOS传播条件下的路径损耗、多径效应及空间相关性。仿真代码展示了三种典型场景下的LOS概率分布。
21 1
|
1月前
|
监控 数据可视化 数据库
MATLAB - CAN 通信管理器(CAN Explorer)
MATLAB - CAN 通信管理器(CAN Explorer)
28 1
MATLAB - CAN 通信管理器(CAN Explorer)
|
1月前
|
资源调度 5G
MATLAB - 绘制 SISO 和 MIMO 时间和频率响应图
MATLAB - 绘制 SISO 和 MIMO 时间和频率响应图
38 0
|
2月前
|
算法 5G 数据安全/隐私保护
基于MIMO系统的预编码matlab性能仿真
**摘要** 本文展示了在MATLAB2022a中运行的无水印预编码算法效果。核心程序采用详细中文注释,涉及MIMO系统中关键的MMSE和量化预编码技术。MMSE准则追求信号估计的准确性,通过利用信道状态信息优化发射,减少干扰,适合高容量需求;而量化准则结合格雷码量化,将连续信号映射至离散集合,简化硬件实现,适用于功耗敏感场景,但会引入量化误差。两者权衡了性能与实现复杂度。
|
3月前
|
机器学习/深度学习 自然语言处理 算法
m基于深度学习的OFDM+QPSK链路信道估计和均衡算法误码率matlab仿真,对比LS,MMSE及LMMSE传统算法
**摘要:** 升级版MATLAB仿真对比了深度学习与LS、MMSE、LMMSE的OFDM信道估计算法,新增自动样本生成、复杂度分析及抗频偏性能评估。深度学习在无线通信中,尤其在OFDM的信道估计问题上展现潜力,解决了传统方法的局限。程序涉及信道估计器设计,深度学习模型通过学习导频信息估计信道响应,适应频域变化。核心代码展示了信号处理流程,包括编码、调制、信道模拟、降噪、信道估计和解调。
71 8
|
2月前
|
算法
基于VLC可见光通信的室内光通信信道信噪比分析matlab仿真
**算法演示展示了一段VLC通信,使用MATLAB2022a。核心代码片段涉及LED光强度调制。VLC系统由发射器、空气介质和接收器组成,利用OOK等调制技术。图像展示了系统模型。信噪比分析对于理解和提升室内通信的性能至关重要,影响数据速率和系统可靠性。** (Markdown格式) ```
|
4月前
|
算法
m基于BP译码算法的LDPC编译码matlab误码率仿真,对比不同的码长
MATLAB 2022a仿真实现了LDPC码的性能分析,展示了不同码长对纠错能力的影响。短码长LDPC码收敛快但纠错能力有限,长码长则提供更强纠错能力但易陷入局部最优。核心代码通过循环进行误码率仿真,根据EsN0计算误比特率,并保存不同码长(12-768)的结果数据。
72 9
m基于BP译码算法的LDPC编译码matlab误码率仿真,对比不同的码长
|
2月前
|
传感器 算法
基于无线传感器网络的LC-DANSE波束形成算法matlab仿真
摘要: 此MATLAB程序对比了LC-DANSE与LCMV波束形成算法在无线传感器网络中的性能,基于SNR和MSE指标。测试在MATLAB 2022a环境下进行。核心代码涉及权重更新迭代,用于调整传感器节点权重以增强目标信号。LC-DANSE是分布式自适应算法,关注多约束条件下的噪声抑制;LCMV则是经典集中式算法,侧重单个期望信号方向。两者在不同场景下各有优势。程序结果显示SNR和MSE随迭代变化趋势,并保存结果数据。
|
4月前
Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测
Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测