Matlab simulation of LDPC channel coding and decoding-LDPC decoding minimum sum and normalized minimum sum

1. Problem description:

 Matlab simulation of LDPC channel coding and decoding-LDPC decoding minimum sum and normalized minimum sum

2. Part of the program:

 


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

%-------The following is the process of finding G through H, assuming that the first column of the first and second columns of D is related-----------
G=zeros(5402, 6075);
Gs_g=zeros(5400,675);
Q_q=zeros(2,675);
Dlose=D; Dlose(:,226)=[]; Dlose(:,1)=[];

%--------Find the system part Gs Use Mi*uT+D*ziT=0 to find a total of 24 zi, get the non-unit matrix part Gs_g in Gs-----

Zi=zeros(24,675);
Gs_gtemp=zeros(225,675);
for tNum=1:24
    tNum
    MiuT=H(:,(tNum-1)*225+1);
    Zi1=solveAX(Dlose,MiuT); %solve AX =B's solution vector
    Zi(tNum,[2:225 227:675])=Zi1(1:673);
    Gs_gtemp=cycleG(Zi(tNum,:));% Get the corresponding from the first line of the cycle subvector Sub-circulant matrix
    Gs_g((tNum-1)*225+1:tNum*225,:)=Gs_gtemp;
end


%%---------The following is to solve the Qs part of the G matrix using 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. Simulation conclusion:

C-58

Guess you like

Origin blog.csdn.net/ccsss22/article/details/115019717