资源简介

LDPC BP译码算法,在MATLAB中直接使用就行

资源截图

代码片段和文件信息

function [x_hatsuccessk]=ldpc_decode(f0f1H)
[mn]=size(H);
if m>nH=H‘;
    [mn]=size(H);
end
if ~issparse(H)                 %make H sparse if it is not sparse yet
    [iijjsH]=find(H);
    H=sparse(iijjsHmn);
end

%initialization
[iijj]=find(H);                %subscript index to nonzero elements of H
indx=sub2ind(size(H)iijj);    %linear index to nonzero elements of H
q0=H*spdiags(f0(:)0nn);
sq0=full(q0(indx));
sff0=sq0;

q1=H*spdiags(f1(:)0nn);
sq1=full(q1(indx));
sff1=sq1;

%iterations
k=0;
success=0;
max_iter=100;
while((success==0)&(k    k=k+1;
    %horizontal step
    sdq=sq0-sq1;sdq(find(sdq==0))=1e-20;       %if f0=f1=.5
    dq=sparse(iijjsdqmn);
    Pdq_v=full(real(exp(sum(spfun(‘log‘dq)2))));
    Pdq=spdiags(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1652  2020-10-25 18:35  ldpc_decode.m

评论

共有 条评论