资源简介
LDPC码的PEG算法Matlab code
代码片段和文件信息
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(mn);
%给定变量节点度分布序列 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(dv01);
a2=round(n*(0.38354/2/indv));
a3=round(n*(0.04273/3/indv));
ds(1:a2)=2;
ds(a2+1:a3+a2)=3;
ds(a2+a3+1:n)=4;
%这里不考虑校验节点的度分布序列,构造新Tanner图时,均为0
dc=zeros(1m);
%下面展开PEG算法,将每一个变量节点展成l层子图,构造Tanner图
for j=1:n %对于每一个变量节点循环
for k=1:ds(j) %对于度分布循环,控制边的数目
if k==1
%若为第一条边,直接寻找最小度分布的校验节点
k1=find(dc==min(dc));
h(k1(1)j)=1;
dc(k1(1))=dc(k1(1))+1;
else %若不是第一条边,则展成l层子图,寻找在l层最小度分布的校验节点
flag=1;
l=1;
%这里对每一个校验节点是否存在于第l层做标记最大展开层数待定
dcf=zeros(1000m);
row=find(h(:j)); %列搜索,搜索为1的行标
dcf(lrow)=1; %展开第一层
while(flag)
l=l+1;
h_row=h(row:);
if length(row)==1
col=find(h_row);
else
- 上一篇:基于matlab的图像增强—空域变换增强一
- 下一篇:MATLAB实现马赫带
相关资源
- MP3原理和实现
- 基于matlab的MPEGVideo压缩算法程序
- 数字图像处理|Matlab-数字图像编码实
- JPEG编码标准及算法实现
- 9-JPEG2000编码方式的MATLAB实现+原理讲解
- JPEG解析包matlab
- MATLAB读取JPEG图片的DCT系数
- JPEG compression 压缩代码
- 基于MATLAB的JPEG的编码和解码
- pegasos算法matlab代码
- 基于MATLAB的pegasis路由算法研究
- 基于DCT的JPEG图像压缩
- 基于DCT_变换的JPEG图像压缩及其MATLA
- JPEG 压缩和解压 matlab 代码
- 音频处理maltab代码
- matlab开发-灰度图像的jpeg压缩
- JPEG基本系统的matlab实现
- JPEG图像压缩编码及其MATLAB仿真实现
- 实现jpeg压缩 的matlab程序
- matlab实现灰度图的jpeg编码过程
- JPEG2000代码_matlab
- JPEG压缩算法 MATLAB
- 基于matlab的jpeg编解码程序
- 64位的matlab的jpegtbx_1.4 jpeg tool box
- DCT变换压缩
- jpegtbx1.4
- JPEG图像压缩编码及其MATLAB仿真实现(
- jpeg压缩的matlab程序
- 任意大小矩阵的zigzag排序Matlab程序
- matlab实现JPEG
评论
共有 条评论