一种ldpc解码器及其实现方法

文档序号:7515582阅读:712来源:国知局
专利名称:一种ldpc解码器及其实现方法
技术领域
本发明涉及一种LDPC解码器及其实现方法,特别是涉及一种符合CMMB标准的LDPC解码器及其实现方法。
背景技术
现代通信系统中,纠错码是提高信道传输可靠性和功率利用率的重要手段,LDPC码(Low Density Parity Check Code,低密度奇偶校验码)是目前最逼近香农极限的一类纠错码,目前已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。在中国移动多媒体广播数字系统(CMMB, china mobile multimediabroadcasting),采用了 RS码(Reed-solomon codes,里所码)和LDPC码级联作为信道的纠错码。要求码长为9216bit,支持1/2,3/4两种码率,数据的吞吐率要求达到10Mbit/S。CMMB系统中LDPC码是一个规则LDPC码,其H矩阵的列度都是3。1/2码率的H矩阵行度为6,3/4码率的H矩阵行度为12。进一步分析可以看出:CMMB系统中LDPC码的H矩阵是由一个基本的码字矩阵扩展而来。可以由两种方式扩展得到,行扩展方式,列扩展方式。(I)行扩展方式:1/2码率的H矩阵就是由前18行扩展而来,具体扩展方法为:以后的任意一行m都是对应i行(i = 18)0≤i≤256,向右循环移位j (j = [m/18]*36)0 ( j ( 256得至Li。%表示取模运算。[m/18]表示m除18取整运算。3/4码率的H矩阵就是由前9行扩展而来,具体扩展方法为:以后的任意一行m都是对应i行(i = m% 9),向右循环移位j (j = [m/9]*36)得到。%表示取模运算。[m/9]表示m除9取整运算。(2)列扩展方式:1/2码率H矩阵是由一个4608*36矩阵,经过扩展得到的。第t列是向下位移t*18得到的,0≤t≤2563/4码率H矩阵是由一个2304*36矩阵,经过扩展得到的。第t列是向下位移t*9得到的,0≤t≤256从CMMB校验矩阵可以看出只要存储器能保存每个子矩阵中的非零元素,并且能让这些元素在需要的时候准确调用即可。且两种码率的列度都是为3,行度也是倍数关系,这样变量节点单元完全可以复用,校验节点单元只要合理安排调度,也完全可以复用。一般来说,传统的LDPC译码算法包括以下步骤:步骤一,对数域上的BP(belief_propagation,置信传播)算法。为便于算法描述,首先定义了以下变量:Fn为第n个比特的最初输入的初始对数似然比信息;Lmn为第m个校验节点传送至第n个信息节点的对数似然比信息;Zmn为第n个信息节点传送至第m个校验节点的对数似然比信息;
Zn为第n比特在每次迭代运算后得到的后对数似然比信息;N(m)为与第m个校验节点相连的所有信息节点的集合;N(m) \n对应的则为N(m)中除去信息节点n后的信息节点集合;M(n)为与第n个信息节点相连的所有校验节点的集合;M(n) \m对应的则为M(n)中除去校验节点m后的校验节点集合;BP算法的译码过程如下:(I)初始化对于所有的n 及 mi G M (n),令 Zmin = Fn ;(2)校验节点更新。对于每个校验节点m及与之相连的所有比特节点ni,即ni G N(m),进行如下处理
权利要求
1.一种LDPC解码器,至少包括: 输入缓冲单元,包括H矩阵阵列单元、V矩阵阵列单元以及初始信息存储单元,该输入缓冲单元接收初始化后的输入数据后,并将其写入该H矩阵阵列单元与该初始信息存储单元; 状态控制及地址产生模块,用于实现整个解码器的控制功能及产生校验节点处理模块与变量节点处理模块处理阶段的地址信息; 校验节点处理模块,包含5个校验节点处理单元,在该状态控制及地址产生模块控制下,读取该H矩阵阵列单元的数据完成所有校验节点到变量节点的更新,并将当前次迭代的校验节点到比特节点的信息存储于该V矩阵阵列单元; 变量节点处理模块,连接于该V矩阵阵列单元与该初始信息存储单元,其包含9个变量节点处理单元,用于完成所有变量节点到校验节点的更新,并同时将当前变量节点在当前次迭代过程中得到的硬判决结果输出至判决码字存储单元;以及 判决码字存储单元,将译码结束的信息码字输出。
2.如权利要求1所述的LDPC解码器,其特征在于:该LDPC解码器还包括LMN寄存器组与ZMN寄存器组,该LMN寄存器组用来存储该校验节点处理模块运算完成的校验节点到变量节点的信息;该ZMN寄存器组用于存储该变量节点处理模块运算完成的变量节点到校验节点的信息。
3.如权利要求2所述的LDPC解码器,其特征在于:该LDPC解码器还包括一索引表存储单元,用于存储不同码率的索引,并在译码完成后,输出信息码字至判决码字存储单元。
4.如权利要求1所述的LDPC解码器,其特征在于:该校验节点处理模块的5个校验节点处理单元同时工作,经过 4个周期,完成18个校验节点的运算,经过256*4个周期完成一次所有校验节点到变量节点的更新。
5.如权利要求4所述的LDPC解码器,其特征在于:该校验节点处理模块利用上一次迭代周期相应变量节点的硬判决结果代入校验矩阵判断公式,得到相应信息是否满足当前校验,当所有的信息都满足校验式时,迭代结束;或者达到最大迭代次数时,译码结束。
6.如权利要求5所述的LDPC解码器,其特征在于:该校验节点处理模块采用流水线技术设计,将处理单元划分为多级流水处理。
7.如权利要求6所述的LDPC解码器,其特征在于:该校验节点处理模块采用9级流水线结构设计。
8.如权利要求1所述的LDPC解码器,其特征在于:该变量节点处理模块的9个变量节点处理单元经过4个周期,完成36个VNU节点的运算,经过256*4个周期后完成一次所有的变量节点到校验节点的更新。
9.如权利要求8所述的LDPC解码器,其特征在于:该变量节点处理模块采用流水线技术设计,将处理单元划分为多级流水处理。
10.如权利要求9所述的LDPC解码器,其特征在于:该变量节点处理模块采用7级流水线结构设计。
11.如权利要求1所述的LDPC解码器,其特征在于:该H矩阵阵列单元由30个9位数据宽度的RAM组成,其最高位存储的是上次迭代译码输出,低8位是上次迭代的比特节点到校验节点的信息。
12.如权利要求1所述的LDPC解码器,其特征在于:该V矩阵阵列单元由27个8位数据宽度的RAM组成,8位存储的是本次迭代的校验节点到比特节点的信息。
13.如权利要求1所述的LDPC解码器,其特征在于:该判决码字存储单元为一9位宽度、1024深度的存储器。
14.如权利要求3所述的LDPC解码器,其特征在于:该索引表存储单元用来存储9216*2个索引表,0-9215存储的是1/2码率的索引,9216-18431存储的是3/4码率的索引,译码完成后,按照该索引表存储单元的顺序将9216个码字重新排列。
15.如权利要求2所述的LDPC解码器,其特征在于:该LMN寄存器组包含两组寄存器阵列,每一组为27*4的寄存器阵列;该ZMN寄存器组也包含两组寄存器阵列,每一组为30*4的寄存器阵列。
16.如权利要求2所述的LDPC解码器,其特征在于:该LDPC解码器采用VLSI硬件架构。
17.如权利要求2所述的LDPC解码器,其特征在于:该状态控制及地址产生模块控制该LDPC解码器于空闲状态、初始化状态、校验节点运算状态及变量节点运算状态之间调度。
18.一种LDPC解码器的实现方法,包括如下步骤: 系统初始化,信道信息写入H矩阵阵列单元与初始信息存储单元; 校验节点模块采用5个校验节点处理单元完成所有校验节点到变量节点的更新,并将当前次迭代的校验节点到比特节点的信息存储于V矩阵阵列单元;以及 变量节点处理模块利用9个变量节点处理单元所有变量节点到校验节点的更新,并同时将当前变量节点在当前次迭代过程中得到的硬判决结果输出至判决码字存储单元。
19.如权利要求18所述的LDPC解码器的实现方法,其特征在于:该校验节点模块与该变量节点处理模块采用流水线技术设计,将处理单元划分为多级流水处理以进行校验节点与变量节点的更新。
20.如权利要求18所述的LDPC解码器的实现方法,其特征在于:系统初始化的同时将上一次译码判决的码字进行输出。
全文摘要
本发明公开一种LDPC解码器及其实现方法,该LDPC解码器包括输入缓冲单元、状态控制及地址产生模块、校验节点处理模块、变量节点处理模块以及判决码字存储单元,该输入缓冲单元包括H矩阵阵列单元、V矩阵阵列单元以及初始信息存储单元,本发明通过仅用57块RAM来进行行矩阵、列矩阵计算结果的存储,减小了将近50%的RAM的数量,降低了LDPC解码器实现过程中所需要的存储空间;同时,本发明仅用5个CNU节点的运算单元进行校验节点运算、9个VNU节点的运算单元进行变量节点运算,减少了LDPC解码器实现过程中所需要的运算单元,达到了节省芯片资源的目的。
文档编号H03M13/11GK103166648SQ201110418739
公开日2013年6月19日 申请日期2011年12月14日 优先权日2011年12月14日
发明者雷海燕 申请人:联芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1