• 大小: 23KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-15
  • 语言: Matlab
  • 标签: matlab  LDPC  编码  

资源简介

LDPC码近似下三角法编码和SPA算法译码的matlab仿真 AWGN信道

资源截图

代码片段和文件信息

function c = encode(snewHginvPhi)
% codeword c = [sp1p2]
% Steps:
% 1. get submatrices T A B C D E for encoding 
% 2. compute p1 = -[(-E(T^-1)*B + D)^-1]*[(-E(T^-1)*A + C]*sT
% 3. compute p2 = -(T^-1)*(A*sT + B*p1T)
% ChenHz 2013-12-4 

%% STEP I: get submatrices for encoding

[rowscols] = size(newH);
T = newH(1:rows-gcols-(rows-g)+1:end);
A = newH(1:rows-g1:cols-(rows-g)-g);
B = newH(1:rows-g(cols-(rows-g)-g+1):(cols-(rows-g)));
C = newH((rows-g+1):end1:cols-(rows-g)-g);
%D = newH((rows-g+1):end(cols-(rows-g)-g+1):(cols-(rows-g)));
E = newH((rows-g+1):endcols-(rows-g)+1:end);
%% STEP II: compute p1.‘

A_sT = mod(A*s.‘2);% A*sT
Ti_A_sT = mod(T\A_sT2);% inv(T)*A*sT
E_Ti_A_sT = mod(E*Ti_A_sT2);% E*[(T^-1)*A*sT]
C_sT = mod(C*s.‘2);% C*sT
E_Ti_A_sT_C_sT = mod(-E_Ti_A_sT + C_sT2);% -E*[(T^-1)*A*sT]+C*sT
p1T = mod(invPhi*E_Ti_A_sT_C_sT2);%  tanspose of p1
%% STEP III: compute p2.‘

% A_sT is computed in STEP II
B_p1T = mod(B*p1T2);% B*p1T
A_sT_B_p1T = mod(A_sT+B_p1T2);% A*sT + B*p1T
p2T = mod(-T\A_sT_B_p1T2);% transpose of p2
%% codeword 

c = [sp1T.‘p2T.‘];

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1543  2005-04-06 21:04  128x256regular.mat
     文件        4696  2013-12-05 16:16  256×512regular.mat
     文件       12821  2013-11-17 20:25  512×1024regular.mat
     文件        1126  2013-12-05 14:42  encode.m
     文件         469  2013-12-05 14:43  gf2inv.m
     文件         451  2013-12-05 14:43  gf2rref.m
     文件        2035  2013-12-06 09:42  ldpc_endec.m
     文件        5166  2013-12-05 20:29  preprocess.m

评论

共有 条评论