⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h_to_alist.m

📁 Generates Alist format files for SFT LDPC codes
💻 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 + -