coding.m
来自「关于低密度奇偶校验码的生成」· M 代码 · 共 47 行
M
47 行
clear all;
clc;
%%%%%%%%%%%%define dimension of the parity check matrix%%%%%%%%
rows=100;
cols=200;
h=gen_ldpc(rows,cols);%generates a 100 x 200 H matrix( the IG parity
%check matrix)
[newh,rearranged_cols]=rearrange_cols(h);
% newh holds the rearranged version of H and rearranged_cols holds
%the rearrangement order of columns
%%%%%%%%%%%%Get A and B matrices %%%%%%%%%%%%%%%%
for i=1:rows
for j=1:rows
A(i,j)=newh(i,j);
end
end
for i=1:rows
for j=rows+1:cols
B(i,j-rows)=newh(i,j);
end
end
%%%%%%%%%%%%%%message bits%%%%%%%%%%%%%%%%%%%%%
%generate message bits randomly
for i=1:cols-rows
s(i)=round(rand);
end
s=s';% make it a row vector
%%%%%%% or load s from file %%%%type "help load" at matlab prompt for details
%%%%%%%%%%%%%%get check bits( Eqn.5)%%%%%%%%%%%%%%%%
d=mul_GF2(inv_GF2(A),B);
c=mul_GF2(d,s);
%%%%%%%%%%%%%%%%%form u'%%%%%%%%%%%%%
u1=c;
for i=rows+1:cols
u1(i)=s(i-rows);
end
%%%%%%%%%%%%%%% reorder u?to get the CW u %%%%%%%%%%%%%%%%%%%
u=reorder_bits(u1,rearranged_cols);
u
%%%%%%%%%%%%%%% u is the codeword to be transmitted %%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?