📄 h_to_alist.m
字号:
function H_to_Alist(H,m,output_file)
%QC_LDPC(m,a,b) as defined in Fujita paper
%order(a) = j and order(b) = k
Identity = eye(m);
sigma = circshift(Identity,[0 -1]);
r = size(H);
for i=1:r(1,1)
for j =1:r(1,2)
if j==1
Array = sigma^H(i,j);
else
Array = [Array sigma^H(i,j)];
end
end
if i == 1
H1 = Array;
else
H1 = [H1;Array];
end
end
rank1 = rank(H1)
v = size(H1);
k = v(1,2)-rank1
rate = (v(1,2)- rank1)/v(1,2)
%Put Array in A-list format
[n_vector,m_vector,n_length,m_length] = MatrixToAlist(H1);
[m,m_max] = size(m_vector);
[n,n_max] = size(n_vector);
%for i=1:rows
% m_size(1,i) = m_max;
%end
%for j=1:columns
% n_size(1,j) = n_max;
%end
fpointer = fopen(output_file,'w');
fprintf(fpointer,'%d %d \n',n,m);
fprintf(fpointer,'%d %d \n',n_max,m_max);
for i=1:n
fprintf(fpointer,'%d ',n_length(1,i));
end
fprintf(fpointer,'\n');
for i=1:m
fprintf(fpointer,'%d ',m_length(1,i));
end
fprintf(fpointer,'\n');
%print n_vector
for i = 1:n
for j = 1:n_length(1,i)
fprintf(fpointer,'%d ',n_vector(i,j));
end
fprintf(fpointer,'\n');
end
%print m_vector
for i = 1:m
for j = 1:m_length(1,i)
fprintf(fpointer,'%d ',m_vector(i,j));
end
fprintf(fpointer,'\n');
end
fprintf(fpointer,'\n');
fclose(fpointer);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -