⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layereddecoding.m

📁 LDPC Decoder for rate=1/2 Min-Sum, Sum-Product, Scaling Min-Sum Layered Decoding for Matlab Code
💻 M
字号:
function vHat = LayeredDecoding(rx, H, iteration)
[M N] = size(H);
Qv = -rx;
Rcv = zeros(M,N);
tempcv = zeros(1,N);
factor = 0.75;
for n = 1:iteration
   %fprintf('Iteration: %d\n',n);
   for i = 1:M
      col = find(H(i,:));
      for k = 1:length(col)
         tempcv(1,col(k)) = Qv(col(k)) - Rcv(i,col(k));
      end
      alpha = sign(tempcv);  
      beta  = abs(tempcv);
      signS = 1;min1 = 100000;min2 = 100000;index = 10000;
      for k = 1:length(col)
          signS = alpha(col(k)) * signS;
          if beta(col(k)) < min1
              min2 = min1;
              min1 = beta(col(k));
              index = col(k);end  
          if ((beta(col(k)) > min1) & (beta(col(k)) < min2)) min2 = beta(col(k));end    
      end
      for k = 1:length(col)
         if col(k) == index Rcv(i,col(k)) = factor*signS*alpha(col(k))*min2;
         else Rcv(i,col(k)) = factor*signS*alpha(col(k))*min1;end    
         Qv(col(k)) = tempcv(1,col(k)) + Rcv(i,col(k));
      end 
      for k = 1:N
         if Qv(k) < 0
            vHat(k) = 1;
         else
            vHat(k) = 0;end 
      end
   end   
end
fprintf('LayeredDecoding is done...\n');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -