lt_decode.m

来自「自己设计的LT数字喷泉码(信道编码)的解码和测试程序。」· M 代码 · 共 34 行

M
34
字号
function [B,ret] = LT_decode(k,n,ml,X,g,c_deg,v_deg,c_node,v_node)
B=zeros(k,ml);
flag=1;
ret=-1;
while flag==1
    exec=0;
    for i=1:n
        if v_deg(i) == 1
            exec=1;
            c = v_node(i,1); 
            B(c,:)=mod(B(c,:)+X(i,:),2);
            g(c,i)=0;
            [c_deg,v_deg,c_node,v_node] = upd_nodes(c,i,c_deg,v_deg,c_node,v_node);
            v = c_node(c,1);
            while v ~= 0 
                X(v,:)=mod(X(v,:)+B(c,:),2);
                g(c,v)=0;
                [c_deg,v_deg,c_node,v_node] = upd_nodes(c,v,c_deg,v_deg,c_node,v_node);
                v = c_node(c,1);
            end;
            ret = sum(sum(g(:,:)));
            if ret == 0  
                flag=0;
                exec=0;
                break;
            end;           
        end;
    end;%end of for()
    if exec==0
        break;
    end;
end;%end of while()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?