• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: LDPC  MS  MATLAB  

资源简介

本代码为用MS最小和译码方法实现LDPC的译码,需要注意的是本代码只适用与规则LDPC,当然,当需要用于不规则LDPC时,只需对本代码稍做修改即可。

资源截图

代码片段和文件信息

function [decoded] = decodeMS_regular(rxHsigma)
[mn]=size(H);
% sigma是高斯噪声方差
% 列重cw行重rw
rw=length(find(H(1:)));
cw=length(find(H(:1)));
Lp=zeros(1n);

%初始化,信道传给变量节点的初始概率信息Lp
for a=1:n
     Lp(1a)=rx(1a)*2/(sigma^2);
end

Lq=zeros(mn);
Lr=zeros(mn);
% ncol=zeros(cwn);
for i=1:n
    ncol(1:cwi)=find(H(:i));
end

for j=1:m
    nrow(j1:rw)=find(H(j:));
end

% 变量节点初始概率信息Lq=Lp
for i=1:n
    for jo=1:cw
           Lq(ncol(joi)i)= Lp(1i);
    end
end

% lp迭代次数
for lp=1:20
    disp([‘正在执行第‘num2str(3)‘次迭代译码......‘]);
    
    % 校验节点更新
    for i=1:m
        for jo=1:rw
            temp=Lq(inrow(ijo));
            Lq(inrow(ijo))=1;
            Lr(inrow(ijo))=sign(Lq(inrow(i:)))*sign(Lq(inrow(ijo)))...
                *min(Lq(inro

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1743  2020-03-24 13:06  LDPC最小和MS译码MATLAB代码.m

评论

共有 条评论