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

1.算法概述

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

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


·141·241·142

2.仿真效果预览
matlab2022a仿真

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

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

|
10天前
|

**算法演示展示了一段VLC通信，使用MATLAB2022a。核心代码片段涉及LED光强度调制。VLC系统由发射器、空气介质和接收器组成，利用OOK等调制技术。图像展示了系统模型。信噪比分析对于理解和提升室内通信的性能至关重要，影响数据速率和系统可靠性。** (Markdown格式) `
25 1
|
17天前
|

m基于深度学习的OFDM+QPSK链路信道估计和均衡算法误码率matlab仿真,对比LS,MMSE及LMMSE传统算法
**摘要：** 升级版MATLAB仿真对比了深度学习与LS、MMSE、LMMSE的OFDM信道估计算法，新增自动样本生成、复杂度分析及抗频偏性能评估。深度学习在无线通信中，尤其在OFDM的信道估计问题上展现潜力，解决了传统方法的局限。程序涉及信道估计器设计，深度学习模型通过学习导频信息估计信道响应，适应频域变化。核心代码展示了信号处理流程，包括编码、调制、信道模拟、降噪、信道估计和解调。
42 8
|
2月前
|

m基于BP译码算法的LDPC编译码matlab误码率仿真,对比不同的码长
MATLAB 2022a仿真实现了LDPC码的性能分析，展示了不同码长对纠错能力的影响。短码长LDPC码收敛快但纠错能力有限，长码长则提供更强纠错能力但易陷入局部最优。核心代码通过循环进行误码率仿真，根据EsN0计算误比特率，并保存不同码长（12-768）的结果数据。
56 9
|
1月前
|

m基于PSO粒子群优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB2022a仿真实现了基于遗传优化的NMS LDPC译码算法，优化归一化参数以提升纠错性能。NMS算法通过迭代处理低密度校验码，而PSO算法用于寻找最佳归一化因子。程序包含粒子群优化的迭代过程，根据误码率评估性能并更新解码参数。最终，展示了迭代次数与优化过程的关系，并绘制了SNR与误码率曲线。
25 2
|
1月前
|

m基于PSO粒子群优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
MATLAB2022a仿真实现了Offset Min-Sum (OMS)译码算法与粒子群优化（PSO）结合，以优化偏移参数，提升LDPC码解码性能。PSO通过迭代寻找最小化误码率（BER）的最佳偏移量。核心程序运用PSO进行参数更新和适应度函数（BER）评估，最终在不同信噪比下展示OMS解码性能，并保存结果。
27 0
|
2月前
|

m基于遗传优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
MATLAB2022a仿真实现了遗传优化的LDPC码OSD译码算法，通过自动搜索最佳偏移参数ΔΔ以提升纠错性能。该算法结合了低密度奇偶校验码和有序统计译码理论，利用遗传算法进行全局优化，避免手动调整，提高译码效率。核心程序包括编码、调制、AWGN信道模拟及软输入软输出译码等步骤，通过仿真曲线展示了不同SNR下的误码率性能。
36 1
|
2月前
|

97 1
|
2月前

93 1
|
2月前
|

37 1
|
2月前
|
Serverless

32 1