CN102412844B - 一种ira类ldpc码的译码方法及译码装置 - Google Patents

一种ira类ldpc码的译码方法及译码装置 Download PDF

Info

Publication number
CN102412844B
CN102412844B CN201110341403.9A CN201110341403A CN102412844B CN 102412844 B CN102412844 B CN 102412844B CN 201110341403 A CN201110341403 A CN 201110341403A CN 102412844 B CN102412844 B CN 102412844B
Authority
CN
China
Prior art keywords
information
node
check
odd even
memory
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.)
Active
Application number
CN201110341403.9A
Other languages
English (en)
Other versions
CN102412844A (zh
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.)
Guangzhou Haige Communication Group Inc Co
Original Assignee
Guangzhou Haige Communication Group Inc Co
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 Guangzhou Haige Communication Group Inc Co filed Critical Guangzhou Haige Communication Group Inc Co
Priority to CN201110341403.9A priority Critical patent/CN102412844B/zh
Publication of CN102412844A publication Critical patent/CN102412844A/zh
Application granted granted Critical
Publication of CN102412844B publication Critical patent/CN102412844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种IRA类LDPC码的译码方法,主要包括以下步骤:(1)输入信道信息;(2)判断输入信道信息过程是否完成,若否,重复步骤(1)~(2);若是,进行步骤(3);(3)译码迭代过程:包括信息节点处理步骤和校验节点处理步骤;在迭代过程中,本次迭代用到上次迭代的计算结果;(4)将译码结果按照顺序依次输出;步骤(1)~(3)形成第一级流水线,所述步骤(4)形成第二级流水线;所述第二级流水线在第一级流水线结束之后开始,与此同时,第一级流水线同时处理下一个码字的译码。本发明与现有技术相比,提高了译码算法收敛速度,提高了译码器的吞吐量,具有高数据速率、多码率兼容性的优点。

Description

一种IRA类LDPC码的译码方法及译码装置
技术领域
本发明涉及通信领域,特别涉及一种LDPC的译码方法及译码装置。
背景技术
通信系统通常采用信道编码技术来保证在噪声信道通信的可靠性。比如,在卫星通信系统中,由于地理和环境因素的影响,存在大量的噪声源。这些通信信道有其理论上的最大通信容量(也就是著名的香农限),该容量可以使用特定信噪比(SNR)条件下的比特速率(bps)来表示。因此,前向纠错码(FEC)的设计就是为了追求接近香农限的最大比特速率。其中一种接近香农限的编码就是低密度奇偶校验(LDPC)码。
LDPC码是一种线性分组码,它在大量的数据传输和存储信道中可以获得接近香农限的性能,已经广泛应用于各种无线通信系统中,例如第二代卫星数字视频广播标准(DVB-S2)、全球微波接入互操作性技术(WiMax)等,目前支持的最高速率已经达到上百兆,未来将实现几百兆的数据速率。
传统的LDPC码之所以没有被广泛应用,是因为它存在多个缺陷,其中译码器设计方面有以下几个缺陷:一、传统LDPC码的校验矩阵具有随机特性,译码时需要存储一个非稀疏矩阵,而为了追求LDPC码的性能又要求码长足够长,这就导致该稀疏矩阵会非常大,给存储带来很大问题;二、传统LDPC码的译码器吞吐量和实现复杂度之间存在矛盾,如果使用串行译码,则吞吐量必定很低,如果使用全并行或者部分并行译码,则存储器的读写控制必然变得相当繁琐。
因此,从实现的角度来说,通常选择结构简单的LDPC码,非正则重复累积码(IRA)就是其中的一种。该类LDPC码的稀疏校验矩阵H有如下特征:
HM×N=[AM×KBM×M],          (1)
其中N是LDPC码的码长,K是信息位长度,M是校验位长度,B是阶梯型下三角阵:
B = 1 1 1 O 1 1 1 . . . O . 1 1 1 - - - ( 2 )
A矩阵具有如下所示的结构
A=[A0A1..Am-1]               (3)
其中每个Ak(0≤k≤m-1)内部列重都相同,大小为M×(K/m),并且是循环矩阵,具有循环特性,如图1所示。图中具有相同标号的黑方块表示校验矩阵对应位置上的元素为1,无色的方块对应为0。可以看出,相同标号的方块所在的行号都可以由任意一列中同一标号的方块的行号(校验地址)决定,两个相临的列相同标号的方块行号差值固定为q=2modM(取模运算),因此这种情况下每个Ak只需要存储一列中1的行号,然后通过计算得到其它列的行号。通常情况下存储第0列中1所在的行号,也即初始校验地址。校验矩阵H的Tanner图表示如图2所示。Tanner图中用变量节点(包括K个信息节点和M个奇偶节点)表示码字的比特位,对应H矩阵中相应的列,用校验节点表示校验方程,对应H矩阵中相应的行。节点所连接边的个数称为该节点的度或权重。
在LDPC码的译码算法当中,标准的软判决算法为和积算法,但此类算法运算复杂度大,最小和算法是对该算法的一个简化,直接用校验节点输入的可靠度最低后次低的信息作为输出,省去了和积运算中的大量运算。修正的最小和算法对最小和算法做了改进,在输出的最小值或次小值信息上,减去或乘上一个归一化因子,达到减少运算过程占用的资源的目的。
LDPC码作为众多通信系统的最基本的技术,对译码器的数据速率要求已经越来越高。现有的LDPC码的译码器在数据速率、多码率兼容性方面尚还未能很好的适应市场的需求。
发明内容
为了克服现有技术的不足,本发明的目的在于提供高数据速率一种IRA类LDPC码的译码方法。
本发明的另一目的在于提供一种实现上述译码方法的译码装置。
本发明的目的通过以下技术方案实现:
一种非正则重复累积码IRA类LDPC码的译码方法,包括以下步骤:
(1)输入信道信息,初始化用于存储信息节点的信道信息ICh的存储器组INMB,初始化用于存储奇偶节点的信道信息PCh的存储器组PNMB,初始化用于存储奇偶节点向相同编号的校验节点提供的信息PN2CN的辅助存储器组AMB,初始化用于存储校验节点向信息节点传递的信息CN2IN的存储器组EXMB;
(2)判断输入信道信息过程是否完成,若否,重复步骤(1)~(2);若是,进行步骤(3);
(3)译码迭代过程,包括:
(3-1)初始化:
若为第一次迭代,将用于存储前向更新信息的前向更新存储器FUD初始化为正的最大幅值;所述前向更新信息为当前奇偶节点向下一个校验节点传递的信息;
若非第一次迭代,则将前向更新存储器FUD初始化为上一次迭代后前向更新存储器FUD中的内容;
(3-2)信息节点处理:根据信息节点的信道信息ICh和与信息节点相连的校验节点向该信息节点传递的信息CN2IN得到信息节点向校验节点传递的信息IN2CN,并存储在存储器组EXMB;
(3-3)判断是否满足迭代停止条件,若是,则结束迭代过程,对(3-2)中的信道信息ICh和CN2IN进行累加,根据累加和计算译码结果,并将结果存储到码字输出存储器中,进行步骤(4);若否,进行步骤(3-4);
(3-4)校验节点处理,包括以下步骤:
(3-4-1)当前校验节点从存储器组AMB中按顺序读取一个奇偶节点向相同编号的校验节点传递的信息PN2CN;
(3-4-2)从FUD存储器中读取当前存储的前向更新信息;
(3-4-3)从存储器组EXMB中按照地址参数表读取wr-2个IN2CN信息;wr为当前信息节点的行重;
(3-4-4)根据步骤(3-4-1)~(3-4-3)读取的wr个信息,计算wr-2个校验节点向与之相连的信息节点传递的信息CN2IN、当前校验节点向相同编号的奇偶节点传递的信息CN2PN以及当前校验节点向前一个奇偶节点传递的信息CN2PN’;
(3-4-5)输入与当前校验节点相同编号的当前奇偶节点的信道信息PCh及当前奇偶节点的前一个奇偶节点的信道信息PCh’,结合步骤(3-4-4)得到的信息CN2PN和CN2PN’,分别计算前向更新信息和后向更新信息;所述后向更新信息为当前奇偶节点的上一个奇偶节点向相同编号的校验节点传递的信息;将前向更新信息存储在前向更新存储器中,将后向更新信息存储在辅助存储器组AMB中;
(3-4-6)将步骤(3-4-4)得到的wr-2个信息CN2IN根据校验节点移位参数表进行循环移位,然后按照IN2CN的读取顺序存储;
(3-4-7)判断校验节点处理是否完成,若否,重复步骤(3-4-1)~(3-4-7);若是,则返回步骤(3-1),进行下一次迭代;
(4)将译码结果按照顺序依次输出;
所述步骤(1)~(3)形成第一级流水线,所述步骤(4)形成第二级流水线;所述第二级流水线在第一级流水线结束之后开始,与此同时,第一级流水线同时处理下一个码字的译码。
步骤(3-2)所述信息节点处理包括以下步骤:
(3-2-1)从存储器组INMB中读取当前信息节点的信道信息ICh;
(3-2-2)从存储器组EXMB中顺序读取wc个信息CN2IN;其中wc为当前信息节点的列重;CN2IN为与信息节点相连的校验节点向该信息节点提供的信息;
(3-2-3)根据(3-2-1)~(3-2-2)读取的wc+1个信息计算wc个信息节点向校验节点传递的信息IN2CN;
(3-2-4)将步骤(3-2-3)得到的wc个IN2CN信息根据信息节点移位参数表进行循环移位,并将移位之后的信息IN2CN按信息CN2IN的读取顺序存储到存储器组EXMB;
(3-2-5)判断信息节点处理过程是否完成,若否,重复步骤(3-2-1)~(3-2-5);若是,进行步骤(3-3)。
所述前向更新信息由以下方法计算:由步骤(3-4-5)得到的信息CN2PN与当前奇偶节点的信道信息PCh相加得到。
所述后向更新信息由步骤(3-4-5)得到的信息CN2PN’与当前奇偶节点的前一个奇偶节点的信道信息PCh’相加得到。
步骤(3-2-3)所述根据(3-2-1)~(3-2-2)读取的wc+1个信息计算wc个信息节点向校验节点传递的信息IN2CN,具体为:
根据(3-2-1)~(3-2-2)读取的wc+1个信息通过修正的最小和算法计算wc个信息节点向校验节点传递的信息IN2CN。
步骤(3-4-4)所述根据步骤(3-4-1)~(3-4-3)读取的wr个信息,计算wr-2个校验节点向与之相连的信息节点传递的信息CN2IN、当前校验节点向相同编号的奇偶节点传递的信息CN2PN以及当前校验节点向前一个奇偶节点传递的信息CN2PN’,具体为:
根据步骤(3-4-1)~(3-4-3)读取的wr个信息,通过修正的最小和算法计算wr-2个校验节点向与之相连的信息节点传递的信息CN2IN、当前校验节点向相同编号的奇偶节点传递的信息CN2PN以及当前校验节点向前一个奇偶节点传递的信息CN2PN’。
一种实现所述的非正则重复累积码IRA类LDPC码的译码方法的译码装置,包括:
编号为0~p-1的p个主存储器组单元MMB,p≥1;所述主存储器组单元MMB包括用于存储节点间的交换信息的存储器组EXMB、用于存储信息节点信道信息的存储器组INMB、用于存储奇偶节点信道信息的存储器组PNMB和用于存储奇偶节点向相同编号的校验节点提供的信息的辅助存储器组AMB;
编号为0~p-1的p个并行运算的处理单元PU,用于对译码过程中的数据进行处理;所述p≥1;每个处理单元PU均包括一个用于存储前向更新信息的前向更新存储器;所述前向更新信息为当前奇偶节点向下一个校验节点传递的信息;
存储器地址读取控制器,用于实现对主存储器组单元MMB地址读取的控制;
控制单元CU,用于控制迭代过程的进行以及两级流水线的调度;
循环移位器,用于实现对处理单元PU处理后的数据的存储位置向左或向右调整;
码字输出存储器,用于存储最后一次迭代过程中信息处理节点处理过程输出的译码信息,在译码完成后输出译码结果;
所述控制单元CU分别与p个处理单元PU、存储器地址读取控制器、循环移位器连接;
所述循环移位器分别与p个主存储器组单元MMB连接;
所述循环移位器分别与p个处理单元PU连接;
所述存储器地址读取控制器分别与p个主存储器组单元MMB连接;
每个主存储器组单元MMB连接与其编号相同的处理单元PU;
所述码字输出存储器分别与p个处理单元PU连接。
所述的译码装置还包括:
地址参数表存储器,用于存储地址参数表,所述地址参数表存储每次迭代过程中MMB的读取地址;
移位参数表存储器,用于存储信息节点移位参数表和校验节点移位参数表;
所述地址参数表存储器分别与控制单元CU、存储器地址读取控制器连接;
所述循环移位器通过移位参数表存储器与控制单元CU连接。
与现有技术相比,本发明具有以下优点和效果:
(1)在迭代过程中,利用了校验矩阵H的B部分的特殊结构,使用向前更新鲜信息和向后更新信息,减少了变量节点处理过程输出信息的存储空间;本次迭代用到上次迭代的计算结果,可以使译码算法很快收敛,减少了译码器需要的迭代次数,进一步提高译码器的吞吐量;
(2)采用两级流水线作业,译码器的输入和迭代译码与译码结果的输出同时进行,减少连续译码需要的时钟,提高了连续译码时译码器的吞吐量;
(3)采用修正的最小和算法,占用资源少,并且可以通过修改改进的最小和算法的因子来调整不同LDPC码的性能;
(4)所有LDPC码校验矩阵的相关参数都存储在地址参数表存储器和移位参数表存储器两个只读存储器中,通过读取不同地址的参数来实现多种码率的兼容。
附图说明
图1为非正则重复累积码的稀疏校验矩阵对应的Tanner图。
图2为非正则重复累积码的稀疏校验矩阵的子矩阵Ak的循环特性示意图。
图3为本发明的实施例的译码器的组成示意图。
图4为本发明的实施例的寄储器组单元MMB的结构示意图。
图5为本发明的实施例的存储器组INMB的结构示意图。
图6为本发明的实施例的存储器组PNMB的结构示意图。
图7为本发明的实施例的存储器组AMB的结构示意图。
图8为本发明的实施例的存储器组EXMB存储CN2IN信息时的结构示意图。
图9为本发明的实施例的译码方法的第一级流水线过程的流程图。
图10为本发明的实施例的译码方法的信息节点处理阶段的工作方式示意图。
图11为本发明的实施例的译码方法的校验节点处理阶段的工作方式示意图。
图12为本发明的实施例的校验节点处理过程中信息的传递示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
如图3所示,本发明的译码器包括编号为0~p-1(p≥1)的p个主存储器组单元MMB、0~p-1(p≥1)的p个处理单元PU、0~p-1(p≥1)的p个前向更新存储器、地址参数表存储器、存储器地址读取控制器、移位参数表存储器、循环移位器和控制单元CU。
所述控制单元CU分别与p个处理单元PU、地址参数表存储器、存储器地址读取控制器、移位参数表存储器连接;
所述存储器地址读取控制器分别与p个主存储器组单元MMB连接;
每个主存储器组单元MMB连接与其编号相同的处理单元PU;
所述地址参数表存储器还与存储器地址读取控制器连接;
所述循环移位器分别与p个主存储器组单元MMB连接;
所述循环移位器分别与p个处理单元PU连接;
所述移位参数表存储器与循环移位器连接。
下面对本发明的译码器各部分做详细介绍:
(1)存储器组单元MMB
寄储器组单元MMB的个数由处理器PU的个数决定,寄储器组单元MMB包括存储节点间的交换信息的子存储器组EXMB、存储信息节点的信道信息的子存储器组INMB、存储奇偶节点的信道信息的子存储器组PNMB和辅助存储器组AMB,这四部分在MMB中的存储顺序如图4所示。
存储器组INMB用于存储译码器接收到的信息节点(IN)的信道信息,其存储结构如图5所示。图中的标号为IN的标号,每一格为一个存储单元,存储的信息为该IN的信道信息,信息为补码形式。图中m=K/p。
存储器组PNMB用于存储译码器接收到的奇偶节点(PN)的信道信息,其存储结构如图6所示。图中的标号为PN的标号,每一格为一个存储单元,存储的信息为该PN的信道信息,信息为补码形式。图中q=M/p。
存储器组AMB存储的信息为PN向相同编号的CN提供的信息,信息为{符号,幅度}形式,其存储结构如图7所示。图中的标号为PN的标号,每一格为一个存储单元,在接收信道信息时,对它进行初始化,初始化值为对应的PN信道信息(即PNMB中的信息)的符号-幅度形式。
存储器组EXMB用于存储译码过程中校验节点(CN)与信息节点(IN)之间传递的信息,在信息节点处理阶段,存储的是校验节点(CN)向信息节点(IN)提供的信息量CN2IN,在校验节点处理阶段,存储的是信息节点(IN)向校验节点(CN)提供的信息量IN2CN。
p个EXMB存储CN2IN信息的格式如图8所示。图中的标号为IN的标号,存储的信息为与IN相连的CN向该IN提供的信息CN2IN。与INMB、PNMB、AMB不同的是,EXMB的每一格包含多个存储单元而非一个存储单元,单元个数由信息节点的度数(即:校验矩阵中对应于IN节点的列的权重)决定,每个单元的信息是Tanner图上与IN相连接的CN节点向该IN传递的信息。
当EXMB用于存储IN2CN信息时,其格式由校验矩阵中非零点的位置决定,校验矩阵不同,存储的结构也会不同。
(2)处理单元PU
处理单元PU,用于对MMB中的数据进行处理;本实施包括p个并行计算的处理单元PU。每个处理单元PU均包括一个用于存储前向更新信息的前向更新存储器;所述前向更新信息为当前奇偶节点向下一个校验节点传递的信息。
(3)地址参数表存储器
地址参数表存储器用于存储地址参数表存储器,地址参数表存储每次迭代过程中MMB的读取地址。地址参数表包含两部分,一部分是信息节点处理阶段MMB的读取地址,该阶段是顺序读取的;另一部分为校验节点处理阶段MMB的读取地址,该阶段是乱序读取的,读取值由校验矩阵决定。
(4)移位参数表存储器
移位参数表存储器用于存储移位参数表,移位参数表用于存储PU处理之后的数据的移位值,该移位值送入循环移位器,指示移位器输入数据的位置需要移动的个数。
(5)循环移位器
循环移位器用于实现对PU处理后的数据存储位置的向左/向右调整;使之满足整个译码器的要求。
(6)存储器地址读取控制器
存储器地址读取控制器,用于根据地址参数表实现对存储器读取的控制。
(7)码字输出存储器
码字输出存储器用于存储最后一次迭代过程中INU单元输出的译码信息,在译码完成后输出译码结果。
本发明的一种IRA类LDPC码的译码方法,包括下述步骤(1)~(4),其中步骤(1)~(3)形成第一级流水线,步骤(4)形成第二级流水线;所述第二级流水线在第一级流水线结束之后开始,与此同时,第一级流水线同时处理下一个码字的译码,图9为步骤(1~)(3)的流程图:
(1)输入信道信息,初始化用于存储信息节点的信道信息ICh的存储器组INMB,初始化用于存储奇偶节点的信道信息PCh的存储器组PNMB,初始化用于存储奇偶节点向相同编号的校验节点提供的信息PN2CN的辅助存储器组AMB,初始化用于存储校验节点向信息节点传递的信息CN2IN的存储器组EXMB;
(2)判断输入信道信息过程是否完成,若否,重复步骤(1)~(2);若是,进行步骤(3);
(3)译码迭代过程,包括:
(3-1)初始化:
若为第一次迭代,将用于存储前向更新信息的前向更新存储器FUD初始化为正的最大幅值;所述前向更新信息为当前奇偶节点向下一个校验节点传递的信息;
若非第一次迭代,则将前向更新存储器FUD初始化为上一次迭代后前向更新存储器FUD中的内容;
(3-2)信息节点处理,具体包括以下步骤:
(3-2-1)从存储器组INMB中读取当前信息节点的信道信息ICh;
(3-2-2)从存储器组EXMB中顺序读取wc个信息CN2IN;其中wc为当前信息节点的列重;CN2IN为与信息节点相连的校验节点向该信息节点提供的信息;
(3-2-3)据(3-2-1)~(3-2-2)读取的wc+1个信息通过修正的最小和算法计算wc个信息节点向校验节点传递的信息IN2CN;
(3-2-4)将步骤(3-2-3)得到的wc个IN2CN信息根据信息节点移位参数表进行循环移位,并将移位之后的信息IN2CN按信息CN2IN的读取顺序存储到存储器组EXMB;
(3-2-5)判断信息节点处理过程是否完成,若否,重复步骤(3-2-1)~(3-2-5);若是,进行步骤(3-3)。
图10为信息节点处理阶段的工作工程的示意图。图中ICh表示当前IN的信道信息,ICh_en为ICh有效信号,CN2IN为校验节点向信息节点提供的信息,Cnt_in/Cnt_out分别为交换信息输入/输出计数器,输入的CN2IN信息临时存储在存储器MEM中。累加器SUM对读取的wc+1个信息进行累加,将累加的结果减去输入的wc个交换信息CN2IN,通过修正模块实现与修正因子δ相乘(一般情况下,修正因子为固定常数,可以使用二进制加法实现),再经过TC2SM(Change Two’s Complement to Sign-Magnitude)模块将补码形式转换成符号-幅度形式,将输出的信息转换为校验节点处理单元需要的输入信息格式。
本实施的修正的最小和算法如下:
(S1)输入数域先验概率
Figure GDA00003502547700101
计算变量节点(包括信息节点和校验节点)向校验节点传递的初始信息L(qij)=δ*L(ci)=δ*2yi2,(i,j)∈{(i,j)|Hij=1}
其中,δ为最小和算法的修正因子;
(S2)计算校验节点向变量节点传递的信息:
校验节点接收到变量节点提供的信息为L(qij)=αijβij,其中αij=sign(L(qij)),βij=abs(L(qij)),则校验节点向变量节点传递的信息为:
L ( r ji ) = ( Π i ′ ∈ V j \ i α i ′ j ) min i ′ ∈ V j \ i ( β i ′ j )
其中Vj={i:Hij=1},Vj\i指集合Vj中除去节点i;
(S3)计算变量节点向校验节点传递的信息
L ( q ij ) = δ ( L ( c i ) + Σ j ′ ∈ C i \ j L ( r j ′ i ) )
这里Ci={j:Hij=1},Ci\j指集合Ci中除去节点j。
(3-3)判断是否满足迭代停止条件,若是,则结束迭代过程,对信道信息ICh和(3-2-2)读取的wc个CN2IN进行累加,根据累加和计算译码结果,并将结果存储到码字输出存储器中,进行步骤(4);若否,进行步骤(3-4);
(3-4)校验节点处理,包括以下步骤:
(3-4)校验节点处理,包括以下步骤:
(3-4-1)当前校验节点从存储器组AMB中按顺序读取一个奇偶节点向相同编号的校验节点传递的信息PN2CN;
(3-4-2)从FUD存储器中读取当前存储的前向更新信息;
(3-4-3)从存储器组EXMB中按照地址参数表读取wr-2个IN2CN信息;wr为当前信息节点的行重;
(3-4-4)根据步骤(3-4-1)~(3-4-3)读取的wr个信息,通过修正的最小和算法计算wr-2个校验节点向与之相连的信息节点传递的信息CN2IN、当前校验节点向相同编号的奇偶节点传递的信息CN2PN以及当前校验节点向前一个奇偶节点传递的信息CN2PN’;
(3-4-5)输入与当前校验节点相同编号的当前奇偶节点的信道信息PCh及当前奇偶节点的前一个奇偶节点的信道信息PCh’,结合步骤(3-4-4)得到的信息CN2PN和CN2PN’,分别计算前向更新信息和后向更新信息;所述后向更新信息为当前奇偶节点的上一个奇偶节点向相同编号的校验节点传递的信息;将前向更新信息存储在前向更新存储器中,将后向更新信息存储在辅助存储器组AMB中。
所述前向更新信息由以下方法计算:由步骤(3-4-5)得到的信息CN2PN与当前奇偶节点的信道信息PCh相加得到。
述后向更新信息由步骤(3-4-5)得到的信息CN2PN’与当前奇偶节点的前一个奇偶节点的信道信息PCh’相加得到。
(3-4-6)将步骤(3-4-4)得到的wr-2个信息CN2IN根据校验节点移位参数表进行循环移位,然后按照IN2CN的读取顺序存储;
(3-4-7)判断校验节点处理是否完成,若否,重复步骤(3-4-1)~(3-4-7);若是,则返回步骤(3-1),进行下一次迭代;
校验节点处理阶段的工作方式如图11所示。图中上半部分进行幅度操作,下半部分进行符号操作。输入信号由min/min2单元分别用来计算的最小幅度和次小幅度,由符号操作部分计算输出的传递信息的符号,由SM2TC(ChangeSign-Magnitude to Two’s Complement)模块将符号-幅度形式转换成补码形式,将输出的信息转换为信息节点处理单元需要的输入信息格式。
图12是校验节点处理过程中信息的传递示意图。假设一个校验节点(CN)与两个信息节点(IN)相连接,同时也与两个奇偶节点(PN)相连接,此时CN的权重为4。设in表示信息节点向校验节点提供的信息IN2CN,pn表示奇偶节点(PN)向校验节点提供的信息(图中p3表示PNj传递给CNj的信息PN2CN;p4表示PNj传递给CNj+1的信息,即前向更新信息),cn表示校验节点向奇偶节点提供的信息(其中c1,c3,c5为校验节点向相同编号的奇偶节点提供的信息,c2,c4,c6为校验节点向前一个奇偶节点提供的信息),dn表示校验节点向信息节点提供的信息CN2IN。
由图12可知:
在一个处理周期内,处理器单元CNUa(表示第a个处于检验节点处理阶段的处理单元PU)处理校验节点CNj得到的信息,并计算出校验节点向奇偶节点提供的信息c2、c3,以及校验节点向信息节点提供的信息d1、d2,它们是i1,i2,p2,p3的函数,记为:
c2=CNUa(i1,i2,p3)
c3=CNUa(i1,i2,p2)
d1=CNUa(i2,p2,p3)
d2=CNUa(i1,p2,p3)
其中p2在上一个处理周期被同一个处理单元CNUa计算出来,并存储在前向更新存储器FUDa中。
在下一个处理周期内,CNUa处理校验节点CNj+1得到的信息:
c4=CNUa(i3,i4,p5),
c5=CNUa(i3,i4,p4),
d3=CNUa(i4,p4,p5)
d4=CNUa(i3,p4,p5)
其中
Figure GDA00003502547700121
Figure GDA00003502547700122
为奇偶节点j的信道信息,这个过程称为前向更新,前向更新信息P4被存储在前向更新存储器FUDa中。
与此同时,CNUa计算出迭代以后更新的信息p3':
Figure GDA00003502547700131
这个过程称为后向更新,后向更新信息p3'被存储在AMB中。
归纳校验节点处理过程:只需要将具有相同编号的奇偶节点向校验节点提供的信息(图中p1,p3,p5)存储到AMB中,而不需要存储奇偶节点向下一个校验节点提供的信息(图中p2,p4),这些信息通过简单的运算(如)求出。需要更新的信息(p1,p3,p5)在处理器处理下一个校验节点的时候更新。
(4)将译码结果按照顺序依次输出。
本发明的IRA类的LDPC译码器结构简单,可以应用在DVB-S2系统中,并且可以实现很高的数据速率,使用FPGA(现场可编程逻辑阵列)实现时,在系统时钟为150MHz,LDPC最高码率为0.9时,速率可以达到90Mbps,如果使用ASIC(专用集成电路)实现,可以达到上百兆的速率,因此可以满足目前乃至未来高速数据传输的需求。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (8)

1.一种非正则重复累积码IRA类LDPC码的译码方法,其特征在于,包括以下步骤:
(1)输入信道信息,初始化用于存储信息节点的信道信息ICh的存储器组INMB,初始化用于存储奇偶节点的信道信息PCh的存储器组PNMB,初始化用于存储奇偶节点向相同编号的校验节点提供的信息PN2CN的辅助存储器组AMB,初始化用于存储校验节点向信息节点传递的信息CN2IN的存储器组EXMB;
(2)判断输入信道信息过程是否完成,若否,重复步骤(1)~(2);若是,进行步骤(3);
(3)译码迭代过程,包括:
(3-1)初始化:
若为第一次迭代,将用于存储前向更新信息的前向更新存储器FUD初始化为正的最大幅值;所述前向更新信息为当前奇偶节点向下一个校验节点传递的信息;
若非第一次迭代,则将前向更新存储器FUD初始化为上一次迭代后前向更新存储器FUD中的内容;
(3-2)信息节点处理:根据读取的信息节点的信道信息ICh、与信息节点相连的校验节点向该信息节点传递的信息CN2IN,得到信息节点向校验节点传递的信息IN2CN,并将信息IN2CN存储在存储器组EXMB;
(3-3)判断是否满足迭代停止条件,若是,则结束迭代过程,对(3-2)中读取的信道信息ICh和CN2IN进行累加,根据累加和计算译码结果,并将结果存储到码字输出存储器中,进行步骤(4);若否,进行步骤(3-4);
(3-4)校验节点处理,包括以下步骤:
(3-4-1)当前校验节点从存储器组AMB中按顺序读取一个奇偶节点向相同编号的校验节点传递的信息PN2CN;
(3-4-2)从FUD存储器中读取当前存储的前向更新信息;
(3-4-3)从存储器组EXMB中按照地址参数表读取wr-2个IN2CN信息;wr为当前信息节点的行重;
(3-4-4)根据步骤(3-4-1)~(3-4-3)读取的wr个信息,通过修正的最小和算法计算wr-2个校验节点向与之相连的信息节点传递的信息CN2IN、当前校验节点向相同编号的奇偶节点传递的信息CN2PN以及当前校验节点向前一个奇偶节点传递的信息CN2PN’;
(3-4-5)输入与当前校验节点相同编号的当前奇偶节点的信道信息PCh及当前奇偶节点的前一个奇偶节点的信道信息PCh’,结合步骤(3-4-4)得到的信息CN2PN和CN2PN’,分别计算前向更新信息和后向更新信息;所述后向更新信息为当前奇偶节点的上一个奇偶节点向相同编号的校验节点传递的信息;将前向更新信息存储在前向更新存储器中,将后向更新信息存储在辅助存储器组AMB中;
(3-4-6)将步骤(3-4-4)得到的wr-2个信息CN2IN根据校验节点移位参数表进行循环移位,然后按照IN2CN的读取顺序存储;
(3-4-7)判断校验节点处理是否完成,若否,重复步骤(3-4-1)~(3-4-7);若是,则返回步骤(3-1),进行下一次迭代;
(4)将译码结果按照顺序依次输出;
所述步骤(1)~(3)形成第一级流水线,所述步骤(4)形成第二级流水线;所述第二级流水线在第一级流水线结束之后开始,与此同时,第一级流水线同时处理下一个码字的译码。
2.根据权利要求1所述的IRA类LDPC码的译码方法,其特征在于,步骤(3-2)所述信息节点处理包括以下步骤:
(3-2-1)从存储器组INMB中读取当前信息节点的信道信息ICh;
(3-2-2)从存储器组EXMB中顺序读取wc个信息CN2IN;其中wc为当前信息节点的列重;CN2IN为与信息节点相连的校验节点向该信息节点提供的信息;
(3-2-3)根据(3-2-1)~(3-2-2)读取的wc+1个信息计算wc个信息节点向校验节点传递的信息IN2CN;
(3-2-4)将步骤(3-2-3)得到的wc个IN2CN信息根据信息节点移位参数表进行循环移位,并将移位之后的信息IN2CN按信息CN2IN的读取顺序存储到存储器组EXMB;
(3-2-5)判断信息节点处理过程是否完成,若否,重复步骤(3-2-1)~(3-2-5);若是,进行步骤(3-3)。
3.根据权利要求1所述的IRA类LDPC码的译码方法,其特征在于,所述前向更新信息由以下方法计算:由步骤(3-4-5)得到的信息CN2PN与当前奇偶节点的信道信息PCh相加得到。
4.根据权利要求1所述的IRA类LDPC码的译码方法,其特征在于,所述后向更新信息由步骤(3-4-5)得到的信息CN2PN’与当前奇偶节点的前一个奇偶节点的信道信息PCh’相加得到。
5.根据权利要求2所述的IRA类LDPC码的译码方法,其特征在于,步骤(3-2-3)所述根据(3-2-1)~(3-2-2)读取的wc+1个信息计算wc个信息节点向校验节点传递的信息IN2CN,具体为:
根据(3-2-1)~(3-2-2)读取的wc+1个信息通过修正的最小和算法计算wc个信息节点向校验节点传递的信息IN2CN。
6.根据权利要求1所述的IRA类LDPC码的译码方法,其特征在于,步骤(3-4-4)所述根据步骤(3-4-1)~(3-4-3)读取的wr个信息,计算wr-2个校验节点向与之相连的信息节点传递的信息CN2IN、当前校验节点向相同编号的奇偶节点传递的信息CN2PN以及当前校验节点向前一个奇偶节点传递的信息CN2PN’,具体为:
根据步骤(3-4-1)~(3-4-3)读取的wr个信息,通过修正的最小和算法计算wr-2个校验节点向与之相连的信息节点传递的信息CN2IN、当前校验节点向相同编号的奇偶节点传递的信息CN2PN以及当前校验节点向前一个奇偶节点传递的信息CN2PN’。
7.一种实现如权利要求1~6任一项所述的非正则重复累积码IRA类LDPC码的译码方法的译码装置,其特征在于,包括:
编号为0~p-1的p个主存储器组单元MMB,p≥1;所述主存储器组单元MMB包括用于存储节点间的交换信息的存储器组EXMB、用于存储信息节点信道信息的存储器组INMB、用于存储奇偶节点信道信息的存储器组PNMB和用于存储奇偶节点向相同编号的校验节点提供的信息的辅助存储器组AMB;
编号为0~p-1的p个并行运算的处理单元PU,用于对译码过程中的数据进行处理;所述p≥1;每个处理单元PU均包括一个用于存储前向更新信息的前向更新存储器;所述前向更新信息为当前奇偶节点向下一个校验节点传递的信息;
存储器地址读取控制器,用于实现对主存储器组单元MMB地址读取的控制;
控制单元CU,用于控制迭代过程的进行以及两级流水线的调度;
循环移位器,用于实现对处理单元PU处理后的数据的存储位置向左或向右调整;
码字输出存储器,用于存储最后一次迭代过程中信息处理节点处理过程输出的译码信息,在译码完成后输出译码结果;
所述控制单元CU分别与p个处理单元PU、存储器地址读取控制器、循环移位器连接;
所述循环移位器分别与p个主存储器组单元MMB连接;
所述循环移位器分别与p个处理单元PU连接;
所述存储器地址读取控制器分别与p个主存储器组单元MMB连接;
每个主存储器组单元MMB连接与其编号相同的处理单元PU;
所述码字输出存储器分别与p个处理单元PU连接。
8.根据权利要求7所述的译码装置,其特征在于,还包括:
地址参数表存储器,用于存储地址参数表,所述地址参数表存储每次迭代过程中MMB的读取地址;
移位参数表存储器,用于存储信息节点移位参数表和校验节点移位参数表;
所述地址参数表存储器分别与控制单元CU、存储器地址读取控制器连接;
所述循环移位器通过移位参数表存储器与控制单元CU连接。
CN201110341403.9A 2011-11-02 2011-11-02 一种ira类ldpc码的译码方法及译码装置 Active CN102412844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110341403.9A CN102412844B (zh) 2011-11-02 2011-11-02 一种ira类ldpc码的译码方法及译码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110341403.9A CN102412844B (zh) 2011-11-02 2011-11-02 一种ira类ldpc码的译码方法及译码装置

Publications (2)

Publication Number Publication Date
CN102412844A CN102412844A (zh) 2012-04-11
CN102412844B true CN102412844B (zh) 2014-03-05

Family

ID=45914732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110341403.9A Active CN102412844B (zh) 2011-11-02 2011-11-02 一种ira类ldpc码的译码方法及译码装置

Country Status (1)

Country Link
CN (1) CN102412844B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595590B1 (en) * 2012-12-03 2013-11-26 Digital PowerRadio, LLC Systems and methods for encoding and decoding of check-irregular non-systematic IRA codes
CN105322971B (zh) * 2014-07-23 2019-02-26 上海数字电视国家工程研究中心有限公司 针对下一代无线广播的ldpc码字及编码方法和编解码器
US11551065B2 (en) 2017-11-06 2023-01-10 Imagination Technologies Limited Neural network architecture using control logic determining convolution operation sequence
CN109936378B (zh) * 2017-12-19 2022-08-26 北京紫光展锐通信技术有限公司 Ldpc的乱序译码实现方法及装置
CN108875207B (zh) * 2018-06-15 2022-11-11 岭东核电有限公司 一种核反应堆优化设计方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521511A (zh) * 2008-02-28 2009-09-02 重庆无线绿洲通信技术有限公司 多元非规则ra码的构造与编码方法
CN101540614A (zh) * 2009-04-22 2009-09-23 东南大学 重复累积码的译码方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352847B2 (en) * 2009-12-02 2013-01-08 Lsi Corporation Matrix vector multiplication for error-correction encoding and the like

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521511A (zh) * 2008-02-28 2009-09-02 重庆无线绿洲通信技术有限公司 多元非规则ra码的构造与编码方法
CN101540614A (zh) * 2009-04-22 2009-09-23 东南大学 重复累积码的译码方法

Also Published As

Publication number Publication date
CN102412844A (zh) 2012-04-11

Similar Documents

Publication Publication Date Title
US11381255B2 (en) Vertical layered finite alphabet iterative decoding
CN104868925B (zh) 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
US10536169B2 (en) Encoder and decoder for LDPC code
CN101159436B (zh) 解码设备及方法
CN101079639B (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
CN102412847B (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
US7752524B2 (en) Method and device for decoding DVB-S2 LDPC encoded codewords
US7774674B2 (en) LDPC decoder for DVB-S2 decoding
CN101741396B (zh) 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
CN102412844B (zh) 一种ira类ldpc码的译码方法及译码装置
CN102412843B (zh) 自适应的归一化最小和ldpc译码方法及译码器
US11258460B2 (en) Method and apparatus for vertical layered decoding of quasi-cyclic low-density parity check codes built from clusters of circulant permutation matrices
CN103188035A (zh) 迭代解映射解码方法和系统
CN101800627B (zh) 一种多码率兼容的高速ldpc编码器的硬件实现
US20110179337A1 (en) Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof
CN101917249B (zh) Qc-ldpc码译码器及其实现方法
CN102340317A (zh) 结构化ldpc码的高吞吐率译码器结构及方法
CN102594369B (zh) 基于fpga的准循环低密度校验码译码器及译码方法
CN102064837B (zh) 基于fifo分段存储的qc-ldpc码部分并行译码方法
CN101958718B (zh) 用于ldpc码的改进型半并行译码器和译码方法
CN116707546A (zh) 一种准循环ldpc译码的硬件实现方法及装置
CN102801432A (zh) 一种多进制ldpc的串行fht-bp译码方法及装置
CN102386932B (zh) Ldpc码的构造方法
CN103731161A (zh) 一种用于ldpc码的交叠译码方法
CN109639288A (zh) 适用于qc-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
GR01 Patent grant
GR01 Patent grant