• 大小: 6KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: Matlab
  • 标签: 删除  LDPC  编译  MATLAB  

资源简介

主要是基于删除信道下的LDPC码的编译码的实现 在MATLAB环境中运行实现

资源截图

代码片段和文件信息

% function [degreesrholambdastats]=CompLeftExp(Ra);
%
% Computes degree distributions from the exponential
% family
%
%  f(x;a) =(exp(a*x)-1)/(exp(a)-1)
%
% (“Tornado sequences“). Uses explicit formulas for the Taylor
% coefficients of f and g.
%
% Input: Rate 00

% Output:
%  degrees=[a_r a_l N M] average and maximal degrees 
%          of right and left degree distributions
%  rho     1xN array of right degrees
%  lambda  1xM array of left degrees
%  stats   [deltaepsilonmuDeltaLambda2]  
%          distances to capacity 1-R comparison to
%          lower bounds and fraction of degree 2 variable
%          nodes  Lambda2=lambda2*a_l/2
%
% Author: P. Oswald
% Last changed: 10/4/2002

function [degreesrholambdastats]=CompLeftExp(Ra);
%
% Safety bounds for degrees
Nmax=20000;Mmax=20000;
% Computation of a_r N and rho
% by taking a long enough piece of the Taylor series of f
b=exp(a)-1;Ir0=(b-a)/(a*b); % Ir0 = int_[01] f(x) dx
rho=[];c=a/b;Ir=0;n=2;
while Ir0-Ir>0.0000000001&n<=Nmax
  rho=[rho c];c=c/n;Ir=Ir+c;c=c*a;n=n+1; 
 end
c1=sum(rho);rho=rho/c1;N=n-1;ar=c1/Ir;
%
% Computation of a_l M lambda and delta 
% by implementing Step (2) and (3) of Algorithm 1.
% This is based on hand-derived recursions for the Taylor coefficients
% g_k of g which lead to recursions for s_k and sigma_k and finally
% to finding t such that hat(I)(t)=1/a_l where a_l=a_r*(1-R)
% is the average degree of the left (variable) nodes.
al=ar*(1-R);b=b/exp(a);
c=b/a;sk=c;c1=c/2;sigmak=c1;lambda=[];
if al<2
  disp(‘Average degree of left nodes too small (decrease R or increase a)‘);
  M=0;lambda=[];stats=[];
 else
  if al==2
    lambda=1;M=2;delta=c;
   else
    m=2;q=sigmak/sk;
    while q*al>1&m      lambda=[lambda c];c=c1*b*(m-1);sk=sk+c;
      m=m+1;c1=c/m;sigmak=sigmak+c1;q0=q;q=sigmak/sk;
     end
    if q*al>1&m==Mmax
      disp(‘M too big (reduce a or increase R or change Mmax)‘);
      M=m;lambda=[];stats=[];
     else
      M=m;t1=(al*sigmak-sk)/(al*c1-c);
      delta=(sk-t1*c);lambda=[lambda (1-t1)*c]/delta;
     end
   end
  %
  % Computation of output
  epsilon=1-delta/(1-R);
  b=ar*log(R);mu=b/log(epsilon);Delta=epsilon/exp(b);
  Lambda2=lambda(1)*al/2;stats=[delta epsilon mu Delta Lambda2];
 end
degrees=[ar al N M];
% End CompLeftExp.m

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-05-16 13:32  chandhuLDPC\
     文件        2383  2009-01-05 21:02  chandhuLDPC\CompLeftExp.m
     文件        2154  2011-05-12 18:32  chandhuLDPC\CompLeftPoly.m
     文件        2273  2009-01-05 21:03  chandhuLDPC\CompLeftPoly2c.m
     文件        2782  2009-01-05 21:05  chandhuLDPC\CompLeftSelf.m
     文件        1570  2009-01-05 21:08  chandhuLDPC\main.m

评论

共有 条评论