一类准循环LDPC码的快速编码方法
发布时间:2008/5/27 0:00:00 访问次数:1401
低密度奇偶校验(low densitv paritv check,ldpc)码已成为当今信道编码领域的研究热点之一。ldpc码属于线性分组码,根据其构造方法和相应的编码算法,主要分为两类:一类是随机构造的ldpc码,该类码在长码时具有很好的纠错能力,然而由于码组过长,以及生成矩阵与校验矩阵的不规则性,使编码过于复杂而难以用硬件实现,编码时间过长也不利于硬件的实时应用;另一类是结构码,它由几何、代数和组合设计等方法构造。大多数ldpc结构码是循环或准循环结构,准循环码在中短码时具有相当强的纠错能力,性能接近随机构造的最优ldpc码,又因其硬件实现极其简单,只需用反馈移位寄存器连接就可实现,因此具有很好的应用前景。
在ldpc码的理论和应用研究越来越受到人们关注的同时,探讨ldpc码在dsp,vlsi(超大规模集成电路)和fpga(现场可编程门阵列)等上的实现也成为一个重要研究方向。笔者在科研项目的工作中,发现一种针对准循环ldpc码的快速编码实现方法,对于码长为15 360的ldpc码,基于altera公司的ep2s60型fpga芯片实现时可达到25 mbit/s以上的编码速度。
2 ldpc码的通用编码方法
作为信道编码中纠错能力最强的码型之一,ldpc码由于其译码器结构实现简单,可以用较少的资源消耗获得很高的吞吐量,但编码器的复杂度问题作为不利因素制约着ldpc码的应用。传统的编码方法是通过生成矩阵生成码字,其复杂度和码长的平方成正比,这使得ldpc码在编码上需要大量的硬件资源和很长的延时。richardson在文献[4]中引入了一种新颖的算法在很大程度上解决了该问题,之后,dong-u lee等人利用这种新算法设计了相应的编码方法,这种编码方法适用于大多数的ldpc码;而对于基于有限几何或其他置换方法等构造出的具有循环或准循环特性的ldpc码,由于其特殊的构造,可简单地用移位寄存器来实现编码,编码算法复杂度进一步降低。
2.1 传统算法
ldpc码的传统编码算法和一般的线性分组码十分类似,需要求出生成矩阵。若已知长度为k的输入信息向量m,以及k×n的生成矩阵g,码字c就可以得到:c=m×g。在获得校验矩阵h后,利用h和g之间的正交性可以用高斯消元法来得到生成矩阵g。假设稀疏矩阵h有如下形式:h=[h1 h2],其中h2是一个(n-k)×(n-k)的稀疏方阵,并且在二元域上是非奇异阵,那么g就可用式(1)给出
很容易验证:这样的g满足hgt=0,其中,ik是一个k阶的单位矩阵,这样得到的码字具有系统码的形式。
该编码算法可简单概括为:若ldpc编码器将长度为k的信息比特m=(m0,m1,…,mk-1)编码为一个长度为n的ldpc码字c=(m,p)=(m0,m1,…,mk-1,p0,p1,…,pn-k-1),其中p为校验位,设ldpc码的奇偶校验矩阵为h=[h1,h2],其中,h1子矩阵包括h矩阵中的前k列,h2子矩阵包括h矩阵中的后n-k列,则由式(1)及c=mxg可得校验位
已知校验矩阵h求解生成矩阵g的主要算法是二元域上的高斯消元法,一般而言,这样得到生成矩阵g不是稀疏矩阵,因此在编码时所用到的矩阵乘法的运算量阶数是o(n2)。
2.2 基于ru算法的编码方法
richardson和urbanke指出通过对ldpc的校验矩阵进行一定规则的线性操作即预编码的算法(ru算法),可以使ldpc编码器的复杂度控制在与码长成线性关系。设码字矢量x=(s,p1,p2),其中s为信息位,p1与p2合起来表示校验位,利用校验方程hx′=0来计算p1和p2。ru算法主要包括预处理和实际编码两个步骤。预编码通过行列变换把校验矩阵h转化为近似的下三角阵形式h′,预编码只需执行一次,可以在软件中预先处理。然后把h′分成6个稀疏矩阵,通过分步计算求得p1和p2,其中p1复杂度为o(n+g2),p2的计算复杂度为o(n)。图1为h经预编码后的近似下三角阵形式h′。
但如何得到这个近似下三角矩阵仍没有令人满意的方法,t.j.rrichdson等人通过贪心算法重排校验矩阵过于复杂,且这样的预处理需要很长时间。尤其当码长较长时,这种编码方法不是一种理想的实现方式。
2.3 准循环ldpc码及其编码方法
准循环ldpc码是一类构造比较特殊且应用范围越来越广的ldpc码,其校验矩阵hqc由一系列的m×m小循环方阵组成,这些小循环方阵可以是置换矩阵或是基于有限几何的矩阵等。由于hqc的准循环特性,可以得到具有系统码形式和准循
低密度奇偶校验(low densitv paritv check,ldpc)码已成为当今信道编码领域的研究热点之一。ldpc码属于线性分组码,根据其构造方法和相应的编码算法,主要分为两类:一类是随机构造的ldpc码,该类码在长码时具有很好的纠错能力,然而由于码组过长,以及生成矩阵与校验矩阵的不规则性,使编码过于复杂而难以用硬件实现,编码时间过长也不利于硬件的实时应用;另一类是结构码,它由几何、代数和组合设计等方法构造。大多数ldpc结构码是循环或准循环结构,准循环码在中短码时具有相当强的纠错能力,性能接近随机构造的最优ldpc码,又因其硬件实现极其简单,只需用反馈移位寄存器连接就可实现,因此具有很好的应用前景。
在ldpc码的理论和应用研究越来越受到人们关注的同时,探讨ldpc码在dsp,vlsi(超大规模集成电路)和fpga(现场可编程门阵列)等上的实现也成为一个重要研究方向。笔者在科研项目的工作中,发现一种针对准循环ldpc码的快速编码实现方法,对于码长为15 360的ldpc码,基于altera公司的ep2s60型fpga芯片实现时可达到25 mbit/s以上的编码速度。
2 ldpc码的通用编码方法
作为信道编码中纠错能力最强的码型之一,ldpc码由于其译码器结构实现简单,可以用较少的资源消耗获得很高的吞吐量,但编码器的复杂度问题作为不利因素制约着ldpc码的应用。传统的编码方法是通过生成矩阵生成码字,其复杂度和码长的平方成正比,这使得ldpc码在编码上需要大量的硬件资源和很长的延时。richardson在文献[4]中引入了一种新颖的算法在很大程度上解决了该问题,之后,dong-u lee等人利用这种新算法设计了相应的编码方法,这种编码方法适用于大多数的ldpc码;而对于基于有限几何或其他置换方法等构造出的具有循环或准循环特性的ldpc码,由于其特殊的构造,可简单地用移位寄存器来实现编码,编码算法复杂度进一步降低。
2.1 传统算法
ldpc码的传统编码算法和一般的线性分组码十分类似,需要求出生成矩阵。若已知长度为k的输入信息向量m,以及k×n的生成矩阵g,码字c就可以得到:c=m×g。在获得校验矩阵h后,利用h和g之间的正交性可以用高斯消元法来得到生成矩阵g。假设稀疏矩阵h有如下形式:h=[h1 h2],其中h2是一个(n-k)×(n-k)的稀疏方阵,并且在二元域上是非奇异阵,那么g就可用式(1)给出
很容易验证:这样的g满足hgt=0,其中,ik是一个k阶的单位矩阵,这样得到的码字具有系统码的形式。
该编码算法可简单概括为:若ldpc编码器将长度为k的信息比特m=(m0,m1,…,mk-1)编码为一个长度为n的ldpc码字c=(m,p)=(m0,m1,…,mk-1,p0,p1,…,pn-k-1),其中p为校验位,设ldpc码的奇偶校验矩阵为h=[h1,h2],其中,h1子矩阵包括h矩阵中的前k列,h2子矩阵包括h矩阵中的后n-k列,则由式(1)及c=mxg可得校验位
已知校验矩阵h求解生成矩阵g的主要算法是二元域上的高斯消元法,一般而言,这样得到生成矩阵g不是稀疏矩阵,因此在编码时所用到的矩阵乘法的运算量阶数是o(n2)。
2.2 基于ru算法的编码方法
richardson和urbanke指出通过对ldpc的校验矩阵进行一定规则的线性操作即预编码的算法(ru算法),可以使ldpc编码器的复杂度控制在与码长成线性关系。设码字矢量x=(s,p1,p2),其中s为信息位,p1与p2合起来表示校验位,利用校验方程hx′=0来计算p1和p2。ru算法主要包括预处理和实际编码两个步骤。预编码通过行列变换把校验矩阵h转化为近似的下三角阵形式h′,预编码只需执行一次,可以在软件中预先处理。然后把h′分成6个稀疏矩阵,通过分步计算求得p1和p2,其中p1复杂度为o(n+g2),p2的计算复杂度为o(n)。图1为h经预编码后的近似下三角阵形式h′。
但如何得到这个近似下三角矩阵仍没有令人满意的方法,t.j.rrichdson等人通过贪心算法重排校验矩阵过于复杂,且这样的预处理需要很长时间。尤其当码长较长时,这种编码方法不是一种理想的实现方式。
2.3 准循环ldpc码及其编码方法
准循环ldpc码是一类构造比较特殊且应用范围越来越广的ldpc码,其校验矩阵hqc由一系列的m×m小循环方阵组成,这些小循环方阵可以是置换矩阵或是基于有限几何的矩阵等。由于hqc的准循环特性,可以得到具有系统码形式和准循
上一篇:智能流量积算控制仪