LPDC编码检验矩阵的随机生成——matlab代码

%************设置参数***************

rows=8;

cols=24;

u=[1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1];

%**********创建一个1*12的全为零的数组row_flag*******

%**********创建一个24*12的全为零的矩阵parity_check**

row_flag(1:rows)=0;

parity_check=zeros(rows,cols);

%*******填充矩阵**按LDPC码校验矩阵满足条件的要求:(n,j,k)LDPC码

%通过循环,为每一列随机分配 3 个 1,确保每个 1 位于不同的行中

%j=3

bits_per_col=2;

for i=1:cols

a=randperm(rows);

for j=1:bits_per_col

parity_check(a(j),i)=1;

row_flag(a(j))=row_flag(a(j))+1;

end

end

%计算每行1的最多个数??????????????i=1:rows;

i=1:rows;

max_ones_per_row=ceil(cols*bits_per_col/rows);

% i=1:rows;

% max_ones_per_row=max(row_flag(i));

%%******************************************************************%%

%找出全是零元素的行和只有一个非零

你可能感兴趣的:(编码,LDPC,矩阵运算,matlab,算法,矩阵)