LDPC的信道编译码的matlab仿真——LDPC译码最小和和归一化最小和

1.问题描述:

 LDPC的信道编译码的matlab仿真——LDPC译码最小和和归一化最小和

2.部分程序:

 


clc; clear all;
load H;
D=H(1:675,5401:6075);

%-------下面是通过H求G的过程,假设D的第1,2列子矩阵的第一列为相关的-----------
G=zeros(5402,6075);
Gs_g=zeros(5400,675);
Q_q=zeros(2,675);
Dlose=D; Dlose(:,226)=[]; Dlose(:,1)=[];

%--------求系统部分 Gs  利用Mi*uT+D*ziT=0 共求24个zi,得到Gs里面的非单位阵部分Gs_g-----

Zi=zeros(24,675);
Gs_gtemp=zeros(225,675);
for tNum=1:24
    tNum
    MiuT=H(:,(tNum-1)*225+1);
    Zi1=solveAX(Dlose,MiuT);              %求解 AX=B的解向量
    Zi(tNum,[2:225 227:675])=Zi1(1:673);
    Gs_gtemp=cycleG(Zi(tNum,:));                  %由循环子向量的第一行得到对应的子循环矩阵
    Gs_g((tNum-1)*225+1:tNum*225,:)=Gs_gtemp;
end


%%---------下面是求解G矩阵中的Qs部分 利用D*g=0---------

Q1_q=solveAX(Dlose,D(:,1));
Q2_q=solveAX(Dlose,D(:,226));

Q_q(1,[2:225 227:675])=Q1_q(1:673);
Q_q(1,1)=1;
Q_q(2,[2:225 227:675])=Q2_q(1:673);
Q_q(2,226)=1;

G(1:5400,1:5400)=eye(5400);
G(1:5400,5401:6075)=Gs_g;
G(5401:5402,5401:6075)=Q_q;

textHG=mod(H*G',2);

3.仿真结论:

扫描二维码关注公众号,回复: 12816692 查看本文章

C-58

猜你喜欢

转载自blog.csdn.net/ccsss22/article/details/115019717