資源簡(jiǎn)介
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(
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????1652??2020-10-25?18:35??ldpc_decode.m
評(píng)論
共有 條評(píng)論