2010本科毕业论文:ldpc码编译码算法研究

上传人:ji****en 文档编号:107729139 上传时间:2019-10-20 格式:DOC 页数:38 大小:632.51KB
返回 下载 相关 举报
2010本科毕业论文:ldpc码编译码算法研究_第1页
第1页 / 共38页
2010本科毕业论文:ldpc码编译码算法研究_第2页
第2页 / 共38页
2010本科毕业论文:ldpc码编译码算法研究_第3页
第3页 / 共38页
2010本科毕业论文:ldpc码编译码算法研究_第4页
第4页 / 共38页
2010本科毕业论文:ldpc码编译码算法研究_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《2010本科毕业论文:ldpc码编译码算法研究》由会员分享,可在线阅读,更多相关《2010本科毕业论文:ldpc码编译码算法研究(38页珍藏版)》请在金锄头文库上搜索。

1、 2010 届届毕业毕业生生 毕业论毕业论文文 题题 目:目: LDPCLDPC 码的编译码算法研究码的编译码算法研究 院系名称:院系名称: 信息工程学院信息工程学院 专业班级:专业班级: 电子信息工程电子信息工程 学生姓名:学生姓名: 学学 号号: 指导教师:指导教师: 教师职称:教师职称: 教授教授 2010 年年 6 月月 2 日日 II 摘摘 要要 低密度奇偶校验码(Low Density Parity Check Codes,简称 LDPC 码) ,本 质上是一种线性分组码,更接近香农限。目前的研究均表明 LDPC 码是信道编 码中纠错能力最强的一种码,其译码器结构简单,在深空探测、

2、卫星通信等领域可 得到广泛的应用。文章介绍了 LDPC 码,综述了其编码方法和译码方法。在编码 方法中分别描述了校验矩阵的构造和基于校验矩阵的编码算法,对 LDPC 码的 快速编码方法进行分析。在译码方法中主要论述了消息传递译码算法、置信传 播译码方法、最小和译码算法、比特翻转译码算法和加权比特翻转译码方法。 对部分 LDPC 码的编译码就行了仿真,同时对 LDPC 码的编译码方法的发展及 应用前景作了分析。 本文的重点是对 LDPC 码的编译码算法的论述与研究,介绍 LDPC 码的基 本原理和分类,分别从基于生成矩阵和基于校验矩阵详细讨论了 LDPC 码编码 算法,简单介绍了线性分组码编码,

3、LU 分解法,RU 分解法。并用简明例子对 RU 算法做了清晰的解释。对译码大致做了解释:分为软判决译码(MP 算法) 和硬判决译码(比特翻转算法和加权比特翻转算法) 。在本文的最后用 AWGN 信道下 LDPC 码的性能仿真,主要是针对比特翻转算法进行仿真。做出理论比 较。 关键词关键词:LDPC 码 编译码 MATLAB III Title:Encoding and Decoding Algorithms of LDPC Codes Abstract:LDPC code, namely Low Density Parity Check Code, is a kind of linear b

4、lock codes in nature, and the decoding performance of LDPC is more nearer to the Shannon limit. With it s best performance and simple decoder structure, LDPC codes will be widely used in deep space exploration, satellite communications and other fields. While briefly introducing LDPC codes are intro

5、duced briefly, this paper summarizes the encoding and decoding algorithms. The encoding algorithm is described in two steps: the const ruction of parity-check matrix and the encoding method based on parity-check matrix. Analyze the rapidly coding method for LDPC code. As to decoding algorithm, MP de

6、coding method, BP decoding method, Min- Sum decoding method, Bit-Flipping method and Weighted Bit-Flipping method are discussed. Emulate for the LDPC codes .The development and application of encoding and decoding methods is analyzed as well. This article focuses on encoding and decoding algorithms

7、of LDPC codes,According to the different methods of decoding algorithm, and makes the theoretical MATLAB simulation. Key words:LDPC codes encoding and decoding MATLAB IV IV 目 录 1引言.1 2 LDPC 码概述.3 2.1 线性分组码3 2.2 低密度奇偶校验码(LDPC 码)4 2.2.1 LDPC 码定义4 3 LDPC 码的编码算法.6 3.1 基于生成矩阵的编码算法 (线性分组码编码)6 3. 2 基于校验矩阵的

8、编码算法 (LU 分解法) 7 3.3 基于校验矩阵的编码算法(RU 算法).7 4 LDPC 码的译码概述.11 4.1 MP 算法集 .11 4.2 硬判决译码算法13 4.2.1 比特翻转算法.13 4.2.2 加权比特翻转译码算法.14 5 AWGN 信道下 LDPC 码的性能仿真 .15 5.1 仿真软件简介(MATLAB end else for cc = 1:lc - 1 H(i, c1(cc) = 0; end end % if end % if end % for j end % for i end % if fprintf(LDPC matrix is created.n)

9、; function c, newH = makeParityChk(dSource, H, strategy) % Generate parity check vector bases on LDPC matrix H using sparse LU decomposition % % dSource : Binary source (0/1) % H : LDPC matrix % strategy: Strategy for finding the next non-zero diagonal elements % 0 First : First non-zero found by co

10、lumn search 27 % 1 Mincol : Minimum number of non-zeros in later columns % 2 Minprod: Minimum product of: % - Number of non-zeros its column minus 1 % - Number of non-zeros its row minus 1 % % c : Check bits % % % Copyright Bagawan S. Nugroho, 2007 % % Get the matric dimension M, N = size(H); % Set

11、a new matrix F for LU decomposition F = H; % LU matrices L = zeros(M, N - M); U = zeros(M, N - M); % Re-order the M x (N - M) submatrix for i = 1:M % strategy 0 = First; 1 = Mincol; 2 = Minprod switch strategy % Create diagonally structured matrix using First strategy case 0 % Find non-zero elements

12、 (1s) for the diagonal r, c = find(F(:, i:end); % Find non-zero diagonal element candidates rowIndex = find(r = i); % Find the first non-zero column chosenCol = c(rowIndex(1) + (i - 1); % Create diagonally structured matrix using Mincol strategy case 1 % Find non-zero elements (1s) for the diagonal

13、r, c = find(F(:, i:end); colWeight = sum(F(:, i:end), 1); % Find non-zero diagonal element candidates rowIndex = find(r = i); % Find the minimum column weight x, ix = min(colWeight(c(rowIndex); % Add offset to the chosen row index to match the dimension of the. % original matrix F chosenCol = c(rowI

14、ndex(ix) + (i - 1); % Create diagonally structured matrix using Minprod strategy case 2 % Find non-zero elements (1s) for the diagonal 28 r, c = find(F(:, i:end); colWeight = sum(F(:, i:end), 1) - 1; rowWeight = sum(F(i, :), 2) - 1; % Find non-zero diagonal element candidates rowIndex = find(r = i);

15、 % Find the minimum product x, ix = min(colWeight(c(rowIndex)*rowWeight); % Add offset to the chosen row index to match the dimension of the. % original matrix F chosenCol = c(rowIndex(ix) + (i - 1); otherwise fprintf(Please select columns re-ordering strategy!n); end % switch % Re-ordering columns

16、of both H and F tmp1 = F(:, i); tmp2 = H(:, i); F(:, i) = F(:, chosenCol); H(:, i) = H(:, chosenCol); F(:, chosenCol) = tmp1; H(:, chosenCol) = tmp2; % Fill the LU matrices column by column L(i:end, i) = F(i:end, i); U(1:i, i) = F(1:i, i); % There will be no rows operation at the last row if i = length(r1) - numOfOnes + rji

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号