CN102394661A - 基于层译码处理的ldpc译码器及译码方法 - Google Patents
基于层译码处理的ldpc译码器及译码方法 Download PDFInfo
- Publication number
- CN102394661A CN102394661A CN2011103512347A CN201110351234A CN102394661A CN 102394661 A CN102394661 A CN 102394661A CN 2011103512347 A CN2011103512347 A CN 2011103512347A CN 201110351234 A CN201110351234 A CN 201110351234A CN 102394661 A CN102394661 A CN 102394661A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- check
- decoding
- unit
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 48
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 30
- 230000015654 memory Effects 0.000 claims abstract description 24
- 239000011159 matrix material Substances 0.000 claims description 69
- 230000006870 function Effects 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000012804 iterative process Methods 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000009977 dual effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000011541 reaction mixture Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及信道编码技术领域,公开了一种基于层译码处理的LDPC译码器,包括:节点更新处理单元,对校验节点信息以及变量节点信息进行更新运算;变量节点存储单元,对初始化信息以及更新的变量节点信息进行存储;校验节点存储单元,存储更新的校验节点信息;寻址与偏移控制ROM配置组,用于配置各种译码控制信号;循环移位网络,对变量节点读出的数据循环移位;输出缓存器,存储译码过程中的判决比特;地址信号控制器,对LDPC译码器中所用的存储单元进行寻址;译码时序控制器,对节点更新处理单元的运算进行定序,并对节点更新处理单元与存储单元间的数据交换进行控制。本发明能解决常规LDPC译码器中硬件资源耗用多以及互连复杂度高、不易通用的问题。
Description
技术领域
本发明涉及信道编码技术领域,具体涉及一种基于层译码处理的LDPC译码器及译码方法。
背景技术
自从Shannon提出信道编码定理以后,编码研究者们一直致力于寻找性能上尽可能地接近Shannon极限,而复杂度又较低的可以实现的信道编码方案。
LDPC码(低密度奇偶校验码)最早出现于1962年Gallager提出的二元规则LDPC码,它可看作一个具有稀疏校验矩阵(校验矩阵中“1”的数量很少)的线性分组码。其在AWGN(加性高斯白噪声)信道下的性能接近Shannon极限且实现复杂度低。LDPC码是线性分组码的一种,它的校验矩阵是一种稀疏矩阵,也就是矩阵中除很少一部分元素非零外,其他大部分元素都是零。Tanner在1981年推广了LDPC码并给出了LDPC码的图表示,即所称的Tanner图。
与Turbo相比,LDPC码具有描述简单、译码复杂度低、可以并行实现、实用灵活、具有较低的错误平层等优点。2003年LDPC码被欧洲DVB-S2采纳为标准;随着理论研究的进一步深入,LDPC码将有可能在第四代移动通信系统中得到实际应用。由于LDPC码的优越性能,越来越多的实际通信系统开始逐渐将其作为纠错编码方案的备选方案,这也推动了将LDPC码实用化的研究。如Flarion公司开发的flash-OFDM移动无线芯片组采用LDPC码作为纠错方案,可用于基于IP的移动宽带网,大大增加了传输距离,增强了对无线信道环境的抵抗能力,数据速率可达3Mbit/s。VOCAL Technologies Ltd.推出了一种用于WLAN(无线局域网)的LDPC/Turbo不对称解决方案,下行链路采用LDPC码,上行链路采用Turbo码,可以实现节能的目的。
目前LDPC译码器通常采用专用的硬件电路,通过并行或者部分并行的结构来实现。然而固定的结构很难满足不同参数校验矩阵结构的LDPC码译码。采用传统的软件方法虽然可以实现LDPC译码的通用性,但是对于复杂的信息处理尤其是校验节点更新将消耗大量的运算时间,很难实现高效的译码吞吐量。而另外一面,实际系统为了满足不同用户的需求,往往采用多种混合参数的信道编码。因此研究一种高效、灵活通用的译码器实现架构及译码方法成了当前一件非常具有意义的任务。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何解决常规LDPC译码器中硬件资源耗用多以及互连复杂度高、不易通用的问题。
(二)技术方案
为解决上述技术问题,本发明提供了一种基于层译码处理的LDPC译码器,包括:
节点更新处理单元,用于对迭代过程中的校验节点信息以及变量节点信息进行更新运算;
变量节点存储单元,用于对迭代过程中的初始化信息以及更新的变量节点信息进行存储;
校验节点存储单元,用于存储迭代过程中更新的校验节点信息;
寻址与偏移控制ROM配置组,用于配置迭代过程中的各种译码控制信号;
循环移位网络,用于对变量节点读出的数据进行循环移位;
输出缓存器,用于存储译码过程中的判决比特;
地址信号控制器,用于对所述LDPC译码器中所用的所述变量节点存储单元和校验节点存储单元进行寻址;
译码时序控制器,用于对所述节点更新处理单元的运算进行定序,并对所述节点更新处理单元与所述校验节点存储单元和变量节点存储单元间的数据交换进行控制。
优选地,所述变量节点存储单元采用双端口RAM的存储器架构,大小为2倍帧长。
优选地,所述寻址与控制ROM配置组采用首轮迭代译码控制表、次轮迭代译码控制表、译码判决输出控制表三表依次存储的方式,对于不同码率校验矩阵使用不同的配置表以及映射规则。
优选地,所述循环移位网络采用库函数来实现桶形移位。
优选地,所述节点更新处理单元包括:
第一减法器单元,用于将获得校验矩阵中的各行非零元素所对应的变量节点信息与校验节点信息的LLR差值,差值个数等于节点更新处理单元所处理的节点所在行的度数;
第一存储器单元,用于对输入的变量节点信息与校验节点信息的差值信息进行存储,所述差值信息包括幅度与符号;
第一选通器单元,用于对参与第一异或电路单元输出的符号与初始化值之间进行选通,该第一选通器单元每隔di个时钟周期工作一次,di对应校验矩阵第i行的度;
第二选通器单元,用于对参与第一比较器单元输出的比较值与初始最大化的绝对值之间进行选通,该第二选通器单元每隔di个时钟周期工作一次;
第一异或电路单元,用于执行节点运算中每一行n∈N(m)的符号连乘运算,n表示变量节点,m表示校验节点,N(m)表示和校验节点m相邻的所有变量节点的集合;
第二异或电路单元,用于执行节点运算中校验节点符号信息的更新;
第一比较器单元,用于通过比较运算来产生当前输入的待比较节点的对数似然比LLR差值的绝对最小值;
第二比较器单元,用于通过比较运算来产生当前输入的待比较节点的LLR差值的绝对次最小值;
第三比较器单元,用于通过比较运算来执行节点运算中校验节点的幅度信息的更新;
第一加法器单元,用于执行节点运算中变量节点信息的更新。
优选地,所述第一比较器单元、第二比较器单元及第三比较器单元执行的比较运算采用双比较器并行冒泡比较的方式进行。
优选地,所述LDPC译码器的迭代过程与译码输出过程均采用时分复用的方式进行,只使用一个桶形移位器,且采用基于层译码的最小和算法实现。
本发明还提供了一种应用所述的译码器进行译码的方法,包括以下步骤:
S1、初始化:在所述译码时序控制器的控制下将信道后验概率的对数似然比LLR值作为初始化信息逐个地写入所述变量节点存储单元的双端口RAM,当写完一帧的初始化信息时完成初始化工作,进入译码处理阶段;同时还确定各种译码控制参数,以产生各种控制时序以及完成时序任务的调度;
S2、校验节点信息的更新运算:所述译码时序控制器与地址信号控制器共同控制所述节点更新处理单元对校验矩阵的校验节点信息进行更新,输入为与同一个校验节点相连的各个变量节点的变量信息,输出为更新后的、此校验节点传递给与之相连的变量节点的校验节点信息;
S3、变量节点信息的更新运算:所述译码时序控制器与地址信号控制器共同控制所述节点更新处理单元对校验矩阵的变量节点信息进行更新,输入为与同一个变量节点相连的各个校验节点的校验信息,输出为更新后的、此变量节点传递给与之相连的校验节点的变量节点信息;
S4、重复步骤S2~S3,直到满足子循环次数,即达到校验矩阵中子块行数;
S5、重复步骤S2~S4,进行迭代,直到满足迭代停止条件。
优选地,步骤S2与S3的更新运算按以下步骤进行:
S201、数据输入预处理:获得变量节点信息与校验节点信息的差值信息,所述差值信息包括幅度与符号;
S202:差值信息的存储:在减法操作的同时将步骤S201获得的差值信息存储到相应的存储单元;
S203:最小值与次小值的查找:采用双比较器并行的冒泡排序法查找当前存储的幅度中的最小值与次小值;
S204:符号位的判决:首先获取当前输入数据符号位的累乘值,然后逐个更新当前的校验节点的输出符号信息;
S205:节点LLR值更新:根据当前的步骤S202输出与步骤S203查找到的最小值与次最小值以及步骤S204获取的所述累乘值进行校验节点的LLR值更新;变量节点信息的更新为当前输出的LLR差值与更新后相应的校验节点LLR值之和。
(三)有益效果
与传统译码器架构相比,本发明设计的译码器的硬件架构基于译码子块布局,采用优化的循环移位网络与控制电路最大限度地避免了进行硬线分块与选通,对于不同的码阵、不同码率、不同码长只需要对控制存储器进行初始软配置,因而可以灵活方便地对各种参数LDPC码进行译码,总的资源消耗与单参数LDPC码中子块最大行并行度的译码所耗费资源相当。译码器通过优化的移位网络与存储控制,处理时延与子块中行的度数成线性关系,因而最大限度地减小了单次译码迭代所用的时钟周期。从而可提高译码的吞吐量,满足高速数据处理要求,同时也大大简化了译码控制逻辑。应用本发明提供的译码器和译码方法,可高效兼容不同编码码阵、不同码率、不同码长的LDPC码进行译码。
附图说明
图1为本发明的LDPC译码所用的奇偶校验矩阵示意图;
图2为本发明的不同码率LDPC译码器设计时所用的奇偶校验矩阵的一个示例;其中(a)为对应码率为1/2的校验矩阵,(b)为对应码率为2/3的校验矩阵,(c)为对应码率为3/4的校验矩阵;
图3为本发明的基于层译码迭代处理步骤的实现流程图;
图4为本发明实施例的支持混合码率的LDPC译码器设计框图;
图5为本发明实施例的CNPU节点处理电路的设计框图;
图6为本发明实施例的译码控制时序。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明的译码器与译码方法,能够对兼容多种不同参数(码阵、码长、码率)的LDPC码字进行译码。为叙述方便,对以不同码率译码过程进行描叙。规定对高、中、低不同码率的LDPC码进行译码,这些LDPC码的码长相等,它们所对应的奇偶校验矩阵被划分为若干个大小为a×a的子块,每个子块都用循环行列式或0矩阵填充,并且不同码率对应的子块大小也相等,因此,不同码率对应的奇偶校验矩阵有相同的列块数,记为p。
需要说明的是,本发明中,存储单元有时也称为存储器。
本发明提供的LDPC译码器包括:
节点更新处理单元(以下简称CNPU),其对译码迭代过程中Tanner图所对应的校验节点信息以及变量节点信息进行更新运算;
变量节点存储单元,它具有两个功能,其一为对译码器初始输入信息进行存储,其二对每次迭代过程中的变量节点更新信息进行存储;
校验节点存储单元,用于存储迭代过程中更新的校验节点信息;
寻址与偏移控制ROM配置组,用于配置译码迭代过程中各种译码控制信号,如各个存储块的读写地址,桶形移位器的偏移参数等;循环移位网络,用于对变量节点读出的数据进行循环移位;
输出缓存器,用于存储译码过程中的判决比特;
地址信号控制器,用于对所述LDPC译码器中所用的所述变量节点存储单元和校验节点存储单元进行寻址;
译码时序控制器,对节点更新处理单元的运算进行定序,并对它与存储单元间的数据交换进行控制。由于对于不同的码率,奇偶校验矩阵具有相同的列块以及相同的子块大小,因此CNPU所处理节点数不改变,仍为a个。对于多码率译码器而言,其每个存储单元的存储深度应为2×p(即是2倍列块数大小),因而需要更改的只是寻址与控制ROM配置组的配置参数。校验节点存储与各行的度分布有关,其总的存储单元数为其中dc(i)为奇偶校验矩阵中第i行的度,qm为对应奇偶校验矩阵中的总行数。寻址与控制ROM配置组根据不同的码率进行配置,使得存储单元读出的数据与CNPU一一对应。
上述CNPU具有a个,分别包括:
第一减法器单元,其将获得校验矩阵中的各行非零元素所对应的变量节点信息与校验节点信息的LLR差值,其个数等于CNPU所处理节点对应所在行的度数;
第一存储器单元,其对输入的变量节点信息与校验节点信息的差值信息进行存储;
第一选通器单元,其对参与第一异或电路输出的符号与初始化值‘0’电平之间进行选通,以供后续的符号信息更新操作使用;
第二选通器单元,其对参与第一比较器输出的比较值与初始最大化的绝对值之间进行选通。
第一异或电路单元,完成节点运算中每一行n∈N(m)的符号连乘运算;n表示变量节点,m表示校验节点,N(m)表示和校验节点m相邻的所有变量节点的集合;
第二异或电路单元,完成节点运算中校验节点符号信息的更新;
第一比较器单元,比较产生当前输入的待比较节点的对数似然比(LLR)差值的绝对最小值;
第二比较器单元,比较产生当前输入的待比较节点LLR差值的绝对次最小值,
第三比较器单元,完成节点运算中校验节点幅度信息的更新;
第一加法器单元,完成节点运算中变量节点信息的更新。
下面,首先描述用于本实施例的奇偶校验矩阵。
奇偶校验矩阵又称H矩阵,如图1所示,由q×p个Aij(1≤i≤q,1≤j≤p)矩阵组成,Aij作为H矩阵的子矩阵,是0矩阵或循环行列式构成的a×a方阵,且该循环行列式的重量很小。在实施例中,Aij为由单位阵循环移位而得的a×a方阵或0矩阵。从图1中可见,每一个子矩阵Aij中的斜线表示为矩阵元素为“1”的元素位置的轨迹,而其它空白位置上的元素为“0”。在构成H矩阵的p×q个子矩阵Aij的每一行和每一列中,只有一个元素值为“1”的位置。所以,在整个H矩阵的每一行和每一列中,元素值为“1”的位置数分别为m’和n’,其中m’是H矩阵的一个子矩阵行(Ai1……Aip)中非0矩阵的个数,称为行重;n’是H矩阵的一个子矩阵列(A1j……Aqj)中非0矩阵的个数,称为列重。并且,对于H矩阵中每一行的m’值可以相同也可以不相同,同样地,每一列的n’值可以相同也可以不相同。若H矩阵中每一行的m’值相同并且每一列的n’值也相同,则此H矩阵对应的LDPC码为规则码,否则为非规则码。此H矩阵共有p×a列,那么对应地,LDPC码字的码长为p×a;此H矩阵共有q×a行,那么对应LDPC码字的校验位长度为q×a,于是此H矩阵对应LDPC码字的信息位长度为(p-q)×a,所以,对应的LDPC码字的码率(信息位长度/码长)为(p-q)/p。
如图2所示,(a)中校验矩阵(标记为H0)的行重为6或者7,列重分别为2、3,6,对应的LDPC码字的码率为1/2;(b)中校验矩阵(标记为H1)的行重为9或10,列重分别为2,3,6;对应的LDPC码字的码率为2/3。(c)中校验矩阵(标记为H2)的行重为14、15、16。列重分别为2,3,4,5;对应的LDPC码字的码率为3/4。
本领域内公知,H矩阵的每一行可以被视为一个奇偶校验方程,对应于H矩阵的第i行的奇偶校验方程被称为第i奇偶校验方程,对应于该H矩阵的LDPC码字,当且仅当上述码字满足H矩阵的所有奇偶校验方程,也就是q×a个奇偶校验方程,才能译码成功,得到正确的信息。
而要使译码算法对每组LDPC码进行译码,需要迭代运算,反复交替地进行校验节点更新和变量节点更新运算。本发明中LDPC码译码采用层译码处理,如果LDPC码的校验矩阵是由q行组成,那么可以看成是由q层或者q个子码连接而成。每一层的校验节点处理完成之后,消息立即被用来更新变量节点。它的结果被用来提供给下一层的校验节点处理。层译码处理中的每个译码循环都有q个子循环。在译码开始的时候,变量节点的消息被初始化为信道的后验概率LLR值,这被用来处理第一层时的校验节点更新,第一层的校验节点更新完成后,变量节点用新的校验节点的值更新,这样就完成了一个子循环。然后以相同的方式,第二层中的校验节点处理的结果迅速被用来更新变量节点值,更新后的变量节点值是为第三层中的校验节点处理时准备的。若是在每一层内采用最小和算法,则对于每个子块内采用基于层译码的算法可以按下面的算式顺序来执行:
其中,表示在第i个循环从变量节点n传播到校验节点m的消息,初始化状态下为信道的后验概率LLR值 表示在第i个循环从校验节点m传播到变量节点n的消息,初始化状态下为0;pn表示变量节点n的后验LLR;M(n)表示和变量节点n相邻的所有校验节点的集合,N(m)表示和校验节点m相邻的所有变量节点的集合。N(m)\n表示N(m)中除去变量节点n之外的集合。其后对pn进行判决输出,当pn≥0时,当pn<0时,如果迭代次数达到设定的最大迭代次数时,仍然不满足,则结束译码,就是译码器输出,否则继续译码,重复式(2)~(4)。在迭代的时候,会同时对判决信息进行校验。
实施例1:
本实施例用于图2所示H0中所对应的1/2码率LDPC码的译码。如图4所示,本实施例中的译码器包括以下部分:
节点更新处理单元CNPU集合,共包括a个节点更新处理单元,分别为40_1,......40_x,40_a。在本实施例中,校验矩阵H0的行块数q0为12,列块数p0为24,单位循环阵大小a为96,因此CNPU个数与单位循环阵大小a相等,每一个CNPU对应于校验矩阵中的一个行列方程式。CNPU完成迭代过程中Tanner图中所对应的校验节点信息以及变量节点信息的更新运算;其中校验节点更新运算单元CNU集合为50,共包括a个节点更新处理单元,分别为50_1,......50_x,50_a;校验节点存储单元,分别为10_1,......10_x,10_a;变量节点存储单元20,分别为20_1,......20_x,20_a;变量节点存储单元由a个存储块组成,分别对应a个CNPU。对于每一个存储块又分别设置m1、m2两个存储小块,m1、m2存储小块的存储深度各设置为p0。
寻址与偏移控制ROM配置组60用来配置整个译码迭代过程中的控制参数,如迭代存储器的读写地址以及循环移位网络的偏移地址等。
循环移位网络70用来对变量节点读出的数据循环移位,其移位参数由校验矩阵Aij中的值而定。
输出缓存器80用来存储译码过程中的判决比特,共有a个存储单元,每个存储单元深度为p0-q0,大小为1bit,共占用a×(p0-q0)bit。在译码判决输出过程中,要完成译码判决信息的输出,需要p0-q0个处理时钟周期,因而对于一帧数据的连续译码(共占用a×(p0-q0)个处理时钟周期),需要译码输出调整器90来完成数据的并串变换。
地址信号控制器00,用于控制变量节点存储单元、校验节点存储单元、译码输出缓存器的写入与读出,并在变量节点存储单元、校验节点存储单元、译码输出缓存器的写入与读出时,给出相应的校验节点存储单元、变量节点存储单元、译码输出缓存器的读写地址以及存储与寻址与偏移控制ROM配置组60所读出的偏移地址。
译码时序控制器01,对更新、迭代过程进行定序,完成整个电路的时序安排与调度。
上述变量节点存储单元中,采用双端口RAM的存储器架构,采用2倍帧长大小,因而这样设置变量节点存储单元能使得初始化数据与译码更新同时进行,实现数据的乒乓读写,并且译码处理时钟周期能有效控制在一帧码长内。
上述校验节点存储单元中,校验节点的存储器结构与CNPU相对应,也分a个存储块进行相应存储。其存储的是对应校验矩阵中q0个行块所对应的每一行中非零元素所在位置的校验节点更新值,因而其存储单元数目与各行的度分布有关,其总的存储单元数为其中di为校验矩阵中第i行的度,qm为对应奇偶校验矩阵中的总行数。
上述寻址与偏移控制ROM配置组60中,采用由首轮迭代译码控制表、次轮迭代译码控制表、译码输出控制表三个表格依次存储的方式,如图7所表示。每个存储表的存储单元按照行起始标志、列号、偏移地址、行结束标志的14bit统一封装格式。其中第14bit用来表示行起始标志,第13-9bit用来表示矩阵中Aij非零元素所在的列号,第8-2bit用来表示校验矩阵中Aij所对应的循环移位偏移值,第1bit用来存储行结束标志。其中偏移地址是整个移位网络设计的关键,由于电路中经过CNPU节点处理后的变量节点信息直接以偏移后的数据回填,因而可以采用绝对偏移与相对偏移地址联合控制的方式,每次当超码对应列的首次操作时,采用绝对偏移地址进行控制;当超码操作对应该列的非首次操作时,以上一次迭代的偏移地址为基准进行相对偏移。另外需要重点注意的是,次轮迭代中超码对应列的首次操作的相对偏移基准是上轮迭代中对应该列的最后一次操作的偏移地址。如表7中,相对偏移1′......相对偏移6′分别对应的是对上轮迭代中对应2、3、9、10、13、14列最后一次偏移后相对偏移。
上述循环移位网络70中,采用桶形移位器来实现数据的移位与交换,传统的桶形移位器设计采用分级移位的方式,每一级都需要一个clk延迟,这样当移位级数增加时,每次节点移位操作所需要的时钟处理周期与移位级数呈线性增加,这样处理非常不利于高吞吐量场合,因此采用库函数来实现桶形移位,桶形移位器的输出延迟与移位参数无关,只为一个clk延迟(时钟延迟),在算法实现中由于CNPU节点处理单元采取串行方案,每个时钟周期只对一个节点进行操作,同时采用时分复用的方式将译码输出与译码迭代过程都共用一个桶形移位器,因而对于译码迭代过程中的循环移位操作只需要一个桶形移位器,从而有效地节约了资源,提高了处理效率。
本发明中,整个译码器电路译码迭代与译码输出过程采用时分复用的方式,只使用一个桶形移位器,有效地节约了实现资源。且循环移位参数采用绝对参数与相对参数相结合的方式,循环移位后数据直接参与下一次的迭代处理操作,从而节约了译码处理时延。采用基于层译码的最小和算法,译码器对应于每一次迭代共需要N_clk=2×di+3,(i=1,2...,a)个处理时钟周期。
下面描述本发明中译码器中的节点处理运算单元即CNPU。
如图5所示的CNPU结构为实例所用的CNPU结构,40_1,......40_x,40_a单元均采用此结构。CNPU包括第一减法器单元400,有两个输入项,分别对应校验节点存储单元和变量节点存储单元的输出。第一存储器单元401,共有x个存储单元,分别是401_1,......401_x。第一选通器单元402,有两个输入项,第二选通器单元403,有两个输入项。第一异或电路单元404,第二异或电路单元405,有两个输入项,第一比较器单元406,有两个输入项,第二比较器单元407,有两个输入项,第三比较器单元408,有两个输入项,第一加法器单元409,有两个输入项。上述代表数值的字母均为整数,下同。
上述CNPU结构依据前述式(1)~(4)进行设计,上述x的值为此CNPU的输入节点数目。在本实施例中,x的值取6或者7。第一选通器单元用于初始化第一减法器单元,是对应式(2)中的减法操作;第一比较器单元,第二比较器单元是为了完成式(3)中n′∈N(m)/n的min函数,其中,第一比较器单元是为了获得当前比较数据的绝对最小值,第二比较器单元是为了获得当前比较数据的绝对次最小值;第三比较器单元,最终完成式(3)中校验节点幅度信息的更新。第一异或电路单元是为了完成n∈N(m)中的符号连乘运算,第二异或电路单元是为了完成式(3)中校验节点符号信息的更新。第一加法器单元,完成式(4)中的加法操作。
下面描述译码器的译码步骤。以下的叙述将结合图4所示的译码器结构示意图、图5所示的CNPU节点处理图,图6所示的译码控制时序对迭代运算顺序和具体计算方法进行说明。
初始化步骤:当接收到来自信道的LDPC码字后,首先由控制器单元控制执行初始化步骤。
在初始化步骤中,根据用户所选择的用户码率,由时序控制器完成译码前控制参数的初始化。主要包括根据当前矩阵确定迭代次数,以及配置寻址与偏移控制ROM配置组60中的配置参数,初始化后的控制参数通过时序控制送至地址信号控制器和循环移位网络。地址信号控制器控制外部输入的信道初始化信息-2rj/σ2依次地写入a个变量节点存储单元中,当存储单元的写入地址达到p0时,也即意味着写完一帧信息,此时产生译码标志信号,通知进行译码操作。
第一迭代步骤:在本步骤中,根据初始化阶段所产生的控制参数,由控制器单元控制a个CNPU对相应的校验节点以及变量节点信息进行更新。如图4所示的译码器中具有a个CNPU,它们分别对应a个校验存储器集合10_1至10_a,对于不同的码率不需要再进行分块,因此下面的叙述对于不同的码率同样适应。
由地址信号控制器00控制a个CNPU:40_1,......40_a单元分别从对应的a个变量节点存储单元中将式(1)中pn的初值取出,读到相应的循环移位网络70中的输入端口,其中上述中的初值为每一个校验节点所属列j对应的从信道中接收的一组LDPC码字中每个码字对应的后验概率LLR值。
在取数时序结束之后,由译码时序控制器01控制寻址与偏移控制ROM配置组60输出的偏移化参数开始控制循环移位网络70中的循环移位,循环移位操作在一个时钟周期内完成。循环移位后的值将作为的初始值参加后续的校验节点更新运算。
在CNPU处理时序中,40_1,......40_a单元分别将循环移位后数据送与节点运算单元完成式(1)-(4)的运算,40_1,......40_a单元并行执行,因而每个处理周期可完成一个行块的运算。由于数据是串行输入,因此在CNPU中节点的运算处理是流水线执行,规定在T1时序内完成的是节点序号1的减法操作,在T2时序内完成的是节点序号2的减法操作,同时节点序号1的比较操作与符号操作,同理在T3时序内完成的是节点序号3的减法操作,节点序号2的比较操作与符号操作,同时节点序号1的移位存储操作,依次类推。直到Tdi(i=1,2......Nloop)时序,可完成所有校验节点和变量节点的更新,如图6所示为CNPU的处理时序。
上述CNPU处理时序中,节点采用最小和串行处理算法步骤为:
数据输入预处理:变量节点LLR值(P_cv)与校验节点LLR值(R_cv)相减,得到差值的绝对值Q_tmp与符号位sign(Q_tmp)。
Q_tmp的存储:预处理后的数据Q_tmp可通过移位寄存器逐级锁存或RAM存储,可由外部产生的起始、结束控制标志来控制输入数据的存储或移位。
查找最小值与次小值:采用双比较器并行的冒泡排序法查找当前存储的Q_tmp中的最小值与次小值,具体过程如下:
步骤1:首先每隔dc(对应该行的度)个处理时钟周期初始化min0、min1寄存器(分别用来存储绝对值最小值与次最小值),min0、min1将被分别被赋得绝对最大值Max(abs)。
步骤2:在数据锁存或存储的同时将Q_tmp送与比较器电路。
步骤3:比较器电路中采用双比较器并行比较的方式。其中第一比较器单元用于比较Q_tmp与min0的大小,第二比较器单元用于比较Q_tmp与min1的大小。若Q_tmp小于min0,则将Q_tmp赋值给min0,当前min0赋值给min1;反之若Q_tmp大于min0但是小于min1,则把Q_tmp赋值给min1。并且在进行比较的同时,记下当前最小值的存储地址min_id。
最后输入数据结束标志控制比较器的工作,高电平标志结束,此时比较电路停止当前处理,等待下一组数据的到来并重新按步骤1进行处理。否则,继续按照步骤2取数进行比较。
符号位的输入预处理:用来获取当前输入数据符号位的累乘值(用sign(∏sub)表示)。输入数据开始标志到达时置初值“0”,在Q_tmp送予比较器电路的同时,取出当前数据的符号位与sign(∏sub)进行异或产生新的符号位累乘结果,直到输入数据结束标志到达时,才停止异或操作,此时的sign(∏sub)则代表当前输入数据符号位的累乘值。
数据读取预处理:LLR差值饱和处理结果Q_tmp通过移位寄存器或存储器输出,数据准备输出时,当前组中最小与次小差值查找也完成就绪,设此时从寄存器中输出的当前数据地址用reg_id表示。
节点LLR值更新:校验节点LLR值更新根据当前差值信息存储的移位输出对应的地址reg_id以及min_id、sign(∏sub)进行。若reg_id=min_id同时sign(Q_tmp)=sign(∏sub),则校验节点更新值为min1,若sign(Q_tmp)=-sign(∏sub),则校验节点更新值为-min1;若reg_id不等于min_id同时sign(Q_tmp)=sign(∏sub),则校验节点更新值为min0,若sign(Q_tmp)=-sign(∏sub),则校验节点更新值为-min0;当前输出的LLR差值与更新后相应的效验节点LLR值相加得到相应的变量节点LLR更新值,整个变量节点与校验节点LLR值更新共占用2×di+3个处理时钟周期。
第二次迭代步骤:在本次迭代步骤中,将在首轮迭代的基础上再次完成次轮迭代的操作。由控制器单元控制a个CNPU节点处理单元继续对相应的校验节点以及变量节点信息进行更新。
首先是取数时序,跟首次迭代的过程类似。在接下来的循环移位时序中,循环移位值将采用相对偏移。偏移的基准则是上次迭代中相应位置的最后一次迭代偏移位置。如表7中,相对偏移1′......相对偏移6′分别对应的是对上轮迭代中对应2、3、9、10、13、14列最后一次偏移后的相对偏移。对于CNPU处理时序与第一次迭代时序相同。此后的译码迭代处理将以第二次迭代步骤重复进行,直至达到总的迭代次数Nloop,则停止迭代。在迭代操作完成后,将完成译码的判决输出操作。由于输出缓存器与变量节点存储器架构类似,因此,只需要经过(p-q)×a个处理时钟就可以将当前帧的待判决数据输出到缓存器。后续的操作将由输出调整器进行,其实质是并串转换器。整个译码过程的迭代与输出控制时序如图6所示。由以上叙述可知,译码器对应于每一次迭代共需要N_clk=2×di+3,(i=1,2...,a)个处理时钟周期,其中di对应于第i个行的度数。若整个译码采用码元信息的同频钟进行处理,则对于一个码长(code_length)的处理时钟周期,可以完成Nloop=(code_length-(p-q)×a)/N_clk次迭代,若采用高倍时钟则可以将迭代次数提高至相应的倍数。
实施例2:
本实施例用于图2所示H0、H1、H2所对应的混合码率的LDPC码的译码。其中,H0为对应码率为1/2的校验矩阵,H1为对应码率为2/3的校验矩阵,H2为对应码率为3/4的校验矩阵。与实施例1相比,本实施中仅在初始化阶段对寻址与偏移参数存储器的配置过程有所不同,描叙如下:在本实施例中,初始化配置阶段需要根据不同的码率来配置不同的控制参数。对于不同的码率,可采用不同的参数存储表,如表1用于存储H0所对应的控制参数,表2用于存储H1所对应的控制参数,表3用于存储H2所对应的控制参数。每个存储表的存储方式仍然按照首轮迭代、次轮迭代、译码输出依次存储方式。因而通过选择好码率后,可以采用不同的控制表进行映射。
表1
行起始标志 | 列号2 | 绝对偏移地址 | 行结束标志 |
行起始标志 | 列号3 | 绝对偏移地址2 | 行结束标志 |
行起始标志 | 列号9 | 绝对偏移地址3 | 行结束标志 |
行起始标志 | 列号10 | 绝对偏移地址4 | 行结束标志 |
行起始标志 | 列号13 | 绝对偏移地址5 | 行结束标志 |
行起始标志 | 列号14 | 绝对偏移地地6 | 行结束标志 |
…… | …… | …… | …… |
行起始标志 | 列号1 | 相对偏移地址1 | 行结束标志 |
行起始标志 | 列号6 | 相对偏移地址2 | 行结束标志 |
行起始标志 | 列号8 | 相对偏移地址3 | 行结束标志 |
行起始标志 | 列号12 | 相对偏移地址4 | 行结束标志 |
行起始标志 | 列号13 | 相对偏移地址5 | 行结束标志 |
行起始标志 | 列号24 | 相对偏移地址6 | 行结束标志 |
表2
行起始标志 | 列号2 | 相对偏移地址1′ | 行结束标志 |
行起始标志 | 列号3 | 相对偏移地址2′ | 行结束标志 |
行起始标志 | 列号9 | 相对偏移地址3′ | 行结束标志 |
行起始标志 | 列号10 | 相对偏移地址4′ | 行结束标志 |
行起始标志 | 列号13 | 相对偏移地址5′ | 行结束标志 |
行起始标志 | 列号14 | 相对偏移地址6′ | 行结束标志 |
…… | …… | …… | …… |
行起始标志 | 列号1 | 相对偏移地址1 | 行结束标志 |
行起始标志 | 列号6 | 相对偏移地址2 | 行结束标志 |
行起始标志 | 列号8 | 相对偏移地址3 | 行结束标志 |
行起始标志 | 列号12 | 相对偏移地址4 | 行结束标志 |
行起始标志 | 列号13 | 相对偏移地址5 | 行结束标志 |
行起始标志 | 列号24 | 相对偏移地址6 | 行结束标志 |
表3
行起始标志 | 列号1 | 绝对偏移地址1 | 行结束标志 |
行起始标志 | 列号2 | 绝对偏移地址2 | 行结束标志 |
行起始标志 | 列号3 | 绝对偏移地址3 | 行结束标志 |
…… | …… | …… | …… |
行起始标志 | 列号10 | 绝对偏移地址10 | 行结束标志 |
行起始标志 | 列号11 | 绝对偏移地址11 | 行结束标志 |
行起始标志 | 列号12 | 绝对偏移地址12 | 行结束标志 |
此外,上述译码器的译码步骤,与实施例1中的译码步骤相同,可参照实施。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (9)
1.一种基于层译码处理的LDPC译码器,其特征在于,包括:
节点更新处理单元,用于对迭代过程中的校验节点信息以及变量节点信息进行更新运算;
变量节点存储单元,用于对迭代过程中的初始化信息以及更新的变量节点信息进行存储;
校验节点存储单元,用于存储迭代过程中更新的校验节点信息;
寻址与偏移控制ROM配置组,用于配置迭代过程中的各种译码控制信号;
循环移位网络,用于对变量节点读出的数据进行循环移位;
输出缓存器,用于存储译码过程中的判决比特;
地址信号控制器,用于对所述LDPC译码器中所用的所述变量节点存储单元和校验节点存储单元进行寻址;
译码时序控制器,用于对所述节点更新处理单元的运算进行定序,并对所述节点更新处理单元与校验节点存储单元以及变量节点存储单元间的数据交换进行控制。
2.如权利要求1所述的译码器,其特征在于,所述变量节点存储单元采用双端口RAM的存储器架构。
3.如权利要求1所述的译码器,其特征在于,所述寻址与控制ROM配置组采用首轮迭代译码控制表、次轮迭代译码控制表、译码判决输出控制表三表依次存储的方式,对于不同码率校验矩阵使用不同的配置表以及映射规则。
4.如权利要求1所述的译码器,其特征在于,所述循环移位网络采用库函数来实现桶形移位,循环移位操作可以在一个时钟周期完成。
5.如权利要求1所述的译码器,其特征在于,所述节点更新处理单元包括:
第一减法器单元,用于将获得校验矩阵中的各行非零元素所对应的变量节点信息与校验节点信息的LLR差值,差值个数等于节点更新处理单元所处理的节点所在行的度数;
第一存储器单元,用于对输入的变量节点信息与校验节点信息的差值信息进行存储,所述差值信息包括幅度与符号;
第一选通器单元,用于对参与第一异或电路单元输出的符号与初始化值之间进行选通,该第一选通器单元每隔di个时钟周期工作一次,di对应校验矩阵第i行的度;
第二选通器单元,用于对参与第一比较器单元输出的比较值与初始最大化的绝对值之间进行选通,该第二选通器单元每隔di个时钟周期工作一次;
第一异或电路单元,用于执行节点运算中每一行n∈N(m)的符号连乘运算,n表示变量节点,m表示校验节点,N(m)表示和校验节点m相邻的所有变量节点的集合;
第二异或电路单元,用于执行节点运算中校验节点符号信息的更新;
第一比较器单元,用于通过比较运算来产生当前输入的待比较节点的对数似然比LLR差值的绝对最小值;
第二比较器单元,用于通过比较运算来产生当前输入的待比较节点的LLR差值的绝对次最小值;
第三比较器单元,用于通过比较运算来执行节点运算中校验节点的幅度信息的更新;
第一加法器单元,用于执行节点运算中变量节点信息的更新。
6.如权利要求5所述的译码器,其特征在于,所述第一比较器单元、第二比较器单元及第三比较器单元执行的比较运算采用双比较器并行冒泡比较的方式进行。
7.如权利要求1所述的译码器,其特征在于,所述LDPC译码器的迭代过程与译码输出过程均采用时分复用的方式进行,只使用一个桶形移位器,且采用基于层译码的最小和算法实现。
8.一种应用权利要求1~7任一项所述的译码器进行译码的方法,其特征在于,包括以下步骤:
S1、初始化:在所述译码时序控制器的控制下将信道后验概率的对数似然比LLR值作为初始化信息逐个地写入所述变量节点存储单元的双端口RAM,当写完一帧的初始化信息时完成初始化工作,进入译码处理阶段;同时还确定各种译码控制参数,以产生各种控制时序以及完成时序任务的调度;
S2、校验节点信息的更新运算:所述译码时序控制器与地址信号控制器共同控制所述节点更新处理单元对校验矩阵的校验节点信息进行更新,输入为与同一个校验节点相连的各个变量节点的变量信息,输出为更新后的、此校验节点传递给与之相连的变量节点的校验节点信息;
S3、变量节点信息的更新运算:所述译码时序控制器与地址信号控制器共同控制所述节点更新处理单元对校验矩阵的变量节点信息进行更新,输入为与同一个变量节点相连的各个校验节点的校验信息,输出为更新后的、此变量节点传递给与之相连的校验节点的变量节点信息;
S4、重复步骤S2~S3,直到满足子循环次数,即达到校验矩阵中子块的行数;
S5、重复步骤S2~S4,进行迭代,直到满足迭代停止条件。
9.如权利要求8所述的译码方法,其特征在于,步骤S2与S3的更新运算按以下步骤进行:
S201、数据输入预处理:获得变量节点信息与校验节点信息的差值信息,所述差值信息包括幅度与符号;
S202:差值信息的存储:在减法操作的同时将步骤S201获得的差值信息存储到相应的存储单元;
S203:最小值与次小值的查找:采用双比较器并行的冒泡排序法查找当前存储的幅度中的最小值与次小值;
S204:符号位的判决:首先获取当前输入数据符号位的累乘值,然后逐个更新当前的校验节点的输出符号信息;
S205:节点LLR值更新:根据当前的步骤S202的输出与步骤S203查找到的最小值与次最小值以及步骤S204获取的所述累乘值进行校验节点的LLR值更新;变量节点信息的更新为当前输出的LLR差值与更新后相应的校验节点LLR值之和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110351234.7A CN102394661B (zh) | 2011-11-08 | 2011-11-08 | 基于层译码处理的ldpc译码器及译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110351234.7A CN102394661B (zh) | 2011-11-08 | 2011-11-08 | 基于层译码处理的ldpc译码器及译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102394661A true CN102394661A (zh) | 2012-03-28 |
CN102394661B CN102394661B (zh) | 2015-05-06 |
Family
ID=45861871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110351234.7A Expired - Fee Related CN102394661B (zh) | 2011-11-08 | 2011-11-08 | 基于层译码处理的ldpc译码器及译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102394661B (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103220003A (zh) * | 2013-03-29 | 2013-07-24 | 西安空间无线电技术研究所 | 提高节点处理并行度的qc-ldpc译码器的实现方法 |
CN105390162A (zh) * | 2014-08-25 | 2016-03-09 | 三星电子株式会社 | 包括纠错解码器的存储装置和纠错解码器的操作方法 |
CN106789798A (zh) * | 2016-11-22 | 2017-05-31 | 北京邮电大学 | 基于空间耦合数据传输技术的数据发送、接收方法及装置 |
CN106856406A (zh) * | 2016-11-18 | 2017-06-16 | 北京航空航天大学 | 一种译码方法中校验节点的更新方法及译码器 |
CN106936446A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种基于多进制ldpc码的高速译码器及其译码方法 |
CN108494410A (zh) * | 2018-03-30 | 2018-09-04 | 北京联想核芯科技有限公司 | 译码方法、装置、设备及介质 |
CN108988872A (zh) * | 2018-08-23 | 2018-12-11 | 中国科学院计算技术研究所 | 基于分层最小和算法的ldpc译码方法 |
CN109245775A (zh) * | 2017-07-10 | 2019-01-18 | 深圳市中兴微电子技术有限公司 | 一种译码器及其实现译码的方法 |
CN109361403A (zh) * | 2018-08-06 | 2019-02-19 | 建荣半导体(深圳)有限公司 | Ldpc译码方法、ldpc译码器及其存储设备 |
CN109753640A (zh) * | 2019-01-04 | 2019-05-14 | 江西理工大学应用科学学院 | 一种基于人工智能的文本纠错方法 |
CN110474647A (zh) * | 2019-07-03 | 2019-11-19 | 深圳市通创通信有限公司 | 有限域构造的ldpc码的译码方法、装置、译码器及存储介质 |
CN110535476A (zh) * | 2019-09-30 | 2019-12-03 | 深圳忆联信息系统有限公司 | Ldpc软译码器软信息存储优化方法、装置、计算机设备及存储介质 |
CN110825343A (zh) * | 2019-11-05 | 2020-02-21 | 中电科仪器仪表有限公司 | 一种快速数据筛选方法及系统 |
CN111478708A (zh) * | 2020-03-31 | 2020-07-31 | Oppo广东移动通信有限公司 | 电子设备、芯片、系统总线、译码模块、译码器及方法 |
CN111525931A (zh) * | 2019-02-02 | 2020-08-11 | 北京小米松果电子有限公司 | Ldpc译码器、ldpc译码方法、存储介质和电子设备 |
CN112152637A (zh) * | 2020-09-10 | 2020-12-29 | 中科院计算技术研究所南京移动通信与计算创新研究院 | Dvb-s2 ldpc译码变量节点更新模块及其实现方法 |
CN112165334A (zh) * | 2020-09-16 | 2021-01-01 | 深圳航天科技创新研究院 | 一种基于fpga的多元ldpc高速译码器及译码方法 |
CN112242851A (zh) * | 2020-11-23 | 2021-01-19 | 湖南国科锐承电子科技有限公司 | 一种ldpc码的分层译码中迭代数据处理方法及译码器系统 |
CN112332856A (zh) * | 2020-10-22 | 2021-02-05 | 中国科学院计算技术研究所 | 一种准循环ldpc码的层译码方法及装置 |
CN112702066A (zh) * | 2020-12-10 | 2021-04-23 | 上海金卓科技有限公司 | 基于最小和算法的ldpc译码方法、装置、设备及介质 |
CN113590377A (zh) * | 2021-07-16 | 2021-11-02 | 深圳宏芯宇电子股份有限公司 | 译码装置、方法、存储介质及计算机设备 |
CN114157308A (zh) * | 2021-12-07 | 2022-03-08 | 大唐联诚信息系统技术有限公司 | 一种应用于半并行ldpc译码器的译码方法及装置 |
CN114499540A (zh) * | 2021-12-17 | 2022-05-13 | 上海大学 | 一种基于双路llr更新的ldpc分层译码方法 |
CN114513211A (zh) * | 2022-02-15 | 2022-05-17 | 电子科技大学 | 基于全相关序列的混合概率ldpc译码器 |
WO2022116799A1 (zh) * | 2020-12-03 | 2022-06-09 | 重庆邮电大学 | 一种具有单置换网络的分层半并行ldpc译码器系统 |
CN115425988A (zh) * | 2022-07-29 | 2022-12-02 | 北京融为科技有限公司 | 一种高速ldpc全模式列变换方法 |
WO2022267790A1 (zh) * | 2021-06-21 | 2022-12-29 | 中兴通讯股份有限公司 | 数据编码方法、电子设备、存储介质 |
CN118353476A (zh) * | 2024-06-12 | 2024-07-16 | 北京科技大学 | 一种基于达芬奇架构的ldpc码译码方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106381A (zh) * | 2007-08-09 | 2008-01-16 | 上海交通大学 | 分层的低密度校验码译码器及译码处理方法 |
CN101355406A (zh) * | 2008-09-18 | 2009-01-28 | 上海交通大学 | 分层的非规则低密度校验码译码器及译码处理方法 |
CN102055484A (zh) * | 2010-12-21 | 2011-05-11 | 东南大学 | 基于最小均方差准则的ldpc分层bp译码算法及译码器结构 |
CN102064835A (zh) * | 2009-11-11 | 2011-05-18 | 中国科学院微电子研究所 | 适用于准循环ldpc译码的译码器 |
-
2011
- 2011-11-08 CN CN201110351234.7A patent/CN102394661B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106381A (zh) * | 2007-08-09 | 2008-01-16 | 上海交通大学 | 分层的低密度校验码译码器及译码处理方法 |
CN101355406A (zh) * | 2008-09-18 | 2009-01-28 | 上海交通大学 | 分层的非规则低密度校验码译码器及译码处理方法 |
CN102064835A (zh) * | 2009-11-11 | 2011-05-18 | 中国科学院微电子研究所 | 适用于准循环ldpc译码的译码器 |
CN102055484A (zh) * | 2010-12-21 | 2011-05-11 | 东南大学 | 基于最小均方差准则的ldpc分层bp译码算法及译码器结构 |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103220003B (zh) * | 2013-03-29 | 2016-12-28 | 西安空间无线电技术研究所 | 提高节点处理并行度的qc-ldpc译码器的实现方法 |
CN103220003A (zh) * | 2013-03-29 | 2013-07-24 | 西安空间无线电技术研究所 | 提高节点处理并行度的qc-ldpc译码器的实现方法 |
CN105390162A (zh) * | 2014-08-25 | 2016-03-09 | 三星电子株式会社 | 包括纠错解码器的存储装置和纠错解码器的操作方法 |
CN105390162B (zh) * | 2014-08-25 | 2021-02-19 | 三星电子株式会社 | 包括纠错解码器的存储装置和纠错解码器的操作方法 |
CN106856406A (zh) * | 2016-11-18 | 2017-06-16 | 北京航空航天大学 | 一种译码方法中校验节点的更新方法及译码器 |
CN106856406B (zh) * | 2016-11-18 | 2020-05-15 | 北京航空航天大学 | 一种译码方法中校验节点的更新方法及译码器 |
CN106789798A (zh) * | 2016-11-22 | 2017-05-31 | 北京邮电大学 | 基于空间耦合数据传输技术的数据发送、接收方法及装置 |
CN106789798B (zh) * | 2016-11-22 | 2020-04-17 | 北京邮电大学 | 基于空间耦合数据传输技术的数据发送、接收方法及装置 |
CN106936446A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种基于多进制ldpc码的高速译码器及其译码方法 |
CN109245775B (zh) * | 2017-07-10 | 2022-08-09 | 深圳市中兴微电子技术有限公司 | 一种译码器及其实现译码的方法 |
CN109245775A (zh) * | 2017-07-10 | 2019-01-18 | 深圳市中兴微电子技术有限公司 | 一种译码器及其实现译码的方法 |
CN108494410A (zh) * | 2018-03-30 | 2018-09-04 | 北京联想核芯科技有限公司 | 译码方法、装置、设备及介质 |
CN109361403A (zh) * | 2018-08-06 | 2019-02-19 | 建荣半导体(深圳)有限公司 | Ldpc译码方法、ldpc译码器及其存储设备 |
CN108988872A (zh) * | 2018-08-23 | 2018-12-11 | 中国科学院计算技术研究所 | 基于分层最小和算法的ldpc译码方法 |
CN109753640A (zh) * | 2019-01-04 | 2019-05-14 | 江西理工大学应用科学学院 | 一种基于人工智能的文本纠错方法 |
CN111525931A (zh) * | 2019-02-02 | 2020-08-11 | 北京小米松果电子有限公司 | Ldpc译码器、ldpc译码方法、存储介质和电子设备 |
CN111525931B (zh) * | 2019-02-02 | 2023-07-25 | 北京小米松果电子有限公司 | Ldpc译码器、ldpc译码方法、存储介质和电子设备 |
CN110474647A (zh) * | 2019-07-03 | 2019-11-19 | 深圳市通创通信有限公司 | 有限域构造的ldpc码的译码方法、装置、译码器及存储介质 |
CN110535476A (zh) * | 2019-09-30 | 2019-12-03 | 深圳忆联信息系统有限公司 | Ldpc软译码器软信息存储优化方法、装置、计算机设备及存储介质 |
CN110825343A (zh) * | 2019-11-05 | 2020-02-21 | 中电科仪器仪表有限公司 | 一种快速数据筛选方法及系统 |
CN110825343B (zh) * | 2019-11-05 | 2021-12-03 | 中电科思仪科技股份有限公司 | 一种快速数据筛选方法及系统 |
CN111478708A (zh) * | 2020-03-31 | 2020-07-31 | Oppo广东移动通信有限公司 | 电子设备、芯片、系统总线、译码模块、译码器及方法 |
CN111478708B (zh) * | 2020-03-31 | 2023-08-11 | Oppo广东移动通信有限公司 | 电子设备、芯片、系统总线、译码模块、译码器及方法 |
CN112152637A (zh) * | 2020-09-10 | 2020-12-29 | 中科院计算技术研究所南京移动通信与计算创新研究院 | Dvb-s2 ldpc译码变量节点更新模块及其实现方法 |
CN112152637B (zh) * | 2020-09-10 | 2024-04-30 | 南京中科晶上通信技术有限公司 | Dvb-s2 ldpc译码变量节点更新模块及其实现方法 |
CN112165334A (zh) * | 2020-09-16 | 2021-01-01 | 深圳航天科技创新研究院 | 一种基于fpga的多元ldpc高速译码器及译码方法 |
CN112332856A (zh) * | 2020-10-22 | 2021-02-05 | 中国科学院计算技术研究所 | 一种准循环ldpc码的层译码方法及装置 |
CN112332856B (zh) * | 2020-10-22 | 2023-07-25 | 中国科学院计算技术研究所 | 一种准循环ldpc码的层译码方法及装置 |
CN112242851A (zh) * | 2020-11-23 | 2021-01-19 | 湖南国科锐承电子科技有限公司 | 一种ldpc码的分层译码中迭代数据处理方法及译码器系统 |
CN112242851B (zh) * | 2020-11-23 | 2024-03-19 | 湖南国科锐承电子科技有限公司 | 一种ldpc码的分层译码中迭代数据处理方法及译码器系统 |
WO2022116799A1 (zh) * | 2020-12-03 | 2022-06-09 | 重庆邮电大学 | 一种具有单置换网络的分层半并行ldpc译码器系统 |
CN112702066A (zh) * | 2020-12-10 | 2021-04-23 | 上海金卓科技有限公司 | 基于最小和算法的ldpc译码方法、装置、设备及介质 |
CN112702066B (zh) * | 2020-12-10 | 2024-02-23 | 上海金卓科技有限公司 | 基于最小和算法的ldpc译码方法、装置、设备及介质 |
WO2022267790A1 (zh) * | 2021-06-21 | 2022-12-29 | 中兴通讯股份有限公司 | 数据编码方法、电子设备、存储介质 |
CN113590377A (zh) * | 2021-07-16 | 2021-11-02 | 深圳宏芯宇电子股份有限公司 | 译码装置、方法、存储介质及计算机设备 |
CN114157308A (zh) * | 2021-12-07 | 2022-03-08 | 大唐联诚信息系统技术有限公司 | 一种应用于半并行ldpc译码器的译码方法及装置 |
CN114499540A (zh) * | 2021-12-17 | 2022-05-13 | 上海大学 | 一种基于双路llr更新的ldpc分层译码方法 |
CN114513211A (zh) * | 2022-02-15 | 2022-05-17 | 电子科技大学 | 基于全相关序列的混合概率ldpc译码器 |
CN115425988B (zh) * | 2022-07-29 | 2024-02-09 | 北京融为科技有限公司 | 一种高速ldpc全模式列变换方法 |
CN115425988A (zh) * | 2022-07-29 | 2022-12-02 | 北京融为科技有限公司 | 一种高速ldpc全模式列变换方法 |
CN118353476A (zh) * | 2024-06-12 | 2024-07-16 | 北京科技大学 | 一种基于达芬奇架构的ldpc码译码方法和装置 |
CN118353476B (zh) * | 2024-06-12 | 2024-08-16 | 北京科技大学 | 一种基于达芬奇架构的ldpc码译码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102394661B (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102394661B (zh) | 基于层译码处理的ldpc译码器及译码方法 | |
CN104868925B (zh) | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 | |
US8555140B2 (en) | Low density parity check decoder for irregular LDPC codes | |
US7343548B2 (en) | Method and apparatus for encoding and decoding data | |
CN110114978B (zh) | 高效可解码qc-ldpc码 | |
CN107370490B (zh) | 结构化ldpc的编码、译码方法及装置 | |
Weiner et al. | LDPC decoder architecture for high-data rate personal-area networks | |
CN102664638A (zh) | 基于分层nms算法的多码长ldpc码译码器的fpga实现方法 | |
CN109802687B (zh) | 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器 | |
CN101335592B (zh) | 基于矩阵分块的高速ldpc译码器实现方法 | |
Liao et al. | A (21150, 19050) GC-LDPC decoder for NAND flash applications | |
US20160142074A1 (en) | Structure and decoder architecture of a class of low-density parity-check code | |
Balatsoukas-Stimming et al. | A parallelized layered QC-LDPC decoder for IEEE 802.11 ad | |
Zhao et al. | Design of a high-throughput QC-LDPC decoder with TDMP scheduling | |
CN102739259A (zh) | 一种用于cmmb激励器中的基于fpga的ldpc编码方法 | |
CN111162795B (zh) | 基于校验子矩阵分割的ldpc编码硬件实现方法 | |
Ajaz et al. | Multi-Gb/s multi-mode LDPC decoder architecture for IEEE 802.11 ad standard | |
Tsatsaragkos et al. | A flexible layered LDPC decoder | |
CN101141132A (zh) | 一种准循环低密度奇偶校验码编码器和校验位生成方法 | |
Kakde et al. | FPGA implementation of decoder architectures for high throughput irregular LDPC codes | |
CN104767536B (zh) | 基于ofdm电力线通信系统的qc-ldpc译码方法和译码器 | |
Li et al. | A memory efficient parallel layered QC-LDPC decoder for CMMB systems | |
Zhou et al. | An area-efficient LDPC decoder for multi-standard with conflict resolution | |
CN110730003A (zh) | 一种ldpc编码方法及ldpc编码器 | |
Zeineddine et al. | Construction and hardware-efficient decoding of raptor codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150506 Termination date: 20211108 |