基于分层nms算法的多码长ldpc码译码器的fpga实现方法

文档序号:7512308阅读:171来源:国知局
专利名称:基于分层nms算法的多码长ldpc码译码器的fpga实现方法
技术领域
本发明涉及一种多模式LDPC码译码器,具体地说,是涉及ー种WiMax协议中码率为1/2,多码长的分层迭代译码器。
背景技术
低密度奇偶校验码(LDPC)是ー种基于稀疏校验矩阵的线性分组码,具有逼近香农限的良好译码性能、良好的距离特性、译码复杂度小和低错误平层(error floor)等优点。是当今信道编码领域最受瞩目的研究热点之一,已被广泛应用于多个通信标准中,同时也是下一代宽带移动通信系统中纠错编码的优先选择方案。
WiMax 是 Worldwide Interoperability for Microwave Access 的缩写,即全球微波互联接入,已经被国际电信联盟(ITU)批准成为继WCDMA、CDMA2000和TD-SCDMA之后的第四个全球3G标准。WiMax技术以IEEE802. 16e系列宽带无线标准为基础,该标准中定义的LDPC码是ー种结构化构造的非正则准循环码,码长最小长度为576bit,最大长度为2304bit,以96为间隔,共19种码长。支持的码率有1/2等六种码率。当码率为1/2时,其校验矩阵H行块为12,列块为24。每ー个基于GF(2)域上的LDPC码都可以用ー个MXN稀疏校验矩阵进行描述,其中行数M表示校验节点数目,列数N表示变量节点数目。LDPC译码过程主要是通过对数似然信息在校验节点和变量节点之间传递更新而迭代译码。在目前的研究中,LDPC译码器的译码结构可以分为全并行结构、全串行结构和部分并行结构。其中,全并行结构中所有的变量节点和校验节点同时更新。译码速度快,但是并行处理单元太多,各处理单元与存储单元之间的连线复杂度随着码长增加而急剧増加,这给硬件设计造成了极大的困难;全串行结构每次只更新一行中的校验节点和变量节点,一次迭代需要m次校验节点更新和η次变量节点更新,译码延时大,不利于在实时通信系统中应用;而部分并行结构是复杂度和译码速度的折中,可根据需要调整并行度。按照消息传递方式的不同,目前LDPC码的译码算法可分为两种,ー种是TPMP(two-phase message passing)算法;另ー种是将校验节点更新和变量节点更新结合在一起的TDMP(turbo decoding message passing)算法。下面对两种现有技术做简要介绍。在传统的TPMP算法中,校验节点更新阶段和变量节点更新阶段是相互独立的。也就是说一次迭代开始后,首先是对校验矩阵H进行所有行更新即校验节点的更新,只有等到该阶段所有的行更新完毕后,校验矩阵的列更新才可进行即变量节点的更新,该阶段根据上阶段更新好的校验节点传递来的信息进行所有列更新操作,直到所有的列更新完成以后,才算一次迭代更新完毕。而TDMP算法的一次迭代过程,它包括了 mb(其中mb为校验矩阵H行块个数)个子迭代过程,且每个子迭代过程同时包括了变量节点更新和校验节点更新,具体的更新步骤为第一步是利用码字比特后验似然比信息和上一次迭代生成的校验节点传给变量节点的外部信息进行求差,得到本次迭代校验节点更新所需的变量节点传给校验节点的先验信息,第二步马上利用该先验信息进行校验节点更新,得到本次迭代比特节点后验信息更新所需新的外信息,第三步利用本次迭代更新后的外部信息与先验信息求和运算,得到下一个子迭代需要的新的比特后验信息,如此反复进行,直到Hlb个子迭代完成才算一次完整的迭代过程。TDMP算法打破了传统的独立机制,大大加快了迭代收敛的速度,同时也节约了部分存储单元,但它的并行实现需要有特定的校验矩阵,即该矩阵里的非零子矩阵的列重必须为1,且同一列中非零子矩阵的偏移差要足够的大,否则将会导致变量节点更新还没来得及使用就被新信息覆盖,使得译码器译码性能恶化。此外,LDPC码译码的迭代过程需要调度大量数据进行读写和计算,为实现高数据吞吐率,译码器应满足大量节点信息同时读写及计算更新的要求。

发明内容
本发明的目的在于提供ー种基于分层匪S算法的多码长LDPC码译码器的FPGA实现方法,解决现有多码长LDPC码的译码过程中更新信息的存储量大、译码速度慢和节点更新单元与存储器连接复杂的问题,在实现对IEEE802. 16e中码率为1/2,多码长LDPC码的正常译码的同时,減少更新信息的存储量、迭代次数和节点更新単元与存储器连接复杂度,使得译码速度加快且易于硬件设计实现。为了实现上述发明目的,采用的技术方案如下I、ー种适用于IEEE802. 16e标准中码率为1/2的多码长LDPC码的高吞吐率译码结构,该译码器包括译码器中心逻辑控制模块、地址产生模块、缓存器模块、校验节点处理模块、码字判决模块和码字校验模块。译码器中心逻辑控制模块用来控制整个译码器的工作过程,包括各个模块的エ作状态及时序的交互,信道信息的输入控制,迭代是否继续的控制、译码结果的输出控制。地址产生模块用来产生初始化存储器、校验节点信息更新、变量节点信息更新、码字判决、码字校验和码字输出所需要的地址,完成多种码长的LDPC码的译码。
缓存器模块输入缓存用来存储信道传来的对数似然比信息,输出缓存用来存储译码器的输出判决码字。校验节点处理模块即整个译码器的迭代计算模块,分为12路并行处理,用来处理变量节点传给校验节点的先验信息的更新、校验节点传给变量的外部信息的更新和比特节点后验信息值的更新,这是最为复杂也是最为重要的単元。为了有效减小译码器的关键路径延迟,处理单元采用了逐级细化流水线的设计方法来实现,可以提高译码器电路的エ作频率和呑吐量。其中CTVMem存储器模块用来存储分层信息处理模块产生的校验节点传给变量节点的外部信息,APPMem存储器模块用来存储码字比特的后验信息。码字判决模块分为24路并行处理,用来对一次译码迭代后的码字后验信息值进行硬判決。码字校验模块分为12路并行处理,用来对判决后的码字进行校验,进而确定是否输出码字。所述的ー种适用于IEEE802. 16e标准中码率为1/2的多码长LDPC码的高吞吐率译码结构,其特征在于,所述的校验节点处理单元中,根据校验矩阵中非零矩阵块为76个,设计用于存储校验节点传给变量节点外部信息的存储单元CTVMem有76个,用于存储比特节点后验信息值的存储单元APPMem也有76个,以保证运算节点之间的布线连接是固定连接且可以同时完成信息的处理。所述的APPMem存储单元用于存储初始化时信道对数似然值和译码迭代更新时后比特节点的后验信息,包含有76个独立的双ロ子存储器,每个存储器的宽度为8,深度为96。所述的CTVMem存储用于存储译码迭代过程中校验节点传给变量节点的信息,包含有76个独立的双ロ子存储器,每个存储器的宽度为8,深度为96。所述的地址产生模块利用查找表方法来产生初始化存储器、校验节点更新、变量节点更新、码字判决、码字校验和码字输出所需要的地址,完成多种码长的LDPC码的译码。而且码字判决单元的信息可以从校验节点単元中的码字比特后验信息值APPMem存储单元中读出,节省了一部分存储容量。2、ー种适用于IEEE802. 16e标准中码率为1/2的多码长LDPC码的高吞吐率译码结构,其特征在于,该方法包括以下步骤步骤I :初始化存储单元,APPMem存储单元存储输入的信道初始对数似然值,对应于校验矩阵的同一列矩阵块的存储单元存储的信息相同,而CTVMem存储单元存储的信息初始化为零。·步骤2:开始译码迭代。步骤3 :迭代从校验节点更新単元开始,每ー层处理单元读取同一层中CTVMem和APPMem存储器中的信息同时对每层中一行对应的变量节点更新,得到本次迭代校验节点更新所要的变量节点先验信息,接着计算校验节点更新和比特节点后验信息,得到新的校验节点传给变量节点信息传回本层CTVMem存储器中。而得到新的变量节点后验信息值,传给立即需要利用该信息的其它层,即对应于校验矩阵同一列矩阵块的其它层APPMem存储器,直到所有层的所有行更新完毕,本次迭代更新才算完成。步骤4:利用查找表方法找到ー个码字最后一次更新的后验信息值,存在于同一列矩阵块对应的APPMem存储单元的哪ー块,读出APPMem中的信息进行硬判決。步骤5 :对本次迭代获得的存于模块内的硬判决码字进行校验,当所有校验行满足校验方程或达到最大迭代次数时停止迭代,进入步骤6,否则重复步骤2 5的译码过程。步骤6 :输出端通过查找表法将比特硬判决信息输出。具体的说所述的步骤I中,根据校验矩阵非零块矩阵的个数,对76个APPMem和CTVMem进行初始化,其中APPMem的地址大小是根据不同码长中子矩阵维数来确定,对应同一列的APPMem的初始化比特后验信息一祥,而CTVMem的地址大小与APPMem —祥,初始化
数据置为零。更具体的说所述步骤3中的信息迭代处理。具体方法为校验节点处理单元分为4条流水线,首先第I条流水线处理単元同时读取本层中APPMem的后验信息和上一次迭代生成的CTVMem中的信息进行求差,得到本次迭代校验节点更新所需的变量节点先验信息VTC-new。针对每一个变量节点先验信息取出它们的符号,对应于本次校验节点更新所需的信息符号做异或运算,得到更新后的符号sign,同时对VTC-new取绝对值。其次,第2条和第3条流水线处理単元针对第I条流水线发送来的绝对值信息,通过比较器进行比较,求得最小值min和次小值min2。最后,第4条流水线处理单元首先将第一条流水线得到的绝对值与min进行比较。若相等,则它更新后的值为signXmin2,否则,它的更新后的值为signXmin。接着,将最小和信息再乘以归一化因子,这里采用了逻辑移位的方法来代替。同时,为了保持译码性能,进行了 2个比特的位扩展,得到新的校验节点传给变量节点的信息CTV-new,将它(CTV-new)传给本层对应的CTVMem存储器中。最后,再将本次迭代得到的新的VTC-new和CTV-new进行求和,得到新的变量节点后验信息APP-new,而得到新的变量节点后验信息值,传给立即需要利用该信息的其它层,即对应于校验矩阵同一列矩阵块的其它层APPMem存储器。这样每次与ー个校验节点相连的所有变量节点的更新可以同时进行,同时所有的变量节点传给该校验节点也可同时进行,最后同时更新对于变量节点的后验信
O进ー步的说步骤4中的信息读取可以从步骤3中的APPMem存储器中得到码字后验信息值进行硬判決。
本发明原理简单,结构巧妙,容易实现,有效地解决了现有多码长LDPC码的译码算法信息存储量大,速度慢等问题,在本发明中并行分层迭代译码结构中,信息迭代更新过程中只需存储校验节点传给变量节点的信息和比特节点后验信息,而不用存储变量节点传给校验节点的先验信息,因此存储単元大大減少,同时由于本设计设计中更新単元与存储単元的固定连接,大大减小了硬件的布线难度,使得信息的读写速度更快,硬件更加容易实现。


图I是译码器的总体设计结构图;图2是IEEE802. 16e码长2304,码率为1/2LDPC码的矩阵的基本模型;图3是码长为2304的偏移校验矩阵H ;图4是第I条流水线;图5是第2和第3条流水线;图6是第4条流水线;图7是码长为2304第一列矩阵块后验信息传递;图8是码长为1152的偏移校验矩阵H ;图9是码长为576的偏移校验矩阵H ;
具体实施例方式本发明公开了ー种基于分层匪S算法的多码长LDPC码译码器的FPGA实现方法,下面结合附图对本发明进ー步说明。首先对本发明中各个字母及函数代表的含义进行解释,具体如下R(J):指的是ー个与校验节点j相连的所有变量节点的集合,即參与校验方程j的所有变量节点。R(j)\i :是指ー个与校验节点j相连的所有变量节点的集合,然后再减去集合中的变量节点i ;即在參与校验方程j中除变量节点i外其余所有的变量节点。Li :表示收到的第i个比特信道信息的对数似然值;Aji :表示从校验节点j传递给变量节点i的外部置信信息;qu :表示从变量节点i传递给校验节点j的先验置信信息;
y i :表示每次迭代后得到的变量节点i的后验置信信息;k :表示第k次迭代译码。如图I所示,本次译码器采用并行的分层迭代译码结构,行并行度为12,列并行度为24,该译码器包括译码器中心逻辑控制模块、地址产生模块、缓存器模块、校验节点处理模块、码字判决模块和码字校验模块。译码器中心逻辑控制模块用来控制整个译码器的工作过程,包括各个模块的エ作状态及时序的交互,信道信息的输入控制,迭代是否继续的控制、译码结果的输出控制。地址产生模块用来产生初始化存储器、校验节点更新、变量节点更新、码字判決、码字校验和码字输出所需要的地址,完成多种码长的LDPC码译码。 缓存器模块输入缓存用来存储信道传来的对数似然比信息,输出缓存用来存储译码器的输出判决码字。校验节点处理模块即整个译码器的迭代计算模块,分为12路并行处理,用来处理变量节点传给校验节点的先验信息的更新、校验节点传给变量的外部信息的更新和比特节点后验信息值的更新,这是最为复杂也是最为重要的単元。为了有效地减小译码器的关键路径延迟,处理单元采用了逐级细化流水线的设计方法来实现,可以提高译码器电路的工作频率和呑吐量。CTVMem存储器模块用来存储分层信息处理模块产生的校验节点传给变量节点的外部信息,APPMem存储器模块用来存储码字比特的后验信息。码字判决模块分为24路并行处理,用来对一次译码迭代后的码字后验信息值进行硬判決。码字校验模块分为12路并行处理,用来对判决后的码字进行校验,进而确定是否输出码字。下面以1/2码率码长为2304的LDPC码为例,对本发明中并行分层迭代译码器的译码算法进行详细说明。步骤I :对现有校验矩阵进行置换如图2所示,得到本发明中所需的新校验矩阵如图3所示,并将其偏移值存入查找表中。步骤2 :并行分层译码器初始化,Y i = Li,其中i = 1,……,N ;步骤3 :校验节点更新单元,计算q-j =Yki -Χ)Χ(I)
/N /\Akii =βχ sign{qkrj) x min|Ai⑵
ノ V i'eR,\i jYkl + Λ;,·(3)步骤4 :根据ん的值进行硬判决,如果Yi > 0,贝诉=0,否则5=1。步骤5 :根据迭代译码过程硬判决后的码字6,对其进行码字校验,检查是否译码正确,若所有校验行校验正确或者译码次数达到预先设定的最大迭代次数,则迭代译码结束,输出码字。否则重复迭代过程。为了更加容易理解上述步骤I 5,,让本发明更加容易实现,下面将对部分关键步骤进行详细解释。具体的说所述的步骤I中,根据校验矩阵非零块矩阵的个数,对76个APPMem和CTVMem进行初始化,其中APPMem的地址大小是96,对应于校验矩阵同一列非零矩阵块的APPMem的初始化信道对数似然值相同,而CTVMem的地址大小与APPMem —祥,初始数据为零。更具体的说所述步骤3中的信息迭代处理具体方法为校验节点处理单元分为4条流水线,如图4、5和6所示。首先第I条流水线处理单元同时读取本层中APPMem的后验信息值和上一次迭代生成的CTVMem中的信息进行求差,得到本次迭代校验节点更新所需的变量节点先验信息VTC-new。针对每一个变量节点先验信息取出它们的符号,对应于本次校验节点更新所需的信息符号做异或运算,得到更新后的符号sign,同时对VTC-new取绝对值。其次,第2条和第3条流水线处理単元针对第I条流水线发送来的绝对值信息,通过比较器进行比较,求得最小值min和次小值min2。最后,第4条流水线处理单元首先将第I条流水线得到的绝对值与min进行比较,若相等,则它更新后的值为signXmin2,否则,它的更新后的值为signXmin。接着将最小和信息再乘以归一化因子,这里采用了逻辑移位的 方法来代替。同吋,为了不影响译码性能,进行了 2个比特的位扩展,得到新的校验节点传给变量节点的信息CTV-new,将它(CTV-new)传给本次的对应的CTVMem存储器中,最后,再将本次迭代得到的新的VTC-new和CTV-new进行求和,得到新的变量节点后验信息值,传给立即需要利用该信息的其它层,即对应于校验矩阵同一列矩阵块的其它层APPMem存储器,例如图3中矩阵的第2列的后验信息在层与层之间的传递如图7所示。这样每次与ー个校验节点相连的所有变量节点的更新可以同时进行,同时所有的变量节点传给该校验节点也可同时进行,最后同时更新对于变量节点的后验信息,从而实现了高呑吐率译码。进ー步的说步骤4中的码字信息读取可以从步骤3中的APPMem存储器中得到码字后验信息值进行硬判决,可減少2304X8个存储単元。而每ー个矩阵块里最新的比特后验信息,存在于不同层的APPMem中,也就是说要完成码字的判决,需要正确读取每ー个矩阵块的比特后验信息,存在于同一列矩阵块对应的APPMem存储单元的哪ー块,如图3偏移校验矩阵H的第一列的矩阵块,非零矩阵在第4、9和12,比特的后验信息也就是存储在这几个层的第一个存储器(APPMeml)中,通过对其分析可以得到第O 11比特和第73 95比特最后更新的后验信息存储在第4层的APPMeml中,第12 26比特最后更新的后验信息存储在第9层的APPMeml中,第27 72比特最后更新的后验信息存储在第12层的APPMeml中。同理我们可以推得其他2 24列矩阵块中所有比特的后验信息,存在同一列矩阵块对应的APPMem存储单元的哪ー块。根据上述的实现方法,其它码长译码器的FPGA实现方法,只需要将偏移的校验矩阵里的偏移值存入查找表,如图8和9分别码长为1152和576的偏移校验矩阵H,,这样地址产生模块中利用查找表方法得到存储器所需要的地址,其它功能模块和存储器模块不变,从而完成多种码长的LDPC码的译码。按照上述方法实施,便可很好地实现本发明。
权利要求
1.ー种适用于IEEE802. 16e标准中码率为1/2的多码长LDPC码的高吞吐率译码器结构,该译码器主要包括译码器中心逻辑控制模块、地址产生模块、缓存器模块、校验节点处理模块、码字判决模块和码字校验模块。
译码器中心逻辑控制模块用来控制整个译码器的工作过程,包括各个模块的工作状态及时序的交互,信道信息的输入控制,迭代是否继续的控制、译码结果的输出控制。
地址产生模块用来产生初始化存储器、校验节点信息更新、变量节点信息更新、码字判决、码字校验和码字输出所需要的地址,完成多种码长的LDPC码的译码。
缓存器模块输入缓存用来存储信道传来的对数似然比信息,输出缓存用来存储译码器的输出判决码字。
校验节点处理模块即整个译码器的迭代计算模块,分为12路并行处理,用来处理变量节点传给校验节点的先验信息的更新、校验节点传给变量节点的外部信息的更新和比特节点后验信息的更新,这是最为复杂也是最为重要的単元。为了有效地降低译码器的关键路径延迟,处理单元采用了逐级细化流水线的设计方法来实现,可以提高译码器电路的エ作频率和呑吐量。其中CTVMem存储器模块用来存储分层信息处理模块产生的校验节点传给变量节点的外部信息,APPMem存储器模块用来存储码字比特的后验信息。
码字判决模块分为24路并行处理,用来对一次译码迭代后的码字后验信息值进行硬判决。
码字校验模块分为12路并行处理,用来对判决后的码字进行校验,进而确定是否输出码字。
2.根据权利要求I所述的ー种适用于IEEE802.16e标准中码率为1/2的多码长LDPC码的高呑吐率译码结构,其特征在于,所述的校验节点处理单元中,根据校验矩阵中非零矩阵块为76个,设计用于存储校验节点传给变量节点信息的存储器模块CTVMem有76个,用于存储比特节点后验信息的存储器模块APPMem也有76个,以保证运算节点与存储器之间的布线连接是固定的且可以同时完成信息的处理。
所述的APPMem存储器用于存储初始化时信道对数似然值信息和译码迭代更新时比特节点的后验信息。APPMem存储器模块包含76个独立的双ロ子存储器,每个存储器的宽度为8,深度为96。
所述的CTVMem存储器用于存储译码迭代过程中校验节点传给变量节点的信息,初始化为零。CTVMem存储器模块包含76个独立双ロ子存储器,每个存储器的宽度为8,深度为96。
所述的地址产生模块利用查找表方法产生初始化存储器、校验节点更新、变量节点更新、码字判决、码字校验和码字输出所需要的地址,完成多种码长的LDPC码的译码。
3.根据权利要求2所述的ー种适用于IEEE802.16e标准中码率为1/2的多种码长LDPC码的高呑吐率译码结构,其特征在于码字判决模块的信息可以从校验节点単元中的码字后验信息APPMem存储模块读出,节省了一部分存储容量。
4.ー种适用于IEEE802. 16e标准中码率为1/2的多种码长LDPC码的高吞吐率译码结构,其特征在于,该方法包括以下步骤 步骤I :初始化存储单元,APPMem存储器模块储存输入的信道初始对数似然值信息,对应于校验矩阵的同一列矩阵块的存储器存储的信息相同,而CTVMem存储器模块存储的信息初始化为零。
步骤2:开始译码迭代。
步骤3:迭代从校验节点更新単元开始,每ー层处理单元读取同一层中CTVMem和APPMem存储器中的信息,同时对每层中一行对应的变量节点更新,得到本次迭代校验节点更新所要的变量节点先验信息,接着计算校验节点更新和比特节点后验信息,得到新的校验节点传给变量节点信息,然后传回本层CTVMem存储器中;而得到新的变量节点后验信息值,传给立即需要利用该信息的其它层,即对应于校验矩阵同一列矩阵块的其它层APPMem存储器,直到所有层的所有行更新完,本次迭代更新才算完成。
步骤4:利用查找表方法找到ー个码字最后一次更新的后验信息值,存在于同一列矩阵块对应的存储单元的哪ー块,读出APPMem中的信息进行硬判決。
步骤5 :对本次迭代获得的存于模块内的硬判决码字进行校验,当所有校验行满足校验方程或达到最大迭代次数时停止迭代,进入步骤6,否则重复步骤2 5的译码过程。
步骤6 :输出端通过查找表法将码字硬判决信息输出。
5.根据权利要求4所述的ー种适用于IEEE802.16e标准中码率为1/2的多码长LDPC码的高呑吐率译码结构,其特征在于,所述的步骤I中,根据校验矩阵中非零块矩阵的个数,对76个APPMem和CTVMem进行初始化,其中APPMem的地址大小是根据不同码长中的子矩阵维数来确定,对应同一列的APPMem的初始化比特后验信息ー样;而CTVMem的地址大小与APPMem 一祥,初始化数据置为零。
6.根据权利5所述的ー种适用于IEEE802.16e标准中码率为1/2的多码长LDPC码的高呑吐率译码结构,其特征在于所述步骤3中的信息迭代处理。具体方法为 校验节点处理单元分为4条流水线,首先第I条流水线处理単元同时读取本层中APPMem的比特节点后验信息值和上一次迭代生成的CTVMem中校验节点传给变量节点的信息进行求差,得到本次迭代校验节点更新所需的变量节点先验信息VTC-new。针对姆ー个变量节点先验信息取出它们的符号,对应于本次校验节点更新所需的信息符号做异或运算,得到更新后的符号sign,同时对VTC-new取绝对值。其次,第2条和第3条流水线处理单元针对第I条流水线发过来的绝对值信息,通过比较器进行比较,求得最小值min和次小值min2。最后,第4条流水线处理单元首先将第一条流水线得到的绝对值与min进行比较。若相等,则它更新后的值为signXmin2,否则,它的更新后的值为signXmin。接着,将最小和信息再乘以归一化因子,这里采用了逻辑移位的方法来代替。同时,为了保持译码性能,进行了 2个比特的位扩展,得到新的校验节点传给变量节点的信息CTV-new,将它(CTV-new)传给本层的对应的CTVMem存储器中。最后,再将本次迭代得到的新的VTC-new和CTV-new进行求和,得到新的变量节点后验信息APP-new,传给立即需要利用该信息的其它层,即对应于校验矩阵同一列矩阵块的其它层APPMem存储器。
7.根据权利6所述的ー种适用于IEEE802.16e标准中码率为1/2的多码长LDPC码的高呑吐率译码结构,其特征在于每次与ー个校验节点相连的所有变量节点的更新可以同时进行,同时所有的变量节点传给该校验节点也可同时进行,最后同时更新对于变量节点的后验信息。
8.根据权利7所述的ー种适用于IEEE802.16e标准中码率为1/2的多码长LDPC码的高呑吐率译码结构,其特征在于步骤4中的信息读取可以从步骤3中的APPMem存储器中得到码字后验信息值进行硬判 決。
全文摘要
本发明公开了一种基于分层NMS算法的多码长LDPC码译码器的FPGA实现方法,包括以下步骤1)对WiMax协议中码率为1/2的校验矩阵进行置换,得到新的校验矩阵,且保持原矩阵的性能。2)将新校验矩阵应用于并行分层迭代译码结构中,由地址产生模块产生译码器中存储单元的读写地址,实现多码长译码器设计。3)根据本设计中QC-LDPC码的特点,设计了一种存储器结构,使得在每路并行处理单元能够同时读取和写入信息。本发明减少了译码过程中更新信息的存储容量,有效地提高了信息更新速度,减少了译码器迭代次数,存储器的设计结构使得译码延时大大降低,提高了译码效率;同时,存储单元与更新单元的固定连线使得布线简单,降低了硬件的实现难度。
文档编号H03M13/11GK102664638SQ201210179160
公开日2012年9月12日 申请日期2012年5月31日 优先权日2012年5月31日
发明者刘星成, 林辉琛 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1