CN101136638A - 一种多码率非规则ldpc码解码器 - Google Patents

一种多码率非规则ldpc码解码器 Download PDF

Info

Publication number
CN101136638A
CN101136638A CNA2007100447157A CN200710044715A CN101136638A CN 101136638 A CN101136638 A CN 101136638A CN A2007100447157 A CNA2007100447157 A CN A2007100447157A CN 200710044715 A CN200710044715 A CN 200710044715A CN 101136638 A CN101136638 A CN 101136638A
Authority
CN
China
Prior art keywords
hpu
code
vpu
code rate
irregular ldpc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2007100447157A
Other languages
English (en)
Inventor
曾晓洋
陈赟
向波
林一帆
邓运松
鲍丹
周本根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI FUDAN MICRONANO ELECTRONICS CO Ltd
Fudan University
Original Assignee
SHANGHAI FUDAN MICRONANO ELECTRONICS CO Ltd
Fudan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI FUDAN MICRONANO ELECTRONICS CO Ltd, Fudan University filed Critical SHANGHAI FUDAN MICRONANO ELECTRONICS CO Ltd
Priority to CNA2007100447157A priority Critical patent/CN101136638A/zh
Publication of CN101136638A publication Critical patent/CN101136638A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明属于高速无线数字通信、光纤通信和磁光学存储技术领域,具体涉及一种多码率非规则LDPC码的解码器,可直接应用于前向纠错信道编码的解码中。该解码器主要包括输入输出缓存、中间数据存储器、运算逻辑、控制逻辑等部分;通过对信道信息或者其它前级模块输出信息(如解映射输出信息)进行软判决译码,获得解码比特流输出。这种设计方法适用于多种码率和可变权重(校验矩阵行重或者列重)信道编码的解码。本发明设计的解码器具有的优异的信道解码性能,相应的专用芯片已通过测试。

Description

一种多码率非规则LDPC码解码器
技术领域
本发明属于高速无线数字通信、光纤通信和磁光学存储技术领域,具体涉及一种多码率非规则LDPC码的解码器,可直接应用于前向纠错信道编码的解码中。
背景技术
随着现代通信系统向着高数据速率、大容量、高可靠性的方向发展,前向纠错编码得到了广泛应用。在各种前向纠错编码方案中,LDPC码(Low Density Parity Check Codes低密度奇偶校验码)是一种编码性能最接近香农极限的编码技术,符合现代通信系统苛刻的性能要求。在扩展无线通信系统的极限和服务范围、提高远距离视频广播系统的吞吐率和磁光刻录/存储系统的容量等方面,LDPC码表现出优异的性能和应用前景。相对于规则LDPC码,非规则LDPC码具有更加优异的性能。为了灵活地进行无差错解码,就需要提高LDPC码解码器的灵活性,实现多种码率下的实时解码。
LDPC码的性能和码长有关,码长越大,编码性能越好;同时,非规则LDPC码的性能要优于规则LDPC码,因而在要求高性能的应用中,非规则、长LDPC码是更适合的选择,而且为了使整个系统更加灵活,码率必须可变。但是,理论上,融合多种码率的LDPC解码器的存储器容量将成倍增加,从而致使芯片面积成倍增加,布线难度加剧,也将导致芯片功耗大大增加。于是,长码、多码率和非规则性等因素给LDPC解码器的VLSI(超大规模集成电路)硬件实现带来了挑战,造成了芯片内部互连和存储器实现的困难。
发明内容
本发明的目的在于提供一种可变码率非规则LDPC码的解码器,以实现LDPC码实时、灵活地解码,并且能以单码率的硬件资源使用量实现多种码率的解码。
本发明提出的多码率非规则LDPC码解码器,由输入缓存、运算逻辑(包括横向处理单元HPU和纵向处理单元VPU)、中间数据存储器、输出缓存、控制逻辑和互连网络组成,系统整体架构以多种码率融合、可变权重、数据吞吐率、芯片低功耗和芯片成本控制(芯片面积)为设计目标。为了保证数据吞吐量(解码速度),本发明的解码器采用部分并行的VLSI系统整体架构,如图1所示。共使用12组横向处理单元HPU、59个纵向处理单元VPU、1个输入缓存、1个输出缓存和2组中间数据存储器。每个HPU由3个子横向处理单元(sub_HPU)组成,图1示出了总数为r=36的sub_HPU;在图1中,H1、H2、Hr分别表示第1、2、r个横向处理模块,每个横向处理模块包含1个sub_HPU、1个控制单元、行重个存储单元;在图1中,V1、V2、Vi、Vc分别表示第1、2、i、c(值为59)个纵向处理模块,每个纵向处理模块包含1个VPU、1个控制单元、列重个存储单元。
横向处理单元。横向处理单元HPU结构是一种适合硬件复用的方案,HPU以连接8块RAM的sub_HPU为一个单元。多种码率系统使用同一个HPU,如图8所示,IN-1、IN-2、…、IN-32表示32个输入端,OUT-1、OUT-2、…、OUT-32表示32个输出端。一个32输入的HPU可以实现码率为0.4时的3行译码,或者可以实现码率为0.6时的2行译码,或者可以实现码率为0.8的一行译码。对于0.4码率的解码器单级sub_HPU单时钟周期即可完成一次HPU运算。对于0.8和0.6码率的应用,在sub_HPU的基础上增加一级流水线,花费2个时钟周期来完成一次HPU的操作。
纵向处理单元。纵向处理单元VPU实现加法运算,VPU结构是一种适合硬件复用的方案,多种码率系统使用同一种VPU。59个VPU的输入端口与码率对应的关系见表1。其中,用竖线将输入端口数作了分类,需要的VPU端口类型有3端、4端、7端、11端和16端,共5种。不同码率情况下,没有用到的端口都置0。比如第1个VPU,输入端口取三种码率的最大值4,当码率为0.6、0.8时,只需要三个端口,所以第4个端口置0,不影响VPU的输出结果。
输入缓存和输出缓存。输入缓存和输出缓存如图6所示,模块6a表示解码器核心模块;6b表示输入缓存,共59块;6c表示输出缓存,共48块。输入缓冲存储器存储一帧信道数据,然后进行译码初始化,输出缓冲存储器存储一帧判决结果数据,然后按时钟节拍输出。
中间数据存储器。中间数据存储器共两组,一组用于存储HPU结果,一组用于存储VPU结果,分别配置给HPU和VPU。不同码率、不同权重数据的存储与读取使用同一组存储器。根据校验矩阵的特点,存储器采用计数寻址。
解码运算以输入缓存模块被解映射单元写满为开始;以解码成功,或解码迭代次数超过预设值,解码失败为结束。在实现时,采用双口RAM,每块RAM由一个控制器控制实现不同码率的地址初始化、读RAM、写RAM。互连网络(interconnection network)由开关组成,依据不同的码率来实现不同的连接。HPU模块只输出所有输入的最小绝对值、次小绝对值以及符号,HPU其余的计算放在每块RAM的控制单元里完成,以大大减少全局连线,从而降低布线难度。对RAM输出到HPU的数据进行锁存后,根据HPU输入的最小和次小绝对值和符号做校正,求出不包括本身的最小绝对值和符号,然后乘以校正因子α,送入到RAM相应地址单元。VPU的时序与加入一级流水HPU一致,写地址比读地址延时三个周期。数据通过双口RAM(中间数据存储器)传导,HPU存储器的最高位(第9位)存储判决结果,当作为VPU的操作数时,舍弃该位即可。解码输出时,只输出判决结果的信息位,将校验位舍弃。
有益效果
使用该方案实现LDPC解码器的优点在于,在无额外硬件开销的情况下,实现了多种码率非规则LDPC码的解码,并且可以直接移植到规则码的解码中,因此,方案实用性和灵活性强,可以应用于多种标准对LDPC码解码的不同要求,如DTMB,DVB-S2等标准,并且可以融合多种码率。因而,可以大大加快数字通信系统的系统设计和提高系统性能。
附图说明
图1部分并行的LDPC解码器架构。
图2 VPU基本单元。
图3 HPU基本单元。
图4 解码器状态控制。
图5 LDPC输入输出缓冲器结构。
图6 VPU和HPU数据传导机制。
图7 HPU硬件结构。
具体实施方式
该方案用于DTMB“高清数字电视接收芯片”的设计中,通过了流片,在解码性能、芯片面积、数据吞吐率和多码率融合等方面都取得了良好的效果。下面给出具体实施方法:
非规则LDPC码的特点是:校验矩阵中每一行的行重(每一行中1的个数)不相等,每一列的列重(每一列中1的个数)也不相等;同时,码率可变则是体现在校验矩阵的行数不同,对应于解码器内运算单元操作数的彼此不同。这需要硬件实现的可配置性和复用,以减少硬件资源使用量,同时减少了互连线和算法内在要求的中间数据存储空间。为了保证数据吞吐量,使用部分并行的数据通路架构,在硬件实现代价(芯片面积)和实时处理能力上达到了有效保证。图1给出了LDPC解码器的VLSI结构,该结构满足解码性能、存储器复用、吞吐率和芯片面积的要求。
HPU模块只输出所有输入的最小绝对值、次小绝对值以及符号,HPU其余的计算放在每块RAM的控制单元里完成,以大大减少全局连线,从而降低布线难度。对RAM输出到HPU的数据进行锁存后,根据HPU输入的最小和次小绝对值和符号做校正,求出不包括本身的最小绝对值和符号,然后乘以校正因子α,送入到RAM相应地址单元。图7给出了HPU的硬件结构。一个HPU模块在不同码率下最多可实现3行的解码,具体如下:三种码率校验方程H的行重大概成8、16、32分布。在本文提出的方法中,当码率为0.4时,把三行的HPU合成一块,做一个32输入的HPU,每次迭代只用到3组八输入端口;当码率为0.6时,把两行的HPU合成一块,也是一个32输入的HPU,每次迭代用2组16输入端口;当码率为0.8时,一行就对应一个HPU,最多用到HPU的27个输入端。这样,不论哪种码率,一个32输入端口的HPU最多用到了27个端口,所以每块HPU只需对应27块RAM,而这种情况是在0.8码率下出现。当码率为0.4时,最多只用到24个输入端口,所以只用到了27块RAM中的24块,三块完全没有利用;当码率为0.6时,最多只用到26个输入端口,所以只用到了27块RAM中的26块,一块完全没有利用。0.4码率不用四组8输入端口,因为RAM的利用率比三组更低。在进一步减少全局互连上,使用了优化的数据存储局部化方法。
HPU以连接8块RAM的sub_HPU为一个单元。对于0.4码率的解码器单级sub_HPU单时钟周期即可完成一次HPU运算。对于0.8和0.6码率的应用,在sub_HPU的基础上增加一级流水线,花费2个时钟周期来完成一次HPU的操作。由于HPU结构是高度流水的,因此完成一次水平过程只比0.4码率增加一个时钟周期的延时。整个单元对于0.4码率花费129个时钟周期完成运算,对于0.6和0.8码率花费130个时钟周期完成运算。执行运算共花费127个周期,由于运算结果需经寄存器锁存之后再重新写入RAM,写地址相对于读地址有两个周期的延时,因此共花费128个周期。这一过程见图3所示的sub_HPU与控制单元、存储单元和互连网络结构图。
三种码率下,VPU的个数都是59个。VPU实现加法。不同码率下,每个VPU的输入端口各不相同。输入端口个数的分布如表1所示。不同码率情况下,没有用到的端口都置0。比如第一个VPU,输入端口取三种码率的最大值4,当码率为0.6、0.8时,只需要三个端口,所以第4个端口置0,不影响VPU的输出结果。VPU的时序与加入一级流水HPU一致,写地址比读地址延时三个周期。这一过程见图2所示的VPU与控制单元、存储单元和互连网络结构图。在进一步减少全局互连上,使用了优化的数据存储局部化方法。
采用双口RAM,每块RAM由一个控制器控制实现不同码率的地址初始化、读RAM、写RAM。互连网络(interconnection network)由开关组成,依据不同的码率来实现不同的连接。
整个解码运算以输入缓存模块被解映射单元写满为开始;以解码成功,或解码迭代次数超过预设值,解码失败为结束。控制状态机如下图4所示。系统初始处于空闲状态;等待输入缓存写满后进入加载状态;在将初始比特信息写入各个RAM之后(花费128个周期)进入HPU和硬判决操作;在129或130个时钟周期之后(对0.4码率,花费129个周期,对其他码率花费130个周期)进入VPU;在经历130个周期后返回HPU和硬判决状态;如此往复迭代直至解码成功或超时出错。
为了提高速度,充分利用每帧的有效时钟周期,输入到LDPC的初始化数据先存入59个缓冲器,然后用127个时钟周期进行并行初始化。这样做的目的是,将LDPC初始化时间减少至127个时钟周期,节省时间用以LDPC迭代译码。而写59个缓冲器是独立控制的,只要初始化操作完成缓冲器被清空,就可以由解映射模块写入下一帧LDPC数据。同理,输出也是并行输出,但只输出信息比特丢弃校验比特,以节省输出缓存占用的面积。输入输出结构如图5所示。
每次迭代的硬判决结果实际上只需要lbit存放,所有存放信息的双口RAM扩展一位,存放硬判决结果。这样减少了RAM的个数,有利于面积的优化。硬判是在横向操作里做的,所以当迭代处于VPU状态时,送入到VPU的信息舍去了最高位,这种VPU和HPU数据传导机制如图6所示。
表1:59个VPU的输入端口数分配表
0.4码率4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 111111111 111111111
0.6码率3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 16161616
0.8码率3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 111111111 111111111
VPU端口4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 7 7 7 7 111111111 161616161

Claims (8)

1.一种多码率非规则LDPC码解码器,其特征在于由输入缓存、运算逻辑、中间存储器、输出缓存、控制逻辑和互连网络组成,采用部分并行的VLSI系统整体架构,其中,运算逻辑包括横向处理单元和纵向处理单元,分别记为HPU和VPU;系统采用12组HPU、59个VPU、1个输入缓存、1个输出缓存和2组中间数据存储器;每个HPU由3个子横向处理单元组成,子横向处理单元记为sub_HPU;共分为12个横向处理模块和59个纵向处理模块,每个横向处理模块包含1个sub_HPU、1个控制单元、行重个存储单元;每个纵向处理模块包含1个VPU、1个控制单元、列重个存储单元。
2.根据权利要求1所述的多码率非规则LDPC码解码器,其特征在于所述的横向处理单元采用适合硬件复用的方案,它以连接8块RAM的sub_HPU为一个单元,多种码率系统使用同一个HPU。
3.根据权利要求1所述的多码率非规则LDPC码解码器,其特征在于所述的纵向处理单元实现加法运算,其结构采用适合硬件复用的方案,多种码率系统使用同一种VPU。
4.根据权利要求1所述的多码率非规则LDPC码解码器,其特征在于所述的输入缓存共有59块,输出缓存共有48块;输入缓冲存储器存储一帧信道数据,然后进行译码初始化,输出缓冲存储器存储一帧判决结果数据,然后按时钟节拍输出。
5.根据权利要求1所述的多码率非规则LDPC码解码器,其特征在于所述的中间数据存储器共有两组,一组用于存储HPU结果,一组用于存储VPU结果,分别配置给HPU和VPU;不同码率、不同权重数据的存储与读取使用同一组存储器。
6.根据权利要求2所述的多码率非规则LDPC码解码器,其特征在于所述多码率系统使用同一个HPU,对于具有32个输出端和32个的输出端的系统,一个32输入的HPU实现码率为0.4时的3行译码,或者实现码率为0.6时的2行译码,或者实现码率为0.8的一行译码。
7.根据权利要求3所述的多码率非规则LDPC码解码器,其特征在于所述多码率系统使用同一个VPU,其59个的VPU的输入端口与码率对应的关系如下所示:
0.4码率 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 111111111 1111111111 0.6码率 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 1616161616 0.8码率 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 111111111 1111111111 VPU端口 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 7 7 7 7 1111111111 1616161616
8.根据权利要求1所述的多码率非规则LDPC码解码器,其特征在于所述的互连网络由开关组成,依据不同的码率实现不同的连接。
CNA2007100447157A 2007-08-09 2007-08-09 一种多码率非规则ldpc码解码器 Pending CN101136638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007100447157A CN101136638A (zh) 2007-08-09 2007-08-09 一种多码率非规则ldpc码解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007100447157A CN101136638A (zh) 2007-08-09 2007-08-09 一种多码率非规则ldpc码解码器

Publications (1)

Publication Number Publication Date
CN101136638A true CN101136638A (zh) 2008-03-05

Family

ID=39160516

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100447157A Pending CN101136638A (zh) 2007-08-09 2007-08-09 一种多码率非规则ldpc码解码器

Country Status (1)

Country Link
CN (1) CN101136638A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771421A (zh) * 2010-03-11 2010-07-07 复旦大学 基于tdmp的超高速低功耗qc-ldpc码解码器
CN101355406B (zh) * 2008-09-18 2011-08-31 上海交通大学 分层的非规则低密度校验码译码器及译码处理方法
CN101854178B (zh) * 2009-04-01 2013-01-30 中国科学院微电子研究所 一种低功耗的ldpc译码器
CN104837078A (zh) * 2015-03-31 2015-08-12 北京交通大学 基于非匹配度量的光通信信道解映射方法和装置
US10574264B2 (en) 2014-03-11 2020-02-25 Zte Corporation Method and apparatus for supporting low bit rate coding, and computer storage medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101355406B (zh) * 2008-09-18 2011-08-31 上海交通大学 分层的非规则低密度校验码译码器及译码处理方法
CN101854178B (zh) * 2009-04-01 2013-01-30 中国科学院微电子研究所 一种低功耗的ldpc译码器
CN101771421A (zh) * 2010-03-11 2010-07-07 复旦大学 基于tdmp的超高速低功耗qc-ldpc码解码器
CN101771421B (zh) * 2010-03-11 2012-10-17 复旦大学 基于tdmp的超高速低功耗qc-ldpc码解码器
US10574264B2 (en) 2014-03-11 2020-02-25 Zte Corporation Method and apparatus for supporting low bit rate coding, and computer storage medium
CN104837078A (zh) * 2015-03-31 2015-08-12 北京交通大学 基于非匹配度量的光通信信道解映射方法和装置
CN104837078B (zh) * 2015-03-31 2019-04-30 北京交通大学 基于非匹配度量的光通信信道解映射方法和装置

Similar Documents

Publication Publication Date Title
CN101777921B (zh) 用于显式存储片上系统的结构化ldpc码译码方法及装置
CN101252694B (zh) 基于块的视频解码的帧存储压缩和地址映射系统
CN101527849B (zh) 集成视频解码器的存储系统
CN101136638A (zh) 一种多码率非规则ldpc码解码器
CN102075198B (zh) 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
CN101800619B (zh) 一种基于块交织的交织或解交织方法及其装置
CN100566183C (zh) 分层准循环扩展构造的ldpc码的编码器
CN101667887A (zh) 编码方法及其装置、解码方法及其装置
CN102208005A (zh) 一种2-d卷积器
CN101604975A (zh) 一种低功耗多模qc-ldpc码解码器及其工作方法
CN100555879C (zh) 一种ldpc码的编码器装置及编码方法
CN101489135B (zh) 一种方便ldpc长码在fpga实现的编码器及编码方法
CN104092615A (zh) 具有网络编码功能的片上网络及其网络拓扑和路由算法
CN105975251A (zh) 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法
CN102857756A (zh) 适于hevc标准的变换编码器
CN103369326A (zh) 适于高性能视频编码标准hevc的变换编码器
CN102075197A (zh) 一种ldpc译码方法
CN110555512B (zh) 一种二值卷积神经网络数据重用方法及装置
CN101938330A (zh) 一种多码率Turbo码译码器及其存储资源优化方法
CN102340317A (zh) 结构化ldpc码的高吞吐率译码器结构及方法
CN101707510A (zh) 一种高速Turbo译码方法和装置
CN101640791A (zh) 一种解码方法、装置和解码器
CN111030780A (zh) 一种可配置并行比特分组交织器及交织方法
CN1118033C (zh) 3780点离散傅里叶变换处理器系统
CN1166134C (zh) 用于atm交换结构中的流水线式共享存储器读写方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20080305