一种资源配置灵活的吉比特ldpc译码方法

文档序号:7545285阅读:237来源:国知局
一种资源配置灵活的吉比特ldpc译码方法
【专利摘要】一种资源配置灵活的吉比特LDPC译码方法,通过将N个LDPC码字的初始化软信息拼装为一个多路的译码信息,并同时进行多路CNU、VNU计算。N个LDPC码字译码过程中的中间信息存储同样采用拼装的结构实现,既实现了资源的有效利用,同时可以将译码的速率按需要提升到吉比特以上。本发明适用于对译码速率有不同要求的场合,可灵活实现资源占用和译码速率的折衷。
【专利说明】一种资源配置灵活的吉比特LDPC译码方法
【技术领域】
[0001]本发明涉及数字信息传输【技术领域】,特别涉及一种资源配置灵活的吉比特LDPC译码方法。
【背景技术】
[0002]低密度奇偶校验(LDPC, Low Density Parity Check)码是一种线性分组码,可以用生成矩阵G和校验矩阵H来表示,并且它的奇偶校验矩阵H中非零元素的个数远远小于零元素的个数。
[0003]LDPC码的译码算法主要是基于二分图的消息传递(Message Passing)算法,具体包括硬判决译码算法、概率译码算法、和积算法、最小和算法、比特翻转和大数逻辑等LDPC译码方法。其中,和积(Sum Product)算法又称置信传播(BP,Belief Propagation)算法,实质上是二进制概率译码算法的对数域运算。译码器的输入为接收序列的对数似然比,在对数空间下,通过利用变量节点和校验节点的约束关系进行迭代译码。此时变量节点的约束关系表现为“和”的形式,即各变量节点的输出是各个输入对数似然比的和;而校验节点的约束关系表现为“积”的形式,即各校验节点的输出是各个输入对数似然值某种函数的乘积。由于两个校验节点的计算特性,因此该算法称之为“和积”算法。
[0004]在LDPC码的实现中,译码算法和译码器设计是决定码字性能和应用前景的重要因素之一。目前,BP算法作为LDPC码的一种经典译码算法被人们广泛使用。在其于BP算法的译码器具体实现方法上,按照速率的高低一般可分为全并行方式、串行方式和半并行方式。对于一个行列大小为MXN的LDPC校验矩阵,全并行方式每次迭代时,同时对其M行/N列进行更新,具有译码速率快的优点,但实现复杂度和资源占用率很高,当M/N较大时,基本不可实现。串行方式实现的译码器具有结构简单、资源占用少的特点,不足之处在于译码速率较低,无法满足吉比特译码需求。
[0005]半并行方式的译码是目前应用最多的吉比特译码实现方法,实现时主要包括五个主要部分:信道信息存储器、旋转网络、行运算单元、列运算单元及外信息存储器。首先译码器接收经过量化的对数似然比信息,写入信道存储器。接收完一帧信息后,开始从信道信息存储器中读出信道信息,通过旋转网络改变读出的信道信息的位置使在LDPC码校验矩阵中同一行的信道信息送入同一个行列运算单元。同时将外信息存储器中存储的外信息也读出并送到行列运算单元和信道信息一起进行行列运算。运算的结果写回到信道信息存储器和外信息存储器。当校验矩阵的所有行都完成了一次行列运算后则一次迭代译码过程结束
[0006]半并行方式在每次迭代时,只更新一个码字的部分行/列,可有获得较快的译码速率,且在资源和复杂度上具有可实现性,但其译码器的结构与校验矩阵的特点有关系,译码器结构一旦设计好,其译码速率、所占用的资源都固定下来,欠缺应用的灵活性。另一方面,半并行译码器包含一个旋转网络模块,其通常的实现都需要一个桶形移位器装置,以实现行/列更新时,信息映射关系的转换,具有逻辑实现复杂度较高的特点。
【发明内容】

[0007]本发明的技术解决问题为:克服现有技术的不足,提供了一种LDPC高速译码装置,按照译码速率需求,对多帧码字的译码软信息进行拼接,同时进行CNU、VNU的迭代更新计算。采用本发明能够实现资源和译码速率的灵活配置,且实现复杂度较低。
[0008]本发明的技术解决方案为:
[0009]一种资源配置灵活的吉比特LDPC译码方法,步骤如下:
[0010](I)在码字分配器中,将外部输入的N个LDPC码字的初始化软信息以帧为单位分别存储在码字分配器中的N个输入FIFO中,等待译码;
[0011](2)将外部输入的N个LDPC码字的初始化软信息按照LDPC校验矩阵的结构分别存储在中间信息存储模块的N个子模块中;
[0012](3)当某个输入FIFO中存储的信息构成一个完整的LDPC译码软信息向量时,给控制器发出开始译码指示信号;
[0013](4)控制器接收到开始译码指示信号后控制多路CNU单元读取所述中间信息存储模块N个子模块中的信息,每个子模块中均读取LDPC码字的M行信息,拼装为一个N*M行的信息向量,进行CNU计算,并将计算结果返回给所述N个子模块中,覆盖所述读取的LDPC码字M行信息所对应的位置;
[0014](5)重复执行步骤(4),直到完成N个LDPC码字中所有软信息的CNU计算,即完成了 LDPC码字的一次CNU运算的更新,之后进入步骤(6);
[0015](6)控制器控制多路VNU单元读取CNU运算更新后的N个子模块中的LDPC码字的K列信息,拼装为一个N*K列的信息向量,结合所述码字分配器中N个输入FIFO中的信息进行VUN计算,得到N*K列的VNU更新结果和N*K个用于硬判决的校验信息;VUN更新结果返回给所述N个中间信息存储器的子模块,覆盖所述读取的LDPC码字K列信息所对应的位置;N*K个用于硬判决的校验信息送入码字输出缓冲器中进行缓存;
[0016](7)重复执行步骤(6),直到完成N个LDPC码字中所有软信息的VNU计算,且用于硬判决的校验信息累加为N个LDPC码字的帧长,即完成了 LDPC码字的一次VNU运算的更新,之后进入步骤(8);
[0017](8)码字输出缓冲器将所述N个LDPC码字帧长的硬判决校验信息与LDPC校验矩阵相乘,如果N个LDPC码字的校验和均为0,则译码成功,将硬判决校验信息输出;否则返回步骤(4)再次进行迭代,如果迭代次数超过预设值,则将硬判决校验信息直接输出。
[0018]所述输入FIFO中存储的信息构成一个完整的LDPC译码软信息向量是指:存储的信息长度达到一个帧长。
[0019]步骤(5)中每次在同一个子模块中读取的LDPC码字的M行信息均不重复。
[0020]所述N、M和K均为正整数。
[0021]本发明与现有技术相比具有如下优点:
[0022]I)在译码过程中,同时对N个LDPC码字进行合并译码,可以获得较高的译码速率。
[0023]2)在迭代译码过程中,对于每个待译LDPC码字,其信息的读取采用结构化实现,通过将N个LDPC译码信息拼装为一个N*M行/N*K列的信息向量进行CNU/VNU计算,其在译码速率上相当于同时对I个LDPC码字的N*M行同时进行计算,而同时避免了对I个LDPC码字的多行/多列信息的并行读取,从而不需要在译码器中配置一般的桶形移位器,降低了实现的复杂度。采用本发明可以灵活实现译码速率和资源需求的折衷,具有较大的实际意义。
【专利附图】

【附图说明】
[0024]图1为本发明方法流程图;
[0025]图2为本发明译码装置示意图;
【具体实施方式】
[0026]如图2所示,本发明译码方法所依托的译码装置包括:码字分配器、多路CNU单元、多路VNU单元、码字输出缓冲器、控制器和中间信息存储模块;
[0027]码字分配器接收前级输入的串行初始化软信息,按照设计参数,对N个LDPC码的初始化软信息进行缓存和重组,以帧为单位存储于输入缓冲区中,同时还存入中间信息存储模块。当缓存的软信息达到一次译码的数据要求时,则开始将软信息输入多路CNU单元、多路VNU单元进行译码迭代,得到相应的行更新信息、列更新信息。控制器对各模块的工作状态进行实时控制,当监视到当前N帧的迭代译码完成时,则控制将译码后的数据送入码字输出缓冲器。码字输出缓冲器对输入的译码完成的N帧并行码字进行缓存和重组,转换后串行数据流输出,完成译码操作。
[0028]如图1所示,本发明提供的一种资源配置灵活的吉比特LDPC译码方法,步骤如下:
[0029](I)在码字分配器中,将外部输入的N个LDPC码字的初始化软信息以帧为单位分别存储在码字分配器中的N个输入FIFO中,等待译码;
[0030](2)将外部输入的N个LDPC码字的初始化软信息按照LDPC校验矩阵的结构分别存储在中间信息存储模块的N个子模块中;
[0031](3)当某个输入FIFO中存储的信息构成一个完整的LDPC译码软信息向量时,给控制器发出开始译码指示信号;所述输入FIFO中存储的信息构成一个完整的LDPC译码软信息向量是指:存储的信息长度达到一个帧长。
[0032](4)控制器接收到开始译码指示信号后控制多路CNU单元读取所述中间信息存储模块N个子模块中的信息,每个子模块中均读取LDPC码字的M行信息,拼装为一个N*M行的信息向量,进行CNU计算,并将计算结果返回给所述N个子模块中,覆盖所述读取的LDPC码字M行信息所对应的位置;
[0033](5)重复执行步骤(4),直到完成N个LDPC码字中所有软信息的CNU计算,即完成了 LDPC码字的一次CNU运算的更新,之后进入步骤(6);每次在同一个子模块中读取的LDPC码字的M行信息均不重复。
[0034](6)控制器控制多路VNU单元读取CNU运算更新后的N个子模块中的LDPC码字的K列信息,拼装为一个N*K列的信息向量,结合所述码字分配器中N个输入FIFO中的信息进行VUN计算,得到N*K列的VNU更新结果和N*K个用于硬判决的校验信息;VUN更新结果返回给所述N个中间信息存储器的子模块,覆盖所述读取的LDPC码字K列信息所对应的位置;N*K个用于硬判决的校验信息送入码字输出缓冲器中进行缓存;
[0035](7)重复执行步骤(6),直到完成N个LDPC码字中所有软信息的VNU计算,且用于硬判决的校验信息累加为N个LDPC码字的帧长,即完成了 LDPC码字的一次VNU运算的更新,之后进入步骤(8);
[0036](8)码字输出缓冲器将所述N个LDPC码字帧长的硬判决校验信息与LDPC校验矩阵相乘,如果N个LDPC码字的校验和均为0,则译码成功,将硬判决校验信息输出;否则返回步骤(4)再次进行迭代,如果迭代次数超过预设值,则将硬判决校验信息直接输出。
[0037]所述N、M和K均为正整数。N的取值决定了译码器的并行路数,N值越大则总的译码速率越高。M和K的取值可按照LDPC码校验矩阵的结构特点进行选择,一般与校验矩阵的行子块数和列子块数有关。中间信息存储器随着所需并行路数N值的增加可以灵活方便的进行扩展,不涉及整个译码器结构的调整,以满足不同译码速率的应用需求。
[0038]下面以CCSDS标准规定的7/8码率LDPC码为例,给出一个具体实施例。CCSDS标准规定的7/8码率LDPC码检验矩阵H为QC-LDPC (准循环LDPC矩阵),子阵A表示为MXM(M=511)的循环矩阵,下一行为上一行的循环移位。H矩阵总共包含32个行重为2和列重为2的子阵,其中有2个子块行和16个子块列。以N=S路并行译码为例,对译码方法进行说明。
[0039](I)在码字分配器中,将外部输入的N=S个LDPC码字的初始化软信息以帧为单位分别存储在码字分配器中的8个输入FIFO中,等待译码;
[0040](2)将外部输入的N=8个LDPC码字的初始化软信息按照LDPC校验矩阵的结构分别存储在中间信息存储模块的N=S个子模块中;
[0041](3)当码字分配器中所存储的信息构成一个完整的LDPC译码软信息向量时,给控制器发出开始译码指示信号;
[0042](4)控制器接收到开始译码指示信号后控制多路CNU单元读取所述中间信息存储模块N=8个子模块中的信息,每个子模块中均读取LDPC码字的M=2行信息,拼装为一个8*2行的信息向量,进行CNU计算,并将计算结果返回给所述N=S个子模块中,覆盖所述读取的LDPC码字2行信息所对应的位置;
[0043](5)重复执行步骤(4),直到完成N=8个LDPC码字中所有软信息的CNU计算,即完成了 LDPC码字的一次CNU运算的更新,之后进入步骤(6);每次在同一个子模块中读取的LDPC码字的M=2行信息均不重复。
[0044](6)控制器控制多路VNU单元读取CNU运算更新后的N=8个子模块中的LDPC码字的K=16列信息,拼装为一个8*16列的信息向量,结合所述码字分配器中Ν=8个输入FIFO中的信息进行VUN计算,得到8*16列的VNU更新结果和8*16个用于硬判决的校验信息;VUN更新结果返回给所述N=S个中间信息存储器的子模块,覆盖所述读取的LDPC码字K=16列信息所对应的位置;8*16个用于硬判决的校验信息送入码字输出缓冲器中进行缓存;
[0045](7)重复执行步骤(6),直到完成Ν=8个LDPC码字中所有软信息的VNU计算,且用于硬判决的校验信息累加为N=S个LDPC码字的帧长,即完成了 LDPC码字的一次VNU运算的更新,之后进入步骤(8);
[0046](8)码字输出缓冲器将所述Ν=8个LDPC码字帧长的硬判决校验信息与LDPC校验矩阵相乘,如果N=S个LDPC码字的校验和均为0,则译码成功,将硬判决校验信息输出;否则返回步骤(4)再次进行迭代,如果迭代次数超过预设值,则将硬判决校验信息直接输出。
【权利要求】
1.一种资源配置灵活的吉比特LDPC译码方法,其特征在于步骤如下: (1)在码字分配器中,将外部输入的N个LDPC码字的初始化软信息以帧为单位分别存储在码字分配器中的N个输入FIFO中,等待译码; (2)将外部输入的N个LDPC码字的初始化软信息按照LDPC校验矩阵的结构分别存储在中间信息存储模块的N个子模块中; (3)当某个输入FIFO中存储的信息构成一个完整的LDPC译码软信息向量时,给控制器发出开始译码指示信号; (4)控制器接收到开始译码指示信号后控制多路CNU单元读取所述中间信息存储模块N个子模块中的信息,每个子模块中均读取LDPC码字的M行信息,拼装为一个N*M行的信息向量,进行CNU计算,并将计算结果返回给所述N个子模块中,覆盖所述读取的LDPC码字M行信息所对应的位置; (5)重复执行步骤(4),直到完成N个LDPC码字中所有软信息的CNU计算,即完成了LDPC码字的一次CNU运算的更新,之后进入步骤(6); (6)控制器控制多路VNU单元读取CNU运算更新后的N个子模块中的LDPC码字的K列信息,拼装为一个N*K列的信息向量,结合所述码字分配器中N个输入FIFO中的信息进行VUN计算,得到N*K列的VNU更新结果和N*K个用于硬判决的校验信息;VUN更新结果返回给所述N个中间信息存储器的子模块,覆盖所述读取的LDPC码字K列信息所对应的位置;N*K个用于硬判决的校验信息送入码字输出缓冲器中进行缓存; (7)重复执行步骤(6),直到完成N个LDPC码字中所有软信息的VNU计算,且用于硬判决的校验信息累加为N个LDPC码字的帧长,即完成了 LDPC码字的一次VNU运算的更新,之后进入步骤(8); (8)码字输出缓冲器将所述N个LDPC码字帧长的硬判决校验信息与LDPC校验矩阵相乘,如果N个LDPC码字的校验和均为0,则译码成功,将硬判决校验信息输出;否则返回步骤(4)再次进行迭代,如果迭代次数超过预设值,则将硬判决校验信息直接输出。
2.根据权利要求1所述的一种资源配置灵活的吉比特LDPC译码方法,其特征在于:所述输入FIFO中存储的信息构成一个完整的LDPC译码软信息向量是指:存储的信息长度达到一个巾贞长。
3.根据权利要求1所述的一种资源配置灵活的吉比特LDPC译码方法,其特征在于:步骤(5)中每次在同一个子模块中读取的LDPC码字的M行信息均不重复。
4.根据权利要求1所述的一种资源配置灵活的吉比特LDPC译码方法,其特征在于:所述N、M和K均为正整数。
【文档编号】H03M13/11GK103888149SQ201410106044
【公开日】2014年6月25日 申请日期:2014年3月20日 优先权日:2014年3月20日
【发明者】陈昕, 李申阳, 宋振宇, 徐祎志 申请人:航天恒星科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1