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 + -
显示快捷键?