Description: LDPC-PEG算法构造H矩阵源码程序,matlab源码程序 clear all;
clc;
%输入编码参数,m:校验节点数目,n:变量节点数目(注意码率R不一定为1/2)
%构造任意码率的LDPC校验矩阵
m=input('The number of check nodes:');
n=input('The number of variable nodes:');
h=zeros(m,n);
%给定变量节点度分布序列 dv=0.38354*x+0.04237*x^2+0.57409*x^3
%为了得到更好的性能,此处的度分布序列采用密度进化理论选取
dv=inline('0.38354*x+0.04237*x.^2+0.57409*x.^3','x');
%计算每个度分布的节点数
indv=quadl(dv,0,1);
a2=round(n*(0.38354/2/indv));
a3=round(n*(0.04273/3/indv));
ds(1:a2)=2;
ds(a2+1:a3+a2)=3;(LDPC-PEG algorithm constructs H matrix source code program, matlab source code program clear all;
CLC;
% Input coding parameters, m: number of check nodes, n: number of variable nodes (note that bit rate R is not necessarily 1/2)
% Constructing LDPC Check Matrix with Arbitrary Bit Rate
M = input ('The number of check nodes:');
N = input ('The number of variable nodes:');
H = zeros (m, n);
% Given variable nodal degree distribution sequence DV = 0.38354*x+0.04237*x^2+0.57409*x^3
% In order to get better performance, the density evolution theory is used to select the degree distribution sequence.
DV = inline ('0.38354 * x + 0.04237 * X. ^ 2 + 0.57409 * X. ^ 3','x');
% Calculate the number of nodes per degree distribution
INDV = quadl (dv, 0, 1);
A2 = round (n* (0.38354/2/indv));
A3 = round (n* (0.04273/3/indv);
DS (1:a2) =2;
DS (a2 + 1: A3 + a2) = 3;) Platform: |
Size: 1024 |
Author:MATLAB编程 |
Hits: