久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2276|回復: 1
打印 上一主題 下一主題
收起左側

LDPC_decoder(LDPC譯碼程序代碼)

[復制鏈接]
跳轉到指定樓層
樓主
ID:307581 發表于 2018-4-13 20:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
function [dec,success] = LDPC_decoder(receiveword,sigma,H,IterNum)
[M,N] = size(H);
K = N-M;
rate = K/N;
H = int8(H);
maxrowdegree = max(sum(H'));
maxcolumndegree = max(sum(H));

VNlen=zeros(1,N);
VNset=zeros(N,maxcolumndegree);

CNlen=zeros(1,M);
CNset=zeros(M,maxrowdegree);
for i=1:N
   temp=find(H(:,i));
   VNlen(i)=length(temp);
   for j=1:Vnlen(i)
   VNset(i,j)=temp(j);
   end
end
for i=1:M
   temp=find(H(i,:));
   CNlen(i)=length(temp);
   for j=1:CNlen(i)
      CNset(i,j)=temp(j);
   end
end
%參數初始化
success=0;
p0=(1+exp(-2*(sigma^(-2)).*receiveword)).^(-1);
p1=(1+exp(2*(sigma^(-2))).*receiveword)).^(-1);
messQ0=zeros(M,N);
messQ1=zeros(M,N);
messR0=zeros(M,N);
messR1=zeros(M,N);
for i=1:N
   for j=1:VNlen(i)
      messQ0(VNset(i,j),i)=p0(i);
          messQ1(VNset(i,j),i)=p1(i);
   end
end
iter=0;
%迭代譯碼
for i=1:IterNum
   iter=iter+1;
   for j=1:M;
      for k=1:CNlen(j)
             delta=1;
                 for t=1:CNlen(j)
                    if(CNset(j,k)~=CNset(j,t))
delta=delta*(1-2*messQ1(j,CNset(j,t)));
            end
                end
                messR0(j,CNset(j,k))=0.5+0.5*delta;
                messR1(j,CNset(j,k))=1-messR0(j,CNset(j,k));
      end
    end
    for j=1:N
          for k=1:VNlen(j)
              alpha1=1;
                  alpha2=1;
                  alpha=1;
                  for t=1:VNlen(j)
                     if(VNset(j,k)~=VNset(j,t))
alpha1=alpha1*messR0(VNset(j,t),j);
alpha2=alpha2*messR1(VNset(j,t),j);
             end
                        end
                        alpha=1/(p0(j)*alpha1+p1(j)*alpha2);
                        messQ0(VNset(j,k),j)=alpha*p0(j)*alpha1;
                        messQ1(VNset(j.k),j)=alpha*p0(j)*alpha2;
                        end
                end
                %加權值統計
                Q0=zeros(1,N);
                Q1=zeros(1,N);
                for j=1:N
                   gama1=1;
                   gama2=1;
                   gama=1;
                   for k=1:VNlen(j)
                      gama1=gama1*messR0(VNset(j,k),j);
                      gama2=gama2*messR1(VNset(j,k),j);
                   end
                   gama=1/(p0(j)*gama1+p1(j)*gama2);
                   Q0(j)=gama*p0(j)*gama1;
                   Q1(j)=gama*p1(j)*gama2;
                end
                %譯碼判決
                for j=1:N
                   if(Q0(j)>=0.5)
                      decodeword(j)=0;
                   else
                      decodeword(j)=1;
                   end
                end
                %檢查校驗方程
            CH=mod(double(H)*decodeword',2);
                if(CH==0)
                   success=1;
                   break;
                end
    end
        %譯碼輸出
        dec = decodeword(1,N-M);
               

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:435800 發表于 2018-11-29 15:34 | 只看該作者
您好,請問您有多進制LDPC的編譯碼程序嗎??
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品一区二区 | 国产精品久久久久不卡 | 国产二区在线播放 | 亚洲精品乱 | 久久久精选| 中文字幕视频一区二区 | 日韩精品一区二区三区在线观看 | 天天影视亚洲综合网 | 国产精品久久久久久久久久久免费看 | 成人不卡 | 日韩中文字幕在线视频 | 国产精品视频在线观看 | 久久精品国产亚洲夜色av网站 | 九九综合| 无码日韩精品一区二区免费 | 国产亚洲黄色片 | 综合九九 | 国产精品中文字幕在线播放 | 国产日韩91| 国产精品亚洲综合 | 成人高清在线 | 亚洲精品电影 | 天天射天天干 | 亚洲高清视频一区二区 | 一二三在线视频 | 亚洲成人在线网 | 51ⅴ精品国产91久久久久久 | 99久久婷婷国产综合精品 | av一二三四 | 欧美视频1区 | 免费成人在线网站 | 国产精品一区二区免费 | 久久精品99久久 | 欧美成人免费电影 | 国产日韩欧美综合 | 亚洲美女网站 | 国产精品一区二区三区在线 | 蜜桃视频在线观看免费视频网站www | 亚洲精品一区二区二区 | 久久国产精品视频观看 | 国产精品免费一区二区三区四区 |