低复杂度LDPC码编译码算法研究与实现
发布时间:2020-09-27 13:07
信道编码技术是保证通信系统可靠性最有效的技术之一。LDPC码作为一种兼具理论性与实用性的信道编码技术,它因为其接近于香农限的性能已经被越来越多的研究人员所关注。在使用LDPC码作为信道编码的实际通信系统中,如何保证LDPC码编译码部分有良好的性能和较低的实现复杂度是必然要考虑的问题。本文将从低复杂度的角度,致力于研究LDPC码的编译码算法及其硬件实现。首先,本文对LDPC码的现有理论框架进行研究,包括LDPC码的定义及Tanner图表示、LDPC码的构造方法、LDPC码的编码算法、LDPC码的硬判决和软判决译码算法,为后续的研究打下理论基础。接着,对各种软硬判决译码算法的性能,以及一些译码参数对性能的影响进行仿真。其中,重点数序推导了LDPC码的软判决译码算法的译码过程,通过逐步推导几种经典近似代替的简化译码算法,指出了推导过程中近似代替译码算法存在误差的原因,探究补偿该误差的办法。其次,在对现有软判决译码的推导分析后,提出了两种改进的低复杂度译码算法。第一种是在最小值与次小值前加入不同的归一化因子的INMS译码算法,该算法在不提升复杂度的同时,有一定的性能增益。第二种是一种利用噪声方差估计次小值的IEMS算法,而后又讨论了混合两种改进算法的IENMS算法;IEMS算法与IENMS算法均在仅损失了较少的性能的前提下,降低了2(log 1)rM?d?-??次加法运算。该方法可以广泛应用于需要高速译码,而对于性能要求没那么严格的场合。最后,对LDPC码编译码进行硬件实现。选取CCSDS标准中基于近空应用的(8176,7156)码的子码(8176,7154)码进行编译码的硬件实现。在对LDPC码的各种编译码电路进行了详细分析之后,根据选定的码型,提出了一种七位并行输入的高速编码方式,并按照模块化的思想进行了硬件实现。在对各种译码框架进行了详细的研究后,根据选定的码型设计了部分并行的译码实现框架,其存储模块的通用化设计使该译码器适用于多种LDPC码的译码。
【学位单位】:哈尔滨工业大学
【学位级别】:硕士
【学位年份】:2017
【中图分类】:TN911.22
【部分图文】:
图 4-1 (8176,7156)码的奇偶校验矩阵由于该码的奇偶校验矩阵H的秩为 1020,也就是说在就奇偶校验矩阵中有是线性相关的。根据本文 3.1 节的分析,可以把奇偶校验矩阵 的最后两行两矩阵取出来,组成矩阵D,此时 的秩为 1020,它不是满秩不能求逆。1,15 1,162,15 2,16 A ADA A(4由于 由四个循环子块组成,其线性相关的行列可以通过去掉每个子循环后行列的形式去除。对于 来说,可以通过删除每个子循环块的最后一行与最列,组成一个满秩的准循环矩阵*D* **1,15 1,16* *2,15 2,16 A ADA A(4同时,对于H中的所有子块i ,jA 都删除最后一行与最后一列,其中*1,**2,iii AMA(4那么该码奇偶校验矩阵的循环子块都降维成510 510维的,其对应的生成
1 ,2Ti i i z b b ,通过将1 2 14z , z , ,z 进行循环移位,可以得到生成矩阵*qcG 。如图4-2 所示。图 4-2 (8176,7154)LDPC 码的生成矩阵此时得到的 是( 8 176, 71 56)码的子码( 8 176, 71 54)码的生成矩阵,也就是码生成矩阵中系统型的部分,根据 3.1 节中的求解方法,可以求出生成矩阵G的最后两行Q。接下的 FPGA 实现都是基于 码进行的。4.2 LDPC 码编码器的 FPGA 实现本小节首先对 码编码实现的总体架构进行介绍,其次分别对各个模块进行详细介绍,并给出仿真及分析。4.2.1 编码电路总体方案概述图 4-3 为编码器硬件实现的整体实现框架。整个编码器主要由序列生成模块、部分并行编码模块、序列拼接模块、串并与并串转换模块、控制模块组成。首先,在系统时钟 clk 和控制模块的控制下
(b)整体仿真图图 4-4 序列生成模块的仿真图4.2.3 部分并行编码模块在整个编码器中,最重要也是最核心的部分就是部分并行编码模块。基于 4.1节对于 CCSDS 标准中 LDPC 码的分析,以及对( 8 176, 71 56)码子码系统型生成矩阵的求解,接下来的编码模块都是基于其( 8 176, 71 54)子码进行的。对于系统型生成矩阵的编码,一般采用(4-10)的形式。c m G m ( I B ) (m m B)(4-10)其中:m为输入的信息序列,I 为单位阵,B 为生成矩阵中的非单位阵部分。码的 为准循环的非稀疏矩阵,基于 3.1 节对各种编码电路的分析,可以将 拆分成 28 个循环的子矩阵,通过移位寄存器的循环移位进行,在寄存器中只需存储每个子矩阵的首行或者首列,通过循环右移或者循环下移的方式即可得到整个循环阵。从式(4-10)可以看出,编码过程其实就是信息序列 与生成矩阵中非单位阵的部分相乘得到校验序列,而编码完成的码字是信息序列 与校验序列m B 的拼接。
【学位单位】:哈尔滨工业大学
【学位级别】:硕士
【学位年份】:2017
【中图分类】:TN911.22
【部分图文】:
图 4-1 (8176,7156)码的奇偶校验矩阵由于该码的奇偶校验矩阵H的秩为 1020,也就是说在就奇偶校验矩阵中有是线性相关的。根据本文 3.1 节的分析,可以把奇偶校验矩阵 的最后两行两矩阵取出来,组成矩阵D,此时 的秩为 1020,它不是满秩不能求逆。1,15 1,162,15 2,16 A ADA A(4由于 由四个循环子块组成,其线性相关的行列可以通过去掉每个子循环后行列的形式去除。对于 来说,可以通过删除每个子循环块的最后一行与最列,组成一个满秩的准循环矩阵*D* **1,15 1,16* *2,15 2,16 A ADA A(4同时,对于H中的所有子块i ,jA 都删除最后一行与最后一列,其中*1,**2,iii AMA(4那么该码奇偶校验矩阵的循环子块都降维成510 510维的,其对应的生成
1 ,2Ti i i z b b ,通过将1 2 14z , z , ,z 进行循环移位,可以得到生成矩阵*qcG 。如图4-2 所示。图 4-2 (8176,7154)LDPC 码的生成矩阵此时得到的 是( 8 176, 71 56)码的子码( 8 176, 71 54)码的生成矩阵,也就是码生成矩阵中系统型的部分,根据 3.1 节中的求解方法,可以求出生成矩阵G的最后两行Q。接下的 FPGA 实现都是基于 码进行的。4.2 LDPC 码编码器的 FPGA 实现本小节首先对 码编码实现的总体架构进行介绍,其次分别对各个模块进行详细介绍,并给出仿真及分析。4.2.1 编码电路总体方案概述图 4-3 为编码器硬件实现的整体实现框架。整个编码器主要由序列生成模块、部分并行编码模块、序列拼接模块、串并与并串转换模块、控制模块组成。首先,在系统时钟 clk 和控制模块的控制下
(b)整体仿真图图 4-4 序列生成模块的仿真图4.2.3 部分并行编码模块在整个编码器中,最重要也是最核心的部分就是部分并行编码模块。基于 4.1节对于 CCSDS 标准中 LDPC 码的分析,以及对( 8 176, 71 56)码子码系统型生成矩阵的求解,接下来的编码模块都是基于其( 8 176, 71 54)子码进行的。对于系统型生成矩阵的编码,一般采用(4-10)的形式。c m G m ( I B ) (m m B)(4-10)其中:m为输入的信息序列,I 为单位阵,B 为生成矩阵中的非单位阵部分。码的 为准循环的非稀疏矩阵,基于 3.1 节对各种编码电路的分析,可以将 拆分成 28 个循环的子矩阵,通过移位寄存器的循环移位进行,在寄存器中只需存储每个子矩阵的首行或者首列,通过循环右移或者循环下移的方式即可得到整个循环阵。从式(4-10)可以看出,编码过程其实就是信息序列 与生成矩阵中非单位阵的部分相乘得到校验序列,而编码完成的码字是信息序列 与校验序列m B 的拼接。
【参考文献】
相关期刊论文 前3条
1 王英U
本文编号:2827916
本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/2827916.html