低密度奇偶校验码的分层译码方法和系统与流程

文档序号:19280850发布日期:2019-11-29 22:55阅读:236来源:国知局
低密度奇偶校验码的分层译码方法和系统与流程

本申请涉及无线通信技术领域,特别是涉及一种低密度奇偶校验码的分层译码方法和系统。



背景技术:

随着高速数据传输业务的快速发展以及5g标准商用化的日益临近,人们对信息传输的质量和速率要求越来越高,高速ldpc(low-densityparity-check,低密度奇偶校验)码译码器在通信系统中的应用需求更加强烈。在固有的信道环境下,如何既满足越来越高的数据传输速率要求,又保证信息传输的可靠性,是信道编码技术研究的主要任务和目标。

目前,ldpc码的分层译码时主要是基于lda(layereddecodingalgorithm,分层译码)算法,然而在利用lda算法进行译码时,实现消息置换网络的复杂度较大,从而影响译码器的实现难度。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够解决译码器实现难度大的低密度奇偶校验码的分层译码方法、系统、计算机设备和存储介质。

一种低密度奇偶校验码的分层译码方法,所述方法包括:

对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵;

当进行低密度奇偶校验码的迭代译码时,根据所述移位特性进行所述分层矩阵中各个分层的节点消息置换;

根据所述迭代译码的译码判决结果,输出译码结果。

在其中一个实施例中,还包括:分别从校验矩阵中各个行块中取出一个校验行,组成一个分层;当各个行块的所有校验行均被取出时,得到的各个分层组成的具备移位特性的分层矩阵;其中所述移位特性是所述分层之间通过移位进行相互转化。

在其中一个实施例中,还包括:预先根据分层在分层矩阵中的位置,对各个分层进行自上而下的排序,得到各个分层的第一序号;根据各个校验行在所述行块中的位置,对各个所述校验行进行自上而下的排序,得到所述行块中各个校验行的第二序号;自上而下依次检测所述校验矩阵中各个校验行对应的所述第二序号是否与所述第一序号相同;若是,则将所述校验行插入对应的分层中,得到具备移位特性的分层矩阵。

在其中一个实施例中,还包括:获取预先设置的所述校验矩阵对应的移位矩阵;依次获取所述移位矩阵中各个列矩阵,检测各个所述列矩阵中的非-1元素是否均不相同;若是,则判断所述校验矩阵具备置换分层的条件。

在其中一个实施例中,还包括:在节点消息置换的计算路径上加入预先设置的流水线处理逻辑;根据所述流水线处理逻辑以及所述移位特性,进行所述分层矩阵中各个分层的多通道的节点消息置换。

在其中一个实施例中,还包括:判断所述分层矩阵中相邻两个分层之间的非零元素的位置是否重叠;若是,则判断所述节点消息置换的计算路径上不具备加入预先设置的流水线处理逻辑的条件。

在其中一个实施例中,还包括:当所述分层矩阵中相邻两个分层之间的非零元素的位置重叠时,对所述移位矩阵进行编辑,以使所述移位矩阵中任一所述列矩阵中剔除数值为-1的元素之后的存在两个元素的差值为m;其中,m>1;则确定所述节点消息置换的计算路径上加入的所述流水线处理逻辑为m-1级流水线处理机制。

一种低密度奇偶校验码的分层译码系统,所述系统包括:

移位模块,用于对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵;

迭代模块,用于当进行低密度奇偶校验码的迭代译码时,根据所述移位特性进行所述分层矩阵中各个分层的节点消息置换;

译码模块,用于根据所述迭代译码的译码判决结果,输出译码结果。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵;

当进行低密度奇偶校验码的迭代译码时,根据所述移位特性进行所述分层矩阵中各个分层的节点消息置换;

根据所述迭代译码的译码判决结果,输出译码结果。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵;

当进行低密度奇偶校验码的迭代译码时,根据所述移位特性进行所述分层矩阵中各个分层的节点消息置换;

根据所述迭代译码的译码判决结果,输出译码结果。

上述低密度奇偶校验码的分层译码方法、系统、计算机设备和存储介质,通过对校验矩阵中各个行块的校验行进行置换分层,得到具备移位特性的分层矩阵,由于分层矩阵中各个分层之间的移位特性,从而使分层矩阵中各个分层之间的非零元素的位置建立的关联性,当进行低密度奇偶校验码的迭代译码时,根据移位特性进行分层矩阵中各个分层的节点消息置换,根据迭代译码的译码判决结果,输出译码结果,从而在构建译码器时,仅通过设置移位特性对应的数据移位电路,就可以实现节点消息置换。本发明的上述方案,大大降低了译码器的实现难度。

附图说明

图1为一个实施例中低密度奇偶校验码的分层译码方法的应用场景图;

图2为一个实施例中低密度奇偶校验码的分层译码方法的流程示意图;

图3为一个实施例中分层间节点消息置换的流程示意图;

图4为一个实施例中对移位矩阵进行编辑的流程示意图;

图5为另一实施例中低密度奇偶校验码的分层译码方法的流程示意图;

图6为一实施例中译码器进行译码的示意性流程图;

图7为一个实施例中低密度奇偶校验码的分层译码系统的结构框图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的低密度奇偶校验码的分层译码方法,可以应用于如图1所示的译码器中。其中,译码器主要包括:控制模块102、后验概率消息寄存模块104、数据置换网络模块106、节点消息联合更新模块108以及校验节点消息存储模块110,另外,消息输入和消息输出可以采用缓存的方式,因此,可以在输入端设置信道消息输入缓存模块,以及在输出端设置译码码子输出缓存模块。在进行低密度奇偶校验码的分层译码的译码时,低密度奇偶校验码的分层译码从信道消息输入缓存模块输入,并且进入数据置换网络模块106,然后通过节点消息联合更新模块108进行数据迭代,并且通过校验节点消息存储模块110进行数据校验以及存储,最终将数据回传至后验概率消息寄存模块104进行译码输出。

本实施例的低密度奇偶校验码的分层译码方法由上述译码器执行时,数据置换网络模块106中设置了数据移位电路实现节点消息的置换,对于所采用的校验矩阵,通过对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵,在数据移位电路的支持下,消息联合更新模块108通过分层矩阵可以实现分层之间数据的快速更新,从而快速的输出译码结果。

在一个实施例中,如图2所示,提供了一种低密度奇偶校验码的分层译码方法,以该方法应用于图1中的译码器为例进行说明,包括以下步骤:

步骤202,对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵。

其中,校验矩阵指的是译码器进行译码时,所采用的校验矩阵,一般而言,在进行译码时,会预先设置一个校验矩阵。在构建校验矩阵时,需要预先构建移位矩阵和基矩阵,从而根据基矩阵和移位矩阵进行移位可以得到校验矩阵。

置换分层指的是对校验矩阵中的各个行进行上下移位,从而得到具备移位特性的分层矩阵,本实施例进行置换分层是基于校验矩阵中预先标记的行块,在标记行块时,是依据基矩阵确定的。

值得说明的是,分层矩阵中包括多个分层,分层类似于校验矩阵中的行块,因此,移位特性指的是,对分层矩阵中的任意分层,可以由其他分层进行移位得到。

置换分层存在多种方式,依据是分层矩阵中每个分层包含校验矩阵中每个行块的信息,因此在实现置换分层时,可以根据需求设置置换分层的逻辑,在获取到校验矩阵之后,可以直接根据置换分层的逻辑,进行分层置换得到分层矩阵。

步骤204,当进行低密度奇偶校验码的迭代译码时,根据移位特性进行分层矩阵中各个分层的节点消息置换。

迭代译码指的是,lda算法译码器的工作机制为对于每一个行块中进行多次迭代,以及根据上一层迭代后的数据进行当前行块中的迭代,直至收敛。因此,迭代译码指的是整个数据迭代计算的过程。

节点消息置换指的是,上一层迭代计算后得到的更新数据传递至下一层的过程。节点消息置换由消息置换网络实现。

步骤206,根据迭代译码的译码判决结果,输出译码结果。

译码判决具体是判断迭代译码是否达到收敛条件,即译码结果为收敛后输出的数据。

上述低密度奇偶校验码的分层译码方法中,通过对校验矩阵中各个行块的校验行进行置换分层,得到具备移位特性的分层矩阵,由于分层矩阵中各个分层之间的移位特性,从而使分层矩阵中各个分层之间的非零元素的位置建立的关联性,当进行低密度奇偶校验码的迭代译码时,根据移位特性进行分层矩阵中各个分层的节点消息置换,根据迭代译码的译码判决结果,输出译码结果,从而在构建译码器时,仅通过设置移位特性对应的数据移位电路,就可以实现节点消息置换。本发明的上述方案,大大降低了译码器的实现难度。

在其中一个实施例中,对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵的具体步骤可以是:分别从校验矩阵中各个行块中取出一个校验行,组成一个分层,当各个行块的所有校验行均被取出时,得到的各个分层组成的具备移位特性的分层矩阵,其中移位特性是分层之间通过移位进行相互转化。本实施例中,通过从每个行块中取出一个校验行作为一个分层的行,从而使得一个分层包含所有行块的信息,即保证每个分层中非零元素具有一定的关联性。

具体的,在构建分层矩阵时,还可以是:预先根据分层在分层矩阵中的位置,对各个分层进行自上而下的排序,得到各个分层的第一序号,预先根据各个校验行在行块中的位置,对各个校验行进行自上而下的排序,得到行块中各个校验行的第二序号,自上而下依次检测校验矩阵中各个校验行对应的第二序号是否与第一序号相同,若是,则将校验行插入对应的分层中,得到具备移位特性的分层矩阵。本实施例中,在构建分层矩阵时,通过取出第一个行块的第一行作为分层矩阵第一个分层的第一行,第二个行块的第一行作为第一个分层的第二行,第m个分层的第n行,作为第n个行块的第m行,从而构建出分层矩阵,从而得到的分层矩阵。

在一个具体实施例中,设置基矩阵hbqc为:

设置移位矩阵hsqc为:

因此,可以构建校验矩阵hqc为:

采用上述实施例的方式进行置换分层,得到分层矩阵hl为:

通过以上实施例,可以看出,其每个分层可由上一分层以循环矩阵为单元循环右移一位得到,第1个分层由最后一个分层循环右移一位得到。因此,得到的分层矩阵,具备移位特性。

在一具体实施例中,在对校验矩阵进行置换分层之前,还需要判断校验矩阵是否具备置换分层的条件,首先需要获取到预先设置的校验矩阵对应的移位矩阵,然后依次获取移位矩阵中各个列矩阵,检测各个列矩阵中的非-1元素是否均不相同,若否则确定校验矩阵具备置换分层的条件,若是则确定校验矩阵不具备置换分层的条件。应当说明的是,只有具备置换分层的条件的校验矩阵才可以进行置换分层。

具体的,以上述移位矩阵hsqc为例,其每一列矩阵中非-1元素均不相同,因此,其对应的校验矩阵可以进行置换分层。

在一实施例中,以上述分层矩阵hl为例,对节点消息置换的过程进行详细说明,上述分层矩阵hl的各个分层之间的非零元素具备有移位特性,因此可以根据非零元素设计消息置换网络。在消息置换时,只需要将第一个分层内的所有元素位置直接映射至硬件电路中,如图3所示,在第一个分层节点消息置换时,由映射电路直接置换出第一个分层中相应的节点消息,置换第二个分层节点消息时,需要将所有节点消息向左移一位,此时,第一个分层内非零元素位置对应着第二个分层内非零元素所在列的节点消息,由映射电路直接置换出第二个分层的节点消息,依照此规律完成其他分层的节点消息置换。本实施例中,映射电路为一种逻辑电路,由于上述分层矩阵具备移位特性,因此在构建映射电路时,只需要考虑第一个分层中非零元素的位置即可,极大地简化了消息置换网络的设计。

在其中一个实施例中,在进行消息置换时,完成一个分层内所有消息更新运算,需要经过的计算步骤较多,如此长的计算路径,限制了译码器的工作时钟频率,因此,可以在消息置换的计算路径中加入流水线处理逻辑,流水线处理逻辑是基于流水线处理机制,即将每个计算步骤由电路单元分别执行,以此加快计算的速度,提高译码器的使用效率。

具体的,在进行节点消息置换时,具体可以在各个分层的节点消息更新运算的计算路径上加入预先设置的流水线处理逻辑,根据流水线处理逻辑,将计算路径上的多个计算步骤并行处理,得到节点消息,根据移位特性,将各个分层中的节点消息进行节点消息置换。本实施例中,通过在计算路径中加入流水线处理逻辑,可以显著的提高计算效率,并且提高译码器的利用效率,在进行消息置换时,由于各个分层之间的节点消息置换并不是等待所有节点消息均更新完毕后才执行,因此,通过上述方案,可以显著提升迭代译码效率。

在其中一个实施例中,还需要判断上述计算路径中是否可以加入流水线处理逻辑,具体方式如下:判断分层矩阵中相邻两个分层之间的非零元素的位置是否重叠,若是,则判断节点消息置换的计算路径上不具备加入预先设置的流水线处理逻辑的条件。本实施例中,位置重叠指的是,分层矩阵中列矩阵中是否存在两个以上的非零元素,流水线处理逻辑指的是通过流水线处理机制的运算模式。

具体的,以分层矩阵hl为例,其从左至右第一至第八个列矩阵,均包含两个列矩阵,因此计算路径中不具备加入流水线处理逻辑的条件,该实施例中无法加入流水线机制。本实施例中,通过判断是否可以加入流水线处理机制,从而可以避免在不可以加入流水线处理机制的情况下进行了流水线处理,因此,进一步提高了节点消息计算的准确性。

在其中一个实施例中,当分层矩阵中相邻两个分层之间的非零元素的位置重叠时,对移位矩阵进行编辑,以使移位矩阵中任一列矩阵中剔除数值为-1的元素之后的存在两个元素的差值为m;其中,m>1;则确定节点消息置换的计算路径上加入的流水线处理逻辑为m-1级流水线处理机制。本实施例中,在无法加入流水线处理逻辑时,通过对移位矩阵进行编辑,使计算路径中可以加入流水线处理逻辑,另外,根据移位矩阵中的元素,还可以确定具体流水线处理逻辑的类型,例如,当移位矩阵中任一列矩阵中剔除数值为-1的元素之后的存在两个元素的差值为m时,可以确定加入m-1级流水线处理机制。

具体的,以移位矩阵为hsqc,可知列矩阵中元素最小差值为1,因此无法加入流水线处理逻辑,通过图4所示的编辑,使得移位矩阵中元素最小差值为2,因此可以加入一级流水线处理机制。

在其中一个实施例中,若校验矩阵可以进行置换分层,且分层后得到的分层矩阵可以划分为z个分层,每个分层为r行,如果完成一个分层的节点消息更新运算占用一个时钟周期,则完成一次迭代需要z个时钟周期,表1中给出了目前三种译码方案的参数对比。

表13种译码方案参数对比

若以(4480,3920)规则ldpc码为例,采用本实施例的方案,可以划分为7个分层,如果编译器的时钟周期为150mhz,最大迭代次数设置为9,则吞吐量为9.3gbps,其值远高于采用lda算法的816mbps。

以下以一具体实施例进行说明。

在一实施例中,如图5所示,提供一种低密度奇偶校验码的分层译码方法,具体步骤如下:

步骤502,获取低密度奇偶校验码的校验矩阵。

本具体实施例中选择(4480,3920)规则的低密度奇偶校验码,其中,校验矩阵包括80个行块以及640个列块,每个行块包含7行,其中循环置换矩阵为7*7的矩阵。

步骤504,检验校验矩阵是否符合分层条件。

对于校验矩阵中的每个列块,其包含有3个上述循环置换矩阵,其余由全零矩阵组成,经检验,上述3个循环置换矩阵的移位数据均不相同,因此,校验矩阵符合分层条件。

具体的,通过3个循环置换矩阵的移位数据,可以知道对应移位矩阵中各个元素均不相同,因此可以确定校验矩阵符合分层条件。

步骤506,对校验矩阵进行置换分层,得到分层矩阵。

将80个行块的第一行取出,依次作为分层矩阵中一个分层的一行,第一个分层内的行顺序是按照校验矩阵行块的顺序。依次完成所有分层的置换,得到的分层矩阵包括7个分层,每个分层共有80行。

步骤508,检测分层的节点消息更新运算的计算路径是否可以加入流水线处理逻辑。

通过对上述移位数据进行计算,得到其相差为2,因此可以在迭代处理过程中加入一级流水线处理机制。

步骤510,进行迭代译码。

迭代过程主要分为三个步骤:

s1,初始化

采用如下公式进行初始化:

其中,n=1,2,,,4480,为信道消息yn的量化值,表示初始状态时非零元素所在列数n对应的后验概率消息,表示初始状态第m行中非零元素对应的校验节点消息。

s2,消息迭代处理

1、第1分层至第7分层顺序执行节点消息更新,记符号t(t=1,2,,,7)表示为层数,m(m=1,2,,,80)表示分层内的行数。

对于第t分层内的80行,同时执行变量节点消息更新运算,具体算法如下:

对于第t层内的80行,同时执行校验节点消息更新运算,具体算法如下:

对于第t层内的80行,同时执行后验概率消息更新运算,具体算法如下:

其中,表示第l次迭代分层t-2内非零元素所在列数n对应的后验概率消息;表示第l次迭代分层t内非零元素所在列数n对应的后验概率消息;表示第l次迭代分层t内第m行中非零元素对应的校验节点消息;表示第l-1迭代分层t内第m行中非零元素对应的校验节点消息。

2、译码判决

每次迭代处理完成之后,对译码序列进行判决。如果则判决否则

s3,停止迭代

若达到设定的最大迭代次数,则停止迭代,且将作为译码器输出值输出,否则返回到第二步继续进行迭代译码。

根据上面叙述的迭代流程,在本实施例的应用场景下,各个消息数据的流向如图6所示。

步骤512,输出低密度奇偶校验码的译码结果。

本实施例中,通过上述具体计算,不仅减小了迭代时的计算量,并且在进行迭代计算时,极大地简化了分层间消息置换的速度,进一步提高了硬件的使用效率和译码吞吐量。

应该理解的是,虽然图2和5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图7所示,提供了一种低密度奇偶校验码的分层译码系统,包括:移位模块702、迭代模块704和译码模块706,其中:

移位模块702,用于对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵;

迭代模块704,用于当进行低密度奇偶校验码的迭代译码时,根据所述移位特性进行所述分层矩阵中各个分层的节点消息置换;

译码模块706,用于根据所述迭代译码的译码判决结果,输出译码结果。

在其中一个实施例中,移位模块702还用于分别从校验矩阵中各个行块中取出一个校验行,组成一个分层;当各个行块的所有校验行均被取出时,得到的各个分层组成的具备移位特性的分层矩阵;其中所述移位特性是所述分层之间通过移位进行相互转化。

在其中一个实施例中,移位模块702还用于预先根据分层在分层矩阵中的位置,对各个分层进行自上而下的排序,得到各个分层的第一序号;预先根据各个校验行在所述行块中的位置,对各个所述校验行进行自上而下的排序,得到所述行块中各个校验行的第二序号;自上而下依次检测所述校验矩阵中各个校验行对应的所述第二序号是否与所述第一序号相同;若是,则将所述校验行插入对应的分层中,得到具备移位特性的分层矩阵。

在其中一个实施例中,还包括:检验模块,用于获取预先设置的所述校验矩阵对应的移位矩阵;依次获取所述移位矩阵中各个列矩阵,检测各个所述列矩阵中的非-1元素是否均不相同;若是,则确定所述校验矩阵具备置换分层的条件。

在其中一个实施例中,迭代模块704还用于在各个分层的节点消息更新运算的计算路径上加入预先设置的流水线处理逻辑;根据所述流水线处理逻辑,将所述计算路径上的多个计算步骤并行处理,得到节点消息;根据所述移位特性,将各个分层中的所述节点消息进行节点消息置换。

在其中一个实施例中,还包括:流水线机制判断模块,用于判断所述分层矩阵中相邻两个分层之间的非零元素的位置是否重叠;若是,则判断所述节点消息更新运算的计算路径上不具备加入预先设置的流水线处理逻辑的条件。

在其中一个实施例中,流水线机制检测模块,用于当所述分层矩阵中相邻两个分层之间的非零元素的位置重叠时,对所述移位矩阵进行编辑,以使所述移位矩阵中任一所述列矩阵中剔除数值为-1的元素之后的存在两个元素的差值为m;其中,m>1;则确定所述节点消息置换的计算路径上加入的所述流水线处理逻辑为m-1级流水线处理机制。

关于低密度奇偶校验码的分层译码系统的具体限定可以参见上文中对于低密度奇偶校验码的分层译码方法的限定,在此不再赘述。上述低密度奇偶校验码的分层译码系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器以及接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的接口用于与外部的终端进行数据交换。该计算机程序被处理器执行时以实现一种低密度奇偶校验码的分层译码方法。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵;

当进行低密度奇偶校验码的迭代译码时,根据所述移位特性进行所述分层矩阵中各个分层的节点消息置换;

根据所述迭代译码的译码判决结果,输出译码结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:分别从校验矩阵中各个行块中取出一个校验行,组成一个分层;当各个行块的所有校验行均被取出时,得到的各个分层组成的具备移位特性的分层矩阵;其中所述移位特性是所述分层之间通过移位进行相互转化。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:预先根据分层在分层矩阵中的位置,对各个分层进行自上而下的排序,得到各个分层的第一序号;预先根据各个校验行在所述行块中的位置,对各个所述校验行进行自上而下的排序,得到所述行块中各个校验行的第二序号;自上而下依次检测所述校验矩阵中各个校验行对应的所述第二序号是否与所述第一序号相同;若是,则将所述校验行插入对应的分层中,得到具备移位特性的分层矩阵。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预先设置的所述校验矩阵对应的移位矩阵;依次获取所述移位矩阵中各个列矩阵,检测各个所述列矩阵中剔除数值为-1的元素之后的各个元素是否存在相同元素;若否,则确定所述校验矩阵具备置换分层的条件。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:在各个分层的节点消息更新运算的计算路径上加入预先设置的流水线处理逻辑;根据所述流水线处理逻辑,将所述计算路径上的多个计算步骤并行处理,得到节点消息;根据所述移位特性,将各个分层中的所述节点消息进行节点消息置换。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:判断所述分层矩阵中相邻两个分层之间的非零元素的位置是否重叠;若是,则判断所述节点消息更新运算的计算路径上不具备加入预先设置的流水线处理逻辑的条件。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当所述分层矩阵中相邻两个分层之间的非零元素的位置重叠时,对所述移位矩阵进行编辑,以使所述移位矩阵中任一所述列矩阵中剔除数值为-1的元素之后的存在两个元素的差值为m;其中,m>1;则确定所述节点消息置换的计算路径上加入的所述流水线处理逻辑为m-1级流水线处理机制。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

对校验矩阵中各个行块中的校验行进行置换分层,得到具备移位特性的分层矩阵;

当进行低密度奇偶校验码的迭代译码时,根据所述移位特性进行所述分层矩阵中各个分层的节点消息置换;

根据所述迭代译码的译码判决结果,输出译码结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:分别从校验矩阵中各个行块中取出一个校验行,组成一个分层;当各个行块的所有校验行均被取出时,得到的各个分层组成的具备移位特性的分层矩阵;其中所述移位特性是所述分层之间通过移位进行相互转化。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预先根据分层在分层矩阵中的位置,对各个分层进行自上而下的排序,得到各个分层的第一序号;预先根据各个校验行在所述行块中的位置,对各个所述校验行进行自上而下的排序,得到所述行块中各个校验行的第二序号;自上而下依次检测所述校验矩阵中各个校验行对应的所述第二序号是否与所述第一序号相同;若是,则将所述校验行插入对应的分层中,得到具备移位特性的分层矩阵。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预先设置的所述校验矩阵对应的移位矩阵;依次获取所述移位矩阵中各个列矩阵,检测各个所述列矩阵中的非-1元素是否均不相同;若是,则确定所述校验矩阵具备置换分层的条件。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在各个分层的节点消息更新运算的计算路径上加入预先设置的流水线处理逻辑;根据所述流水线处理逻辑,将所述计算路径上的多个计算步骤并行处理,得到节点消息;根据所述移位特性,将各个分层中的所述节点消息进行节点消息置换。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:判断所述分层矩阵中相邻两个分层之间的非零元素的位置是否重叠;若是,则判断所述节点消息更新运算的计算路径上不具备加入预先设置的流水线处理逻辑的条件。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当所述分层矩阵中相邻两个分层之间的非零元素的位置重叠时,对所述移位矩阵进行编辑,以使所述移位矩阵中任一所述列矩阵中剔除数值为-1的元素之后的存在两个元素的差值为m;其中,m>1;则确定所述节点消息置换的计算路径上加入的所述流水线处理逻辑为m-1级流水线处理机制。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1