于FPGA的LDPC编码器设计与实现
扫描二维码
随时随地手机看文章
吴祖辉 熊磊 陈霞 引言 低密度奇偶校验(low density parity check code,ldpc)码是一类具有稀疏校验矩阵的线性分组码,不仅有逼近shannon限的良好性能,而且译码复杂度较低, 结构灵活,是近年信道编码领域的研究热点,目前已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。ldpc码已成为第四代通信系统(4g)强有力的竞争者,而基于ldpc码的编码方案已经被下一代卫星数字视频广播标准dvb-s2采纳。 编码器实现指标分析 作为前向纠错系统的重要部分,设计高速率低复杂度ldpc码编译码器成为提高系统性能的关键。对ldpc码来说,其编码复杂度相对较大,编码器的设计与实现是首要任务,也是译码器设计与实现的前提,有着十分重要的作用。 编码速率与复杂度是评价ldpc编码器好坏的重要指标。考虑高清晰度电视(hdtv)标准在分辨率为1920×1080,帧率为60帧/s,每个像素以24比特量化时,总数据率在2gb/s的数量级。采用mpeg-2压缩,要求数据率大约在20~40mb/s。 编码器设计思路 设ldpc码检验矩阵为h、生成矩阵为g。传统的编码方法是利用生成矩阵g直接进行编码。由于g并不具有稀疏性,直接编码的复杂度与码长n的平方成正比。本文的编码器采用ru编码算法。该算法通过对交换校验矩阵行列的位置,保持矩阵的稀疏性,利用交换行列后的校验矩阵进行编码,有效降低了编码的复杂度。经过行列交换的校验矩阵具有近似下三角形式,如图1所示。图1 交换校验矩阵
设信息序列为s,码字为c利用图1的矩阵可对信息序列s进行编码。码字分为三部分:c=(s,p1,p2),其中s是信息比特序列,长度为k;p1和p2是校验比特序列,长度分别为g和n-k-g。校验比特序列p1、p2计算公式如下:编码流程如图2所示。图2 编码流程图
设计ldpc编码器的时候注意:在ru算法中,对校验矩阵进行行列交换,转化为近似下三角形式称为编码预处理过程。给定一个校验矩阵,编码预处理过程和矩阵的计算只需要做一次,所以可先用软件完成。实际的编码计算通过硬件实现。这样做有利于提高编码硬件实现的效率。 ldpc码编码器实现 ldpc码编码器硬件结构 基于ru算法的ldpc编码实现过程主要是计算p1、p2的过程。设计编码器时,为了提高编码速度,将可以同时计算的步骤作并行处理,得到编码器的硬件结构如图3所示。图3 ldpc码编码器结构
图3中a、b、c、e分别代表图1中相应的矩阵,f代表φ矩阵。从图3可知,ldpc编码器主要由缓冲器(buffer)、矩阵向量乘法器(mvm)、矩阵加法器(va)、前向迭代运算器(fs)、向量合成器(cwg)等运算单元以及存储各个矩阵相关信息的存储器组成。因为前向迭代运算基本上是矩阵与向量的乘法计算,所以矩阵向量乘法是ldpc编码过程最核心的单元。 分析图3可知,编码过程中,cs与as的计算是同时进行的,其他的操作都是串行进行的。由于行列交换保持了矩阵的稀疏性,所以与a、b、c、e矩阵的相关运算是稀疏矩阵的运算,存储矩阵所需的空间少同时实现的复杂度低和运算速度快。φ是g×g的矩阵,由于在编码预处理过程中保证了g尽量小,所以与φ矩阵相关的运算也是比较快的。 ldpc码编码器复杂度 表1和表2描述了编码器计算校验序列p1、p2的流程及相应的复杂度。表1 p1的计算表2 p2的计算
从表1和表2可知ru算法的复杂度与n+g2成正比,g越小,编码复杂度越低。所以对校验矩阵进行行列交换时,使g尽量小是进一步降低编码复杂度的关键。 表1中序号2与表2中序号4的操作涉及到下三角矩阵t。由于t-1也是下三角矩阵,为了降低复杂度,可采用前向迭代进行计算。例如:假设qx=y,q为下三角矩阵,求x。计算过程如下:
欲知详情,请下载word文档 下载文档