CN102299719B - 一种非迭代式ldpc码译码器 - Google Patents
一种非迭代式ldpc码译码器 Download PDFInfo
- Publication number
- CN102299719B CN102299719B CN 201110242890 CN201110242890A CN102299719B CN 102299719 B CN102299719 B CN 102299719B CN 201110242890 CN201110242890 CN 201110242890 CN 201110242890 A CN201110242890 A CN 201110242890A CN 102299719 B CN102299719 B CN 102299719B
- Authority
- CN
- China
- Prior art keywords
- level
- likelihood ratio
- information
- data
- information matrix
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种非迭代式LDPC码译码器包括两个初始似然比信息存储器、k级运算单元、判决与输出模块D以及控制单元。在控制单元控制下,将待译码的LDPC帧的LLR值交替存入两个初始似然比信息存储器中,同时交替进行变量节点信息矩阵初始化并存入一级运算单元中两个变量节点信息矩阵存储器。校验节点更新单元、变量节点更新单元交错交替读取、处理、存储数据,利用率为100%,解决了传统的LDPC码译码器运算单元利用率不高的问题。最后,经过多级级联运算处理,直接对得到的恢复信息比特序列进行判断,多个运算单元级联代替了传统的迭代操作,完全实现流水线运算,因此,译码运算速度高。
Description
技术领域
本发明属于信道纠错码译码技术领域,更为具体地讲,涉及一种非迭代式LDPC码译码器。
背景技术
LDPC码是一种特殊的线性分组码,其校验矩阵具有稀疏性。LDPC码以其优异的译码性能,在各种通信系统中都作为前向纠错FEC广泛使用。
LDPC码的译码算法比较复杂,经典的算法有和积算法、最小和算法。由于和积算法复杂度更高,最小和算法的译码性能与前者的差距很小,而译码器的硬件复杂度却比和积算法低得多,且比和积算法易于硬件流水线实现。因此大部分LDPC译码器都会采用最小和的算法,基于迭代的硬件方式实现。
基于最小和的迭代式LDPC码的译码流程如下:
在最小和迭代译码算法中,在LDPC码译码器的变量节点和校验节点间迭代传递的信息是接收信号的LLR(似然比信息)值:
其中,P(0|yv)和P(1|yv)分别是在接收到码元y的条件下,发送比特为0和1时的分布,v表示第v个信息位。在迭代时,需要定义两个信息矩阵,变量节点信息矩阵Q和校验节点信息矩阵R。迭代步骤如下:
1)依据检验矩阵H,初始化变量节点信息矩阵Q:
qc,v=Lv
元素qc,v表示变量节点信息矩阵Q的第c行和第v列的值。
2)更新校验节点信息矩阵R:
rc,v≈min|qc,v′|∏sgn(qc,y′)
其中v′为变量节点信息矩阵Q的列号中去除v的集合,min|qc,v′|表示变量节点信息矩阵Q第c行去除元素qc,v后剩余所有元素中绝对值最小值,∏sgn(qc,v′)表示表示变量节点信息矩阵Q第c行去除元素qc,v后剩余所有元素符号的乘积;
3)更新变量节点信息矩阵Q:
qc,v=Lv+∑rc′v
其中,c′为变量节点信息矩阵R的行号中去除c的集合,∑rc′v表示变量节点信息矩阵R第v列去除元素rc,v后所有元素的和。
4)计算似然比信息修正值,恢复信息比特序列,并判决:
则为有效码字,迭代成功;否则,返回步骤2)继续进行迭代;如果迭代超过一定次数,仍然不满校验方程,则停止迭代,宣布译码失败。
图1是现有技术迭代式LDPC码译码器的原理框图。
如图1所示,在传统的迭代式LDPC码译码器中,首先用待译码LDPC帧的似然比信息LLR值对变量节点信息矩阵存储器Q按照步骤1)进行初始化;初始化完成以后,再通过检验节点更新单元CNU依据步骤2)对变量节点信息矩阵存储器Q的数据进行处理,得到的数据用于校验节点信息矩阵存储器R的更新;然后校验节点信息矩阵存储器R的数据再通过变量节点更新单元VNU依据步骤3)对校验节点信息矩阵存储器R的数据进行处理,得到的数据用于变量节点信息矩阵存储器Q的更新,同时,按照步骤4)对校验节点信息矩阵存储器R的数据进行处理,对输出信息比特序列做判决,若其为有效码字则译码完成,否则继续迭代,直到迭代次数上限。
如图1所示,传统的迭代式LDPC码译码器的校验节点更新和变量节点更新不能同时进行,因此,这种译码器的检验节点更新单元CNU和变量节点更新单元VNU在译码过程中都只有一半的时间在工作,其余时间都处于空闲状态,译码运算速度慢。
发明内容
本发明的目的在于克服现有技术的不足,提供一种译码运算速度高、检验节点更新单元和变量节点更新单元利用率达到100%的非迭代式LDPC码译码器。
为实现上述发明目的,本发明非迭代式LDPC码译码器,其特征在于,包括两个初始似然比信息存储器La_0、Lb_0、k级运算单元、判决与输出模块D以及控制单元;
每级运算单元包括:两个变量节点信息矩阵存储器Qa、Qb,校验节点更新单元CNU,似然比信息存储器La、Lb,两个校验节点信息矩阵存储器Ra、Rb,一级变量节点更新单元VNU;
控制单元负责对两个初始似然比信息存储器以及各级运算单元中存储读写的切换与配合进行控制;
在控制单元的控制下,(1)、将待译码的LDPC帧的LLR(似然比信息)值交替存入初始似然比信息存储器La_0、Lb_0中;
(2)、同时交替地读取初始似然比信息存储器Lb_0、La_0中的数据,并利用读取的数据依据检验矩阵H对两个一级变量节点信息矩阵存储器Qb_1、Qa_1进行初始化,其数据为:
qc,v=Lv
其中,元素qc,v表示变量节点信息矩阵存储器Qb_1、Qa_1中数据的第c行和第v列的值,Lv表示似然比信息值第v个信息位的值;
(3)、同时,在一级运算单元中:
一级校验节点更新单元CNU_1交替读取两个一级变量节点信息矩阵存储器Qa_1、Qb_1中的数据进行检验节点信息矩阵更新,并存入两个一级校验节点信息矩阵存储器Ra_1、Rb_1中,存入的数据为:
rc,v≈min|qc,v′|∏sgn(qc,v′)
其中v′为变量节点信息矩阵存储器Qa_1、Qb_1中数据的列号中去除v的集合,min|qc,v′|表示变量节点信息矩阵存储器Qa_1、Qb_1中数据第c行去除元素qc,v后剩余所有元素中绝对值最小值,∏sgn(qc,v′)表示表示变量节点信息矩阵存储器Qa_1、Qb_1中数据第c行去除元素qc,v后剩余所有元素符号的乘积;同时,交替地读取初始似然比信息存储器La_0、Lb_0中的数据存入一级似然比信息存储器La_1、Lb_1中;
一级变量节点更新单元VNU_1交替读取两个一级校验节点信息矩阵存储器Rb_1、Ra_1中的数据、一级似然比信息存储器Lb_1、La_1中的似然比信息值进行变量节点信息矩阵更新,并存入两个二级变量节点信息矩阵存储器Qb_2、Qa_2中,存入的数据为:
qc,v=Lv+∑rc′v
其中,c′为变量节点信息矩阵存储器Rb_1、Ra_1中数据的行号中去除c的集合,∑rc′v表示变量节点信息矩阵存储器Rb_1、Ra_1中数据第v列去除元素rc,v后所有元素的和;
(4)、同时,在2~k-1级运算单元中,交替读取两个上一级变量节点信息矩阵存储器Qa_i、Qb_i中的数据进行一级运算单元类似的计算操作,除各个操作中存储器、校验节点更新单元、变量节点更新单元级数增加外,其余完全相同,计算出的数据存入两个下一级的变量节点信息矩阵存储器Qb_i+1、Qa_i+1中;
(5)、同时,在k级运算单元中,进行2~k-1级运算单元相同校验节点信息矩阵更新计算,并在k级变量节点更新单元VNU_k交替读取两个k级校验节点信息矩阵存储器Rb_k、Ra_k中的数据计算似然比信息修正值:
Dv=Lv+∑rc,v
(6)、同时,判决与输出模块D恢复信息比特序列,并判决:
则为有效码字,译码成功,否则为失败。
本发明的发明目的是这样实现的:
本发明非迭代式LDPC码译码器包括两个初始似然比信息存储器、k级运算单元、判决与输出模块D以及控制单元。在控制单元控制下,将待译码的LDPC帧的LLR值交替存入两个初始似然比信息存储器中,同时交替进行变量节点信息矩阵初始化并存入一级运算单元中两个变量节点信息矩阵存储器。在每个运算单元都有两个变量节点信息矩阵存储器、两个似然比信息存储器、两个校验节点信息矩阵存储器以及校验节点更新单元、变量节点更新单元,这样校验节点更新单元、变量节点更新单元交错交替读取、处理、存储数据,利用率为100%,解决了传统的LDPC码译码器运算单元利用率不高的问题。最后,经过多级级联运算处理,直接对得到的恢复信息比特序列进行判断,多个运算单元级联代替了传统的迭代操作,完全实现流水线运算,因此,译码运算速度高,
本发明具有以下优点:
1、处理速度高。传统的LDPC译码器译码需要迭代多次,这样会消耗大量时间。本发明的非迭代式译码器用多个运算单元级联代替了迭代操作。
2、可以同时处理多个LDPC帧,且相互之间不会有任何影响。
3、实时性强。本发明的译码器从初始化到判决输出,完全实现全流水线,所有待译码的LDPC帧同时处理,不会存在延时。所以这种译码器非常适用于实时高速的信号处理。
4、控制单元简单。传统的LDPC码译码器在每次迭代完成后都要做出判决,判断是否进行下一次迭代。本发明的译码器只要做一次判决,而且结构十分有规律,每一级的控制都是相同的。
5、通用性好,使用于各类LDPC码的译码。由于大部分LDPC码的硬件译码都是基于最小和算法的,本发明均可以适用。通过改变级联运算单元的级数k,就能够调整最小和译码所需的迭代次数。
附图说明
图1是现有技术迭代式LDPC码译码器的原理框图;
图2是本发明非迭代式LDPC码译码器具体实施方式原理框图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图2是本发明非迭代式LDPC码译码器具体实施方式原理框图。
在本实施例中,如图2所示,本发明LDPC码译码器包括:初始似然比信息存储器La_0、Lb_0、k级运算单元、判决与输出模块D以及控制单元;
一级运算单元包括两个一级变量节点信息矩阵存储器Qa_1、Qb_1、一级校验节点更新单元CNU_1、两个一级似然比信息存储器La_1、Lb_1、两个一级校验节点信息矩阵存储器Ra_1、Rb_1,一级变量节点更新单元VNU_1。
二级运算单元的构成同一级运算单元相同,包括两个二级变量节点信息矩阵存储器Qa_2、Qb_2,两个二级校验节点更新单元CNU_2,二级似然比信息存储器La_2、Lb_2,两个二级校验节点信息矩阵存储器Ra_2、Rb_2,二级变量节点更新单元VNU_2;
......;
k级运算单元的构成同一级运算单元相同,包括两个k级变量节点信息矩阵存储器Qa_k、Qb_k,k级校验节点更新单元CNU_k,k级似然比信息存储器La_k、Lb_k,两个k级校验节点信息矩阵存储器Ra_k、Rb_k,k级变量节点更新单元VNU_k;
以及判决与输出模块D、控制单元。
整个非迭代式LDPC码译码器的控制主要依靠控制器对各级存储器读写的切换与配合,其中k的大小根据实际应用的系统进行确定。
在本实施例中,所有变量节点信息矩阵存储器、校验节点信息矩阵存储器均为双口RAM,大小与LDPC码的码长有关。以Qa_1为例,它由许多独立编址的RAM子模块组成。
如图1所示,每个校验节点更新单元CNU到变量节点更新单元VNU相连的是两个校验节点信息矩阵存储器,其中一个存储器存储校验节点更新单元CNU更新的校验节点信息矩阵数据,而另一个存储器则把上个周期存储的校验节点信息矩阵数据输出给变量节点更新单元VNU。在下一个周期,则两个存储器交替,即原先存储校验节点更新单元CNU更新的校验节点信息矩阵数据的给变量节点更新单元VNU输出数据,另一个给变量节点更新单元VNU提供数据的存储校验节点更新单元CNU更新的校验节点信息矩阵数据。
每个变量节点更新单元VNU到校验节点更新单元CNU相连的是两组变量节点信息矩阵存储器,其中一个存储器存储变量节点更新单元VNU更新的变量节点信息矩阵数据,而另一组存储器则把上个周期存储的变量节点信息矩阵数据输出给检验节点更新单元CNU,在下一个周期,则两个存储器交替,即原先存储变量节点更新单元VNU更新的变量节点信息矩阵数据的给检验节点更新单元CNU输出数据,另一组给检验节点更新单元CUN提供数据的存储变量节点更新单元VNU更新的变量节点信息矩阵数据。
同时,各层存储器的读写是交错,即对于一路LDPC帧的LLR值的处理,上一层的一个存储器是读,则下层对应的存储器则是写,再下一层对应的存储器则又是读。
最后一个变量节点更新单元VNU_k连接的是一个判决与输出模块D,然后,如果译码成功,则得到有效码字输出。
如图1所示,待译码的LDPC帧的似然比信息LLR值,存入初始似然比信息存储器。在本实施例中,先存入初始似然比信息存储器La_0中,当前LDPC帧所有似然比信息都写入初始似然比信息存储器La_0。
在下一周期,读取初始似然比信息存储器La_0的数据转移到一级似然比信息存储器La_1,读取的数据依据检验矩阵H对一级变量节点信息矩阵存储器Qa_1依据公式qc,v=Lv进行初始化,此时,这时初始似然比信息存储器La_0存储器为读操作,变量节点信息矩阵存储器Qa_1为写操作;与此同时,下一个LDPC帧的似然比信息存入Lb_0存储器。
在第三个周期,一级校验节点更新单元CNU_1读取一级变量节点信息矩阵存储器Qa_1中的数据依据公式rc,v≈min|qc,v′|∏sgn(qc,y′)进行检验节点信息矩阵更新,并存入一级校验节点信息矩阵存储器Ra_1中;同时,读取初始似然比信息存储器Lb_0的数据依据检验矩阵H对一级变量节点信息矩阵存储器Qb_1依据公式qc,v=Lv进行初始化,此时,这时初始似然比信息存储器Lb_0存储器为读操作,变量节点信息矩阵存储器Qb_1存储器为写操作;与此同时,先读取初始似然比信息存储器La_0的数据转移到一级似然比信息存储器La_1,然后读取的下一个LDPC帧的似然比信息存入初始似然比信息存储器La_0中。
在第四个周期,一级变量节点更新单元VNU_1读取一级校验节点信息矩阵存储器Ra_1中的数据、似然比信息存储器La_1中的似然比信息值依据公式qc,v=Lv+∑rc′v进行变量节点信息矩阵更新,并存入二级变量节点信息矩阵存储器Qa_2中;同时一级校验节点更新单元CNU_1读取一级变量节点信息矩阵存储器Qb_1中的数据依据公式rc,v≈min|qc,v′|∏sgn(qc,v′)进行检验节点信息矩阵更新,并存入一级校验节点信息矩阵存储器Rb_1中;同时,读取初始似然比信息存储器La_0的数据依据检验矩阵H对一级变量节点信息矩阵存储器Qa_1依据公式qc,v=Lv进行初始化,此时,这时初始似然比信息存储器Lb_0存储器为读操作,变量节点信息矩阵存储器Qb_1存储器为写操作;同时,先读取初始似然比信息存储器Lb_0的数据转移到一级似然比信息存储器Lb_1,读取的下一个LDPC帧的似然比信息存入初始似然比信息存储器Lb_0中。
在第五个周期,二级检验节点更新单元CNU_2进行第三个周期一级校验节点更新单元CNU_1相同的计算操作,同时,交替存储器进行第四个周期的计算操作;
在第六个周期,二级变量节点更新单元VNU_2进行第四个周期一级变量节点更新单元VNU_1相同的计算操作,同时,交替存储器进行第五个周期的计算操作;
各级运算单元依据上述计算方法进行计算操作,直到最后的k级运算单元。
在k级运算单元中,进行2~k-1级运算单元相同校验节点信息矩阵更新计算,并在k级变量节点更新单元VNU_k交替读取两个k级校验节点信息矩阵存储器Rb_k、Ra_k中的数据计算似然比信息修正值:
Dv=Lv+∑rc,v
(6)、同时,判决与输出模块D恢复信息比特序列,并判决:
则为有效码字,译码成功,否则为失败。
表1是本非迭代式LDPC码译码器一实例的状态图。
表1
表1中,ABCDEFG为LDPC帧的似然比信息,依次传给两级非迭代LDPC码译码器,表格里表示存储器正在处理的帧,R表示读操作,W表示写操作。
我们可以看出:
在第一个周期,对将A帧的似然比信息LLR值存入初始似然比信息存储器La_0。
在第二个周期,读取初始似然比信息存储器La_0的A帧数据进行初始化,初始化后的A帧数据写入变量节点信息矩阵存储器Qa_1;与此同时,下一个LDPC帧,即B帧的似然比信息存入Lb_0存储器。
在第三个周期,一级校验节点更新单元CNU_1读取一级变量节点信息矩阵存储器Qa_1中的A帧数据依进行检验节点信息矩阵更新,并存入一级校验节点信息矩阵存储器Ra_1中;同时,读取初始似然比信息存储器Lb_0的B帧数据进行初始化,此时,这时初始似然比信息存储器Lb_0存储器为读操作,变量节点信息矩阵存储器Qb_1存储器为写操作;与此同时,先读取初始似然比信息存储器La_0的A帧数据转移到一级似然比信息存储器La_1中,下一个LDPC帧,即C帧的似然比信息存入初始似然比信息存储器La_0中。
在第四个周期,一级变量节点更新单元VNU_1读取一级校验节点信息矩阵存储器Ra_1中的A帧数据、似然比信息存储器La_1中的A帧似然比信息值进行变量节点信息矩阵更新,并存入二级变量节点信息矩阵存储器Qa_2中;同时一级校验节点更新单元CNU_1读取一级变量节点信息矩阵存储器Qb_1中的B帧数据进行检验节点信息矩阵更新,并存入一级校验节点信息矩阵存储器Rb_1中;同时,读取初始似然比信息存储器La_0的C帧数据进行初始化,此时,这时初始似然比信息存储器La_0存储器为读操作,变量节点信息矩阵存储器Qa_1存储器为写操作;与此同时,先读取初始似然比信息存储器0的数据转移Lb到一级似然比信息存储器Lb_1中,下一个LDPC帧,即D帧的似然比信息存入初始似然比信息存储器Lb_0中。
在第五个周期,二级校验节点更新单元CNU_2读取二级变量节点信息矩阵存储器Qa_2中的A帧数据依进行检验节点信息矩阵更新,并存入二级校验节点信息矩阵存储器Ra_2中;一级变量节点更新单元VNU_1读取一级校验节点信息矩阵存储器Rb_1中的B帧数据、似然比信息存储器Lb_1中的B帧似然比信息值进行变量节点信息矩阵更新,并存入二级变量节点信息矩阵存储器Qb_2中;同时一级校验节点更新单元CNU_1读取一级变量节点信息矩阵存储器Qa_1中的C帧数据进行检验节点信息矩阵更新,并存入一级校验节点信息矩阵存储器Ra_1中;同时,读取初始似然比信息存储器Lb_0的D帧数据进行初始化,此时,这时初始似然比信息存储器Lb_0存储器为读操作,变量节点信息矩阵存储器Qb_1存储器为写操作;与此同时,先读取初始似然比信息存储器La_0的数据转移到一级似然比信息存储器La_1中,下一个LDPC帧,即E帧的似然比信息存入初始似然比信息存储器La_0中。
在第六个周期,二级变量节点更新单元VNU_2读取二级校验节点信息矩阵存储器Ra_2中的A帧数据、似然比信息存储器La_2中的A帧似然比信息值计算计算似然比信息修正值:
Dv=Lv+∑rc,v
同时,判决与输出模块D恢复信息比特序列,并判决:
则为有效码字,计算成功,否则为失败;
二级校验节点更新单元CNU_2读取二级变量节点信息矩阵存储器Qb_2中的B帧数据依进行检验节点信息矩阵更新,并存入二级校验节点信息矩阵存储器Rb_2中;一级变量节点更新单元VNU_1读取一级校验节点信息矩阵存储器Ra_1中的C帧数据、似然比信息存储器La_1中的C帧似然比信息值进行变量节点信息矩阵更新,并存入二级变量节点信息矩阵存储器Qa_2中;同时一级校验节点更新单元CNU_1读取一级变量节点信息矩阵存储器Qb_1中的D帧数据进行检验节点信息矩阵更新,并存入一级校验节点信息矩阵存储器Rb_1中;同时,读取初始似然比信息存储器La_0的E帧数据进行初始化,此时,这时初始似然比信息存储器La_0存储器为读操作,变量节点信息矩阵存储器Qa_1存储器为写操作;与此同时,先读取初始似然比信息存储器Lb_0的数据转移到一级似然比信息存储器Lb_1中,下一个LDPC帧,即F帧的似然比信息存入初始似然比信息存储器Lb_0中。
第七、八、九周期,各帧的数据在交错的存储器中,进行前一帧数据的计算操作,最后进行判决。
这样,形成交替级联运算,并直接对得到的恢复信息比特序列进行判断,完全实现流水线运算,译码运算速度高。同时,校验节点更新单元、变量节点更新单元交错交替读取、处理、存储数据,利用率为100%,解决了传统的LDPC码译码器运算单元利用率不高的问题。
实例
在本实例中,LDPC码的校验矩阵有如下结构,本发明非迭代LDPC码译码器共有为两级,即:
下面结合状态表说明,若发送第A帧的码字为c,c=0110101001,在AWGN信道下,假设接收码字的对数似然比,即A帧似然比LLR值为:
LLR=-54,-13,44,-30,3,-2,78,-41,-30,46,即表2:
L0=-54 | L1=-13 | L2=44 | L3=-30 | L4=3 | L5=-2 | L6=78 | L7=-41 | L8=-30 | L9=46 |
表2
从表2的似然比LLR值可以看出,第二个码字出错。在第一个周期,将A帧似然比LLR值读入La_0;
在第二个周期,从La_0读取A帧数据依据公式qc,v=Lv进行初始化,对Qa_1初始化,最后Qa_0中的数据为:
q0,0=-54 | q0,1=-13 | q0,2=44 | q0,3=-30 | ||||||
q1,0=-54 | q1,4=3 | q1,5=-2 | q1,6=78 |
q2,1=-13 | q2,4=3 | q2,7=-41 | q2,8=-30 | ||||||
q3,2=44 | q3,5=-2 | q3,7=-41 | q3,9=46 | ||||||
q4,3=-30 | q4,6=78 | q4,8=-30 | q4,9=46 |
表3
在第三个周期,进行校验节点更新:同时将La_0中的似然比信息移到La_1中从Qa_1读取A帧数据经过CNU_1保存到Ra_1,见表4:
r0,0=13 | r0,1=30 | r0,2=-13 | r0,3=13 | ||||||
r1,0=-2 | r1,4=2 | r1,5=-3 | r1,6=2 | ||||||
r2,1=3 | r2,4=-13 | r2,7=3 | r2,8=3 | ||||||
r3,2=2 | r3,5=-41 | r3,7=-2 | r3,9=2 | ||||||
r4,3=-30 | r4,6=30 | r4,8=-30 | r4,9=30 |
表4
在第四个周期,更新变量节点:从Ra_1与La_1读取A帧数据保存到Qa_2,见表5:
q0,0=-56 | q0,1=-10 | q0,2=46 | q0,3=-60 | ||||||
q1,0=-41 | q1,4=-10 | q1,5=-43 | q1,6=108 | ||||||
q2,1=17 | q2,4=5 | q2,7=-43 | q2,8=-60 | ||||||
q3,2=31 | q3,5=-5 | q3,7=-38 | q3,9=76 | ||||||
q4,3=-17 | q4,6=80 | q4,8=-28 | q4,9=48 |
表5
在第五个周期,将La_1中的似然比信息移到La_2,更新校验节点:从Qa_2读取A帧数据经过CNU_2保存到Ra_2,见表6:
r0,0=10 | r0,1=46 | r0,2=-10 | r0,3=10 | ||||||
r1,0=10 | r1,4=41 | r1,5=10 | r1,6=-10 | ||||||
r2,1=5 | r2,4=17 | r2,7=-5 | r2,8=-5 | ||||||
r3,2=5 | r3,5=-31 | r3,7=-5 | r3,9=5 |
r4,3=-28 | r4,6=17 | r4,8=-17 | r4,9=17 |
表6
在第六个周期,从Ra_2与La_2读取数据给判决器与输出模块D输出:
L0=-34 | L1=38 | L2=39 | L3=-48 | L4=61 | L5=-23 | L6=85 | L7=-51 | L8=-52 | L9=68 |
表7
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (1)
1.一种非迭代式LDPC码译码器,其特征在于,包括两个初始似然比信息存储器La_0、Lb_0、k级运算单元、判决与输出模块D以及控制单元;
每级运算单元包括:两个变量节点信息矩阵存储器Qa、Qb,校验节点更新单元CNU,似然比信息存储器La、Lb,两个校验节点信息矩阵存储器Ra、Rb,一级变量节点更新单元VNU;
控制单元负责对两个初始似然比信息存储器以及各级运算单元中存储读写的切换与配合进行控制;
在控制单元的控制下,(1)、将待译码的LDPC帧的似然比信息值交替存入初始似然比信息存储器La_0、Lb_0中;
(2)、同时交替地读取初始似然比信息存储器Lb-0、La-0中的数据,并利用读取的数据依据检验矩阵H对两个一级变量节点信息矩阵存储器Qb_1、Qa_1进行初始化,其数据为:
qc,v=Lv
其中,元素qc,v表示变量节点信息矩阵存储器Qb_1、Qa_1中数据的第c行和第v列的值,Lv表示似然比信息值第v个信息位的值;
(3)、同时,在一级运算单元中:
一级校验节点更新单元CNU_1交替读取两个一级变量节点信息矩阵存储器Qa_1、Qb_1中的数据进行检验节点信息矩阵更新,并存入两个一级校验节点信息矩阵存储器Ra_1、Rb_1中,存入的数据为:
rc,v≈min|qc,v′|∏sgn(qc,v′)
其中v′为变量节点信息矩阵存储器Qa_1、Qb_1中数据的列号中去除v的集合,min|qc,v′|表示变量节点信息矩阵存储器Qa_1、Qb_1中数据第c行去除元素qc,v后剩余所有元素中绝对值最小值,∏sgn(qc,v′)表示表示变量节点信息矩阵存储器Qa_1、Qb_1中数据第c行去除元素qc,v后剩余所有元素符号的乘积;同时,交替地读取初始似然比信息存储器La-0、Lb-0中的数据存入一级似然比信息存储器La_1、Lb_1中;
一级变量节点更新单元VNU_1交替读取两个一级校验节点信息矩阵存储器Rb_1、Ra_1中的数据、一级似然比信息存储器Lb_1、La_1中的似然比信息值进行变量节点信息矩阵更新,并存入两个二级变量节点信息矩阵存储器Qb_2、Qa_2中,存入的数据为:
qc,v=Lv+∑rc′v
其中,c′为变量节点信息矩阵存储器Rb_1、Ra_1中数据的行号中去除c的集合,∑rc′v表示变量节点信息矩阵存储器Rb_1、Ra_1中数据第v列去除元素rc,v后所有元素的和;
(4)、同时,在2~k-1级运算单元中,交替读取两个上一级变量节点信息矩阵存储器Qa_i、Qb_i中的数据进行一级运算单元类似的计算操作,除各个操作中存储器、校验节点更新单元、变量节点更新单元级数增加外,其余完全相同,计算出的数据存入两个下一级的变量节点信息矩阵存储器Qb_i+1、Qa_i+1中;
(5)、同时,在k级运算单元中,进行2~k-1级运算单元相同校验节点信息矩阵更新计算,并在k级变量节点更新单元VNU_k交替读取两个k级校验节点信息矩阵存储器Rb_k、Ra_k中的数据计算似然比信息修正值:
Dv=Lv+∑rc,v
(6)、同时,判决与输出模块D恢复信息比特序列,并判决:
则为有效码字,译码成功,否则为失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110242890 CN102299719B (zh) | 2011-08-23 | 2011-08-23 | 一种非迭代式ldpc码译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110242890 CN102299719B (zh) | 2011-08-23 | 2011-08-23 | 一种非迭代式ldpc码译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102299719A CN102299719A (zh) | 2011-12-28 |
CN102299719B true CN102299719B (zh) | 2013-03-06 |
Family
ID=45359912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110242890 Expired - Fee Related CN102299719B (zh) | 2011-08-23 | 2011-08-23 | 一种非迭代式ldpc码译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102299719B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916134B (zh) * | 2014-03-24 | 2017-01-11 | 清华大学 | 低密度奇偶校验码的混叠译码方法及多核协同混叠译码器 |
CN106301389B (zh) * | 2015-06-05 | 2019-09-20 | 华为技术有限公司 | 译码方法和设备 |
CN110474647B (zh) * | 2019-07-03 | 2023-05-23 | 深圳市通创通信有限公司 | 有限域构造的ldpc码的译码方法、装置、译码器及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1008316B (zh) * | 1985-05-08 | 1990-06-06 | 索尼公司 | 纠错码的译码方法和系统 |
US5359606A (en) * | 1992-02-12 | 1994-10-25 | Storage Technology Corporation | Data quality analysis in a data signal processing channel |
-
2011
- 2011-08-23 CN CN 201110242890 patent/CN102299719B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102299719A (zh) | 2011-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105846830B (zh) | 数据处理装置 | |
CN1874164B (zh) | 使用同时存储器存取的消息传递译码装置和方法 | |
US20140223255A1 (en) | Decoder having early decoding termination detection | |
CN100425000C (zh) | 双涡轮结构低密度奇偶校验码解码器及解码方法 | |
CN104868925A (zh) | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 | |
CN106160752A (zh) | 用于分层ldpc译码器的提早退出的系统和方法 | |
CN106571832A (zh) | 一种多进制ldpc码级联神经网络解码方法及装置 | |
CN106936444B (zh) | 一种集合译码方法和集合译码器 | |
CN102299719B (zh) | 一种非迭代式ldpc码译码器 | |
CN101335592B (zh) | 基于矩阵分块的高速ldpc译码器实现方法 | |
CN103188035B (zh) | 迭代解映射解码方法和系统 | |
US20080134008A1 (en) | Parallel LDPC Decoder | |
CN102412843A (zh) | 自适应的归一化最小和ldpc译码方法及译码器 | |
CN113783576A (zh) | 用于从循环置换矩阵的集群构建的准循环低密度奇偶校验码的垂直分层解码的方法及设备 | |
CN101594152B (zh) | 实现水平运算和垂直运算同时运行的ldpc码译码方法 | |
CN105680877A (zh) | 一种cc-qc-ldpc码的构建方法及译码装置 | |
CN106374940A (zh) | 一种多进制ldpc译码方法及译码器 | |
CN102064835B (zh) | 适用于准循环ldpc译码的译码器 | |
CN101917249B (zh) | Qc-ldpc码译码器及其实现方法 | |
CN105814799A (zh) | 纠错解码装置 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
CN104158549A (zh) | 一种极性码译码方法及译码装置 | |
CN101924564A (zh) | 行列节点同步更新的部分并行准循环ldpc码译码器结构 | |
CN105164646A (zh) | 具有早期解码终止检测的解码器 | |
CN101478312A (zh) | 一种ldpc译码器及其实现译码的方法 |
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 |
Granted publication date: 20130306 Termination date: 20150823 |
|
EXPY | Termination of patent right or utility model |