摘 要:低密度奇偶校验码(LDPC)是目前最有效的差错控制手段之一,而其中准循环LDPC 码(QC-LDPC)应用最为广泛。提出了一种通用的多码率QC-LDPC 译码器设计方法,并在FPGA 上完成了实现和测试。测试结果表明,该多码率译码器在资源占用不超过2 种码率译码器资源之和的前提下能够有效支持至少3 种码率;且工作时钟在110 MHZ 时,固定迭代次数为16 次,该译码器的吞吐率能保持在110 Mb/s 以上。
0 引言
LDPC 码最早于1962 年由Gallager提出,可以看成是一个具有稀疏校验矩阵的线性分组码。自从Mackay 和Neal发现LDPC 码的性能非常接近香农限以后,LDPC 码越来越受到人们的重视。基于准循环LDPC(QC-LDPC)码结构特点,提出了一种支持多种码率QC-LDPC 译码器的设计方法,并设计实现了一个能够实时自适应支持三个不同H 阵的通用QC-LDPC 译码器。
1 QC-LDPC 码简介
QC-LDPC 码的校验矩阵Hqc 是由c × t 个循环置换矩阵组成的,其中c,t均为整数,且c < t 。将QC-LDPC码的校验矩阵中每一个置换矩阵替换为相应的移位值,这样得到了一个新的矩阵,称为基本矩阵。基本矩阵与Η 阵是一一对应的。QC-LDPC 规则的结构使得其编译码在工程上易于实现,因此许多标准中的LDPC 码都采用了QC-LDPC 码。
2 译码算法简介
这里设计的译码器主要采用基于软判决的偏移值最小和算法。偏移值最小和算法是在和积算法和最小和算法的基础上改进而来,具有译码复杂度低,性能优异等特点。为了能够较好地描述该算法,先对一些符号进行定义。
L(ci )表示输入译码器变量节点i 的原始软信息, L( rji ) 表示由校验节点j 传递给变量节点i 的信息, L( q ij )表示由变量节点i 传递给校验节点j 的信息。而αij ,βi ' j 的意义如式1 所示:
具体的算法步骤如下所示:
初始化码字的原始概率信息。
第1 步,更新校验节点的概率信息(CNU,Check NodeUpdate)。
第2 步,更新信息节点的概率信息(VNU, Variable NodeUpdate)。
同时计算:
L Q 进行硬判决,若( ) 0 i L Q > ,判决为0 否则为1。计算cHT 是否为0,或者已经达到设定的最大迭代次数,如果是转第3 步,否则转第1 步。
第3 步,输出判决结果。
通过仿真,文中确定的译码器输入定点化方案如下:量化位宽为6 bit,其中3 bit 表示整数位,2 bit 表示小数位。