CN113067582A - 一种并行译码方法及装置 - Google Patents

一种并行译码方法及装置 Download PDF

Info

Publication number
CN113067582A
CN113067582A CN201911285256.0A CN201911285256A CN113067582A CN 113067582 A CN113067582 A CN 113067582A CN 201911285256 A CN201911285256 A CN 201911285256A CN 113067582 A CN113067582 A CN 113067582A
Authority
CN
China
Prior art keywords
soft information
information sequence
ith
decoding
hard decision
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
Application number
CN201911285256.0A
Other languages
English (en)
Other versions
CN113067582B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911285256.0A priority Critical patent/CN113067582B/zh
Publication of CN113067582A publication Critical patent/CN113067582A/zh
Application granted granted Critical
Publication of CN113067582B publication Critical patent/CN113067582B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping

Abstract

一种并行译码方法及装置,该方法包括迭代执行的过程,其中,第L次迭代的过程如下:获取第L次迭代的XL个第一软信息序列,L为正整数;对XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;其中,第一处理包括:对第i个第一软信息序列进行第一硬判决,对得到的第一硬判决结果进行校验,若校验通过,则根据第一硬判决结果确定第i个第二软信息序列;否则将第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列;i=1、2、……、XL。通过上述方法,能够在并行译码过程中减少译码单元的数量,从而减小芯片的面积,有利于芯片设计。

Description

一种并行译码方法及装置
技术领域
本申请实施例涉及编译码技术领域,尤其涉及一种并行译码方法及装置。
背景技术
信道编码和译码的技术是通信系统的关键核心技术,超长信道编码和译码是满足高吞吐要求不可或缺的技术手段。为了降低编译码时延,针对高吞吐场景设计的信道编码在译码过程中通常含有大量的并行运算。
并行运算通常是指将待译码信息分成多个软信息序列,每一个软信息序列需要一个译码器来计算,这样并行译码的多个软信息序列需要多个译码器来计算。如图1所示,在译码过程中,n个软信息序列用软信息序列0、软信息序列1、软信息序列2……软信息序列n表示,n个软信息序列分别经过检错单元进行验证,经过验证的每一个软信息序列进入一个译码器进行译码,需要n个译码器来对n个软信息序列进行译码,用软信息序列0~(n-1)表示。
这样,并行运算大量的软信息序列会需要大量的译码器来计算。然而大量的译码器会导致芯片面积较大,不利于硬件设计或芯片设计。
发明内容
本申请实施例提供一种并行译码方法及装置,用以简化并行译码过程从而能减小译码芯片的面积,有利于硬件设计或芯片设计。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种并行译码方法,该方法可以应用于译码设备,也可以应用于译码设备中的装置(例如,芯片,或者芯片系统,或者电路),或者应用于能够和译码设备匹配使用的装置,译码设备可以是终端设备,也可以是网络设备。该方法包括迭代执行的方法,其中,第L次迭代执行的步骤可以如下所述,第L次可以是任意一次迭代:获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数;对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;其中,所述第一处理包括:对第i个第一软信息序列进行第一硬判决,得到第一硬判决结果;对所述第一硬判决结果进行校验,若校验通过,则根据所述第一硬判决结果确定第i个第二软信息序列;若校验不通过,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列;i=1、2、……、XL。在对第i个第一软信息的硬判决结果校验不通过的情况下,再输入译码器进行译码。在迭代操作的过程中,通过对XL个第一软信息序列进行初步筛选,即进行硬判决,在硬判决结果校验通过时,可以根据硬判决结果获得第二软信息序列。只有在硬判决结果校验不通过时,再输入译码器进行译码,获得第二软信息序列。这样,可以在对XL个第一软信息序列并行译码时减少所需要的译码器的数量。对XL个第一软信息序列并行译码所需要的并行译码的译码器数量小于X。不仅简化译码过程,而且还能够通过减少并行译码所需的译码器的数量来减小译码所用的芯片的面积,有利于硬件设计或芯片设计。
在L=1时,在L=1时,译码设备根据接收到的符号序列计算编码比特的对数似然比(log likelihood ratio,LLR)序列。在采取并行译码的方式的情况下,可以将计算得到的LLR序列分为X1个第一软信息序列。其中,一个软信息序列可以认为是一个LLR子序列或者一个LLR向量。
可选的,Lmax的值可以为1,表示只迭代一次。
在一个可能的设计中,在根据所述第一硬判决结果确定第i个第二软信息序列时:所述第一硬判决结果为向量
Figure BDA0002317796710000021
的取值包括0或1,根据所述
Figure BDA0002317796710000022
确定所述第i个第二软信息序列为
Figure BDA0002317796710000023
或者,若
Figure BDA0002317796710000024
的取值包括1或-1,则根据所述
Figure BDA0002317796710000025
确定所述第i个第二软信息序列为
Figure BDA0002317796710000026
其中,β为常数。
可选的,0<β<1。
在一个可能的设计中,若校验不通过,则将所述第i个第一软信息序列输入译码器进行译码,获得第i个第二软信息序列之后,所述第一处理还包括:将所述第二软信息序列进行第二硬判决,得到第二硬判决结果;对所述第二硬判决结果进行校验,若校验不通过,则输出将所述第i个第一软信息序列输入译码器进行译码获得的第i个第二软信息序列;若校验通过,则根据所述第二硬判决结果确定第i个第二软信息序列。这样,对于校验通过的第二软信息序列,可以提高软信息序列中各个软信息的值(即各个软信息的正负符号不变并提高绝对值),以使得相对可靠的软信息进一步帮助其他子码译码,进而提升整体译码性能。
在一个可能的设计中,所述X个第一软信息序列包括P个软信息序列组,所述P个软信息序列组中任意两个软信息序列组均不相交,P为正整数;所述P个软信息序列组与P个译码器组一一对应。通过建立P个软信息序列组与P个译码器组的对应关系,不需要将每一个第一软信息序列均与所有的译码器关联,只需要软信息序列组中的软信息序列与对应的译码器组中的译码器关联即可,这样能够降低关联的复杂度,并进一步降低并行译码的芯片电路的复杂度,有利于硬件设计或芯片设计。
在一个可能的设计中,在将所述第i个第一软信息序列输入第一译码器进行译码时,可以将所述第i个第一软信息序列,输入第一译码器组中的第一译码器进行译码;其中,所述第i个第一软信息序列属于第一软信息序列组,所述第一软信息序列组与第一译码器组对应。
在一个可能的设计中,在对所述第一硬判决结果进行校验时,按照所述第一软信息序列对应的第一子码中各比特的校验关系,对所述第一硬判决结果进行校验;当所述第一硬判决结果符合所述第一子码中各比特的校验关系时,则校验通过;否则,校验不通过;其中,所述X个第一软信息序列与X个子码一一对应。
在一个可能的设计中,对所述XL个第二软信息序列进行校验;若校验通过,则输出译码结果,译码结束;若校验不通过:在L等于Lmax时,说明第L次迭代的译码已经到达最大迭代次数,则译码结束,译码失败;在L小于Lmax时,说明第L次迭代的译码还没有到达最大迭代次数,则可以继续迭代操作,根据所述XL个第二软信息序列,确定第(L+1)次迭代的XL+1个第一软信息序列。XL个第二软信息序列是第L次迭代的输出结果,根据第L次迭代的输出结果,获得第L+1次迭代的输入,第L+1次迭代的输入即XL+1个第一软信息序列。
可选的,XL+1个第一软信息序列可以是XL个第二软信息序列;XL+1个第一软信息序列也可以是XL个第二软信息序列根据一定操作后获得的,例如,将XL个第二软信息序列的排序顺序进行调整,获得XL+1个第一软信息序列,或者根据其他操作获得。XL+1可以等于XL,XL+1也可以不等于XL
第二方面,提供一种并行译码方法,该方法可以应用于译码设备,也可以应用于译码设备中的装置(例如,芯片,或者芯片系统,或者电路),或者应用于能够和译码设备匹配使用的装置,译码设备可以是终端设备,也可以是网络设备。该方法包括迭代执行的方法,其中,第L次迭代执行的步骤可以如下所述,第L次可以是任意一次迭代:获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数,所述XL个第一软信息序列与XL个子码具有对应关系;对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;其中,所述第一处理包括:若确定第i个第一软信息序列对应的子码的码率高于门限,则对所述第i个第一软信息序列进行第一硬判决,获得第一硬判决结果,根据所述第一硬判决结果确定第i个第二软信息序列;若确定第i个第一软信息序列对应的子码的码率不高于所述门限,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列,i=1、2、……、XL。在第i个第一软信息序列对应的子码的码率不高于所述门限,再输入译码器进行译码。在迭代操作的过程中,通过对XL个第一软信息序列进行初步筛选,即对应子码码率是否高于门限的判断,在高于门限时,可以根据硬判决结果获得第二软信息序列。只有在不高于门限时,再输入译码器进行译码,获得第二软信息序列。这样,可以在对XL个第一软信息序列并行译码时减少所需要的译码器的数量。对XL个第一软信息序列并行译码所需要的并行译码的译码器数量小于X。不仅简化译码过程,而且还能够通过减少并行译码所需的译码器的数量来减小译码所用的芯片的面积,有利于硬件设计或芯片设计。
在一个可能的设计中,在L=1时,译码设备根据接收到的符号序列计算编码比特的对数似然比(log likelihood ratio,LLR)序列。在采取并行译码的方式的情况下,可以将计算得到的LLR序列分为X1个第一软信息序列。其中,一个软信息序列可以认为是一个LLR子序列或者一个LLR向量。
可选的,Lmax的值可以为1,表示只迭代一次。
在一个可能的设计中,在根据所述第一硬判决结果确定第i个第二软信息序列时,所述第一硬判决结果为向量
Figure BDA0002317796710000031
的取值包括0或1,根据所述
Figure BDA0002317796710000032
确定所述第i个第二软信息序列为
Figure BDA0002317796710000033
或者,若
Figure BDA0002317796710000034
的取值包括1或-1,则根据所述
Figure BDA0002317796710000035
确定所述第i个第二软信息序列为
Figure BDA0002317796710000036
其中,β为常数。
可选的,0<β<1。
在一个可能的设计中,若校验不通过,则将所述第i个第一软信息序列输入译码器进行译码,获得第i个第二软信息序列之后,所述第一处理还包括:将所述第二软信息序列进行第二硬判决,得到第二硬判决结果;对所述第二硬判决结果进行校验,若校验不通过,则输出将所述第i个第一软信息序列输入译码器进行译码获得的第i个第二软信息序列;若校验通过,则根据所述第二硬判决结果确定第i个第二软信息序列。这样,对于校验通过的第二软信息序列,可以相应提高其软信息序列,以使得相对可靠的软信息进一步帮助其他子码译码,进而提升整体译码性能。
在一个可能的设计中,所述X个第一软信息序列包括P个软信息序列组,所述P个软信息序列组中任意两个软信息序列组均不相交,P为正整数;所述P个软信息序列组与P个译码器组一一对应。通过建立P个软信息序列组与P个译码器组的对应关系,不需要将每一个第一软信息序列均与所有的译码器关联,只需要软信息序列组中的软信息序列与对应的译码器组中的译码器关联即可,这样能够降低关联的复杂度,并进一步降低并行译码的芯片电路的复杂度,有利于硬件设计或芯片设计。
在一个可能的设计中,在所述第i个第一软信息序列输入第一译码器进行译码时,将所述第i个第一软信息序列,输入第一译码器组中的第一译码器进行译码;其中,所述第i个第一软信息序列属于第一软信息序列组,所述第一软信息序列组与第一译码器组对应。
在一个可能的设计中,对所述XL个第二软信息序列进行校验;若校验通过,则输出译码结果,译码结束;若校验不通过:在L等于Lmax时,说明第L次迭代的译码已经到达最大迭代次数,则译码结束,译码失败;在L小于Lmax时,说明第L次迭代的译码还没有到达最大迭代次数,则可以继续迭代操作,根据所述XL个第二软信息序列,确定第(L+1)次迭代的XL+1个第一软信息序列。XL个第二软信息序列是第L次迭代的输出结果,根据第L次迭代的输出结果,获得第L+1次迭代的输入,第L+1次迭代的输入即XL+1个第一软信息序列。
可选的,XL+1个第一软信息序列可以是XL个第二软信息序列;XL+1个第一软信息序列也可以是XL个第二软信息序列根据一定操作后获得的,例如,将XL个第二软信息序列的排序顺序进行调整,获得XL+1个第一软信息序列,或者根据其他操作获得。XL+1可以等于XL,XL+1也可以不等于XL
第三方面,提供一种并行译码装置,该装置具有实现上述第一方面、第二方面、第一方面的任一种可能的设计和第二方面任一种可能的设计中所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。一种设计中,该装置可以包括获取单元和处理单元。示例性地:
在执行第一方面或第一方面的任一种可能的设计时,获取单元和处理单元具体用于执行以下操作。
获取单元,用于获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数;处理单元,用于对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;其中,所述处理单元在进行第一处理时具体用于:对第i个第一软信息序列进行第一硬判决,得到第一硬判决结果;对所述第一硬判决结果进行校验,若校验通过,则根据所述第一硬判决结果确定第i个第二软信息序列;若校验不通过,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列;i=1、2、……、XL。在对第i个第一软信息的硬判决结果校验不通过的情况下,再输入译码器进行译码。在迭代操作的过程中,通过对XL个第一软信息序列进行初步筛选,即进行硬判决,在硬判决结果校验通过时,可以根据硬判决结果获得第二软信息序列。只有在硬判决结果校验不通过时,再输入译码器进行译码,获得第二软信息序列。这样,可以在对XL个第一软信息序列并行译码时减少所需要的译码器的数量。对XL个第一软信息序列并行译码所需要的并行译码的译码器数量小于X。不仅简化译码过程,而且还能够通过减少并行译码所需的译码器的数量来减小译码所用的芯片的面积,有利于硬件设计或芯片设计。
在执行第二方面或第二方面的任一种可能的设计时,获取单元和处理单元具体用于执行以下操作。
获取单元,用于获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数,所述XL个第一软信息序列与XL个子码具有对应关系;处理单元,用于对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;其中,所述第一处理包括:若确定第i个第一软信息序列对应的子码的码率高于门限,则对所述第i个第一软信息序列进行第一硬判决,获得第一硬判决结果,根据所述第一硬判决结果确定第i个第二软信息序列;若确定第i个第一软信息序列对应的子码的码率不高于所述门限,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列,i=1、2、……、XL。在第i个第一软信息序列对应的子码的码率不高于所述门限,再输入译码器进行译码。在迭代操作的过程中,通过对XL个第一软信息序列进行初步筛选,即对应子码码率是否高于门限的判断,在高于门限时,可以根据硬判决结果获得第二软信息序列。只有在不高于门限时,再输入译码器进行译码,获得第二软信息序列。这样,可以在对XL个第一软信息序列并行译码时减少所需要的译码器的数量。对XL个第一软信息序列并行译码所需要的并行译码的译码器数量小于X。不仅简化译码过程,而且还能够通过减少并行译码所需的译码器的数量来减小译码所用的芯片的面积,有利于硬件设计或芯片设计。
在执行上述第一方面、第二方面、第一方面的任一种可能的设计和第二方面任一种可能的设计中所述的方法时,获取单元和处理单元还可以执行以下一些可选的操作。
在一个可能的设计中,在L=1时,译码设备根据接收到的符号序列计算编码比特的对数似然比(log likelihood ratio,LLR)序列。在采取并行译码的方式的情况下,可以将计算得到的LLR序列分为X1个第一软信息序列。其中,一个软信息序列可以认为是一个LLR子序列或者一个LLR向量。
可选的,Lmax的值可以为1,表示只迭代一次。
在一个可能的设计中,在所述处理单元根据所述第一硬判决结果确定第i个第二软信息序列时:所述第一硬判决结果为向量
Figure BDA0002317796710000051
的取值包括0或1,根据所述
Figure BDA0002317796710000052
确定所述第i个第二软信息序列为
Figure BDA0002317796710000053
或者,若
Figure BDA0002317796710000054
的取值包括1或-1,则根据所述
Figure BDA0002317796710000055
确定所述第i个第二软信息序列为
Figure BDA0002317796710000056
其中,β为常数。
可选的,0<β<1。
在一个可能的设计中,所述处理单元用于:若校验不通过,则将所述第i个第一软信息序列输入译码器进行译码,获得第i个第二软信息序列之后,所述第一处理还包括:将所述第二软信息序列进行第二硬判决,得到第二硬判决结果;对所述第二硬判决结果进行校验,若校验不通过,则输出将所述第i个第一软信息序列输入译码器进行译码获得的第i个第二软信息序列;若校验通过,则根据所述第二硬判决结果确定第i个第二软信息序列。这样,对于校验通过的第二软信息序列,可以相应提高其软信息序列,以使得相对可靠的软信息进一步帮助其他子码译码,进而提升整体译码性能。
在一个可能的设计中,所述X个第一软信息序列包括P个软信息序列组,所述P个软信息序列组中任意两个软信息序列组均不相交,P为正整数;所述P个软信息序列组与P个译码器组一一对应。通过建立P个软信息序列组与P个译码器组的对应关系,不需要将每一个第一软信息序列均与所有的译码器关联,只需要软信息序列组中的软信息序列与对应的译码器组中的译码器关联即可,这样能够降低关联的复杂度,并进一步降低并行译码的芯片电路的复杂度,有利于硬件设计或芯片设计。
在一个可能的设计中,所述处理单元用于:在将所述第i个第一软信息序列输入第一译码器进行译码时,可以将所述第i个第一软信息序列,输入第一译码器组中的第一译码器进行译码;其中,所述第i个第一软信息序列属于第一软信息序列组,所述第一软信息序列组与第一译码器组对应。
在一个可能的设计中,所述处理单元用于:在对所述第一硬判决结果进行校验时,按照所述第一软信息序列对应的第一子码中各比特的校验关系,对所述第一硬判决结果进行校验;当所述第一硬判决结果符合所述第一子码中各比特的校验关系时,则校验通过;否则,校验不通过;其中,所述X个第一软信息序列与X个子码一一对应。
在一个可能的设计中,所述处理单元用于:对所述XL个第二软信息序列进行校验;若校验通过,则输出译码结果,译码结束;若校验不通过:在L等于Lmax时,说明第L次迭代的译码已经到达最大迭代次数,则译码结束,译码失败;在L小于Lmax时,说明第L次迭代的译码还没有到达最大迭代次数,则可以继续迭代操作,根据所述XL个第二软信息序列,确定第(L+1)次迭代的XL+1个第一软信息序列。XL个第二软信息序列是第L次迭代的输出结果,根据第L次迭代的输出结果,获得第L+1次迭代的输入,第L+1次迭代的输入即XL+1个第一软信息序列。
可选的,XL+1个第一软信息序列可以是XL个第二软信息序列;XL+1个第一软信息序列也可以是XL个第二软信息序列根据一定操作后获得的,例如,将XL个第二软信息序列的排序顺序进行调整,获得XL+1个第一软信息序列,或者根据其他操作获得。XL+1可以等于XL,XL+1也可以不等于XL
第四方面,提供一种并行译码装置,该装置具有实现上述第一方面、第二方面、第一方面的任一种可能的设计中和第二方面的任一种可能的设计中所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,当所述功能的部分或全部通过硬件实现时,所述并行译码装置包括:输入接口电路,用于获取迭代的多个第一软信息序列;逻辑电路,用于执行上述第一方面、第二方面、第一方面的任一种可能的设计和第二方面的任一种可能的设计中所述的(除获取第一软信息序列和输出第二软信息序列之外)行为;输出接口电路,用于输出多个第二软信息序列。
可选的,所述并行译码装置可以是芯片或者集成电路。
在一个可能的设计中,当所述功能的部分或全部通过软件实现时,所述并行译码装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述并行译码装置可以实现如上述第一方面、第二方面、第一方面的任一种可能的设计和第二方面的任一种可能的设计中所述的方法。
可选的,上述存储器可以是物理上独立的单元,也可以与处理器集成在一起。
在一个可能的设计中,当所述功能的部分或全部通过软件实现时,所述并行译码装置包括处理器。用于存储程序的存储器位于所述编码装置之外,处理器通过电路/电线与存储器连接,用于读取并执行所述存储器中存储的程序。
第五方面,提供了一种计算机可读存储介质,存储有计算机可读指令,当所述计算机可读指令在计算机上运行时,使得计算机执行如第一方面、第二方面、第一方面的任一种可能的设计和第二方面的任一种可能的设计中任一种所述的方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面、第一方面的任一种可能的设计和第二方面的任一种可能的设计所述的方法。
第六方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面、第二方面、第一方面的任一种可能的设计和第二方面的任一种可能的设计中所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
图1为现有技术中并行译码的示意图;
图2为本申请实施例中系统架构示意图;
图3为本申请实施例中并行译码方法过程示意图;
图4为本申请实施例中对第一软信息序列处理的过程示意图之一;
图5a为本申请实施例中对第一软信息序列处理的过程示意图之二;
图5b为本申请实施例中对第一软信息序列处理的过程示意图之三;
图6为本申请实施例中对待译码信息进行迭代处理的过程示意图;
图7为本申请实施例中X个软信息序列和M个译码器之间的关联关系示意图;
图8为本申请实施例中X个软信息序列通过M个译码器译码过程示意图;
图9为本申请实施例中Kronecker变换矩阵的篱笆图之一;
图10为本申请实施例中SC译码方法示意图;
图11为本申请实施例中Kronecker变换矩阵的篱笆图之二;
图12为本申请实施例中Kronecker变换矩阵的篱笆图之三;
图13为本申请实施例中基于篱笆图之二和之三的译码过程示意图;
图14为本申请实施例中GN陪集码的译码过程示意图;
图15为本申请实施例中并行译码装置结构示意图之一;
图16为本申请实施例中并行译码装置结构示意图之二;
图17为本申请实施例中并行译码装置结构示意图之三。
具体实施方式
本申请实施例提供一种译码方法及装置。其中,方法和装置是基于同一技术构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。本申请实施例的描述中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请中所涉及的至少一个是指一个或多个;多个,是指两个或两个以上。另外,需要理解的是,在本申请的描述中,“第一”、“第二”、“第三”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请实施例提供的译码方法可以应用于第五代(5th generation,5G)通信系统,例如5G新空口(new radio,NR)系统,或应用于未来的各种通信系统。
下面将结合附图,对本申请实施例进行详细描述。
图2示出了本申请实施例提供的译码方法适用的一种可能的通信系统的架构,参阅图2所示,通信系统200中包括:网络设备201和一个或多个终端202。当通信系统200包括核心网时,网络设备201还可以与核心网相连。网络设备201为覆盖范围内的终端202提供服务。例如,参见图1所示,网络设备201为网络设备201覆盖范围内的一个或多个终端202提供无线接入。除此之外,网络设备之间的覆盖范围可以存在重叠的区域,例如网络设备201和网络设备201’。网络设备之间还可以互相通信,例如,网络设备201可以与网络设备201’之间进行通信。
网络设备201为无线接入网(radio access network,RAN)中的节点,又可以称为基站,还可以称为RAN节点(或设备)。目前,一些网络设备201的举例为:下一代基站(nextgeneration nodeB,gNB)、下一代演进的基站(next generation evolved nodeB,Ng-eNB)、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(basestation controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),或无线保真(wireless fidelity,Wifi)接入点(access point,AP),网络设备201还可以是卫星或未来的基站,卫星还可以称为高空平台、高空飞行器、或卫星基站。网络设备201还可以是其他具有网络设备功能的设备,例如,网络设备201还可以是D2D通信或者车联网通信中担任网络设备功能的设备。网络设备201还可以是未来可能的通信系统中的网络设备。
在一些部署中,网络设备可以包括集中式单元(centralized unit,CU)和(distributed unit,DU)。网络设备还可以包括有源天线单元(active antenna unit,AAU)。CU实现网络设备的部分功能,DU实现网络设备的部分功能,比如,CU负责处理非实时协议和服务,实现无线资源控制(radio resource control,RRC),分组数据汇聚层协议(packet data convergence protocol,PDCP)层的功能。DU负责处理物理层协议和实时服务,实现无线链路控制(radio link control,RLC)层、媒体接入控制(media accesscontrol,MAC)层和物理(physical,PHY)层的功能。AAU实现部分物理层处理功能、射频处理及有源天线的相关功能。由于RRC层的信息最终会变成PHY层的信息,或者,由PHY层的信息转变而来,因而,在这种架构下,高层信令,如RRC层信令,也可以认为是由DU发送的,或者,由DU+AAU发送的。可以理解的是,网络设备可以为包括CU节点、DU节点、AAU节点中一项或多项的设备。此外,可以将CU划分为接入网(radio access network,RAN)中的网络设备,也可以将CU划分为核心网(core network,CN)中的网络设备,本申请对此不做限定。
终端202,又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种向用户提供语音和/或数据连通性的设备。例如,终端202包括具有无线连接功能的手持式设备、车载设备等。目前,终端202可以是:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internetdevice,MID)、可穿戴设备(例如智能手表、智能手环、计步器等),车载设备(例如,汽车、自行车、电动车、飞机、船舶、火车、高铁等)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、智能家居设备(例如,冰箱、电视、空调、电表等)、智能机器人、车间设备、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端,或智慧家庭(smart home)中的无线终端、飞行设备(例如,智能机器人、热气球、无人机、飞机)等。终端202还可以是其他具有终端功能的设备,例如,终端202还可以是D2D通信或者车联网通信中担任终端功能的设备。
以下具体介绍一下本申请实施例提供的并行译码方法。该并行译码方法的执行主体可以为译码设备,译码设备可以是网络设备201,也可以是终端202。译码设备获取待译码信息,对待译码信息进行译码,获得译码结果。待译码信息又称为待译码码字、待译码码块、码字、码块。本申请实施例中可以将待译码信息分为多个子码或子块做并行译码处理,并行译码的多个子码也可以称为多个软信息序列。即一个子码可以看做一个软信息序列。
本申请实施例提供的并行译码方法具体如下所述。对待译码信息进行一次或多次迭代操作,设最大迭代次数为Lmax,Lmax为正整数。若Lmax=1,则表示只迭代一次。若Lmax大于1,则迭代操作在为达到Lmax时持续执行。迭代操作以译码成功为止,或者以达到最大迭代次数为止。
如图3所示,第L次迭代的操作过程可以如下所述。L可以是任意一次迭代操作。
步骤301、获取第L次迭代的XL个第一软信息序列。
L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数。
在L=1时,译码设备根据接收到的符号序列计算编码比特的对数似然比(loglikelihood ratio,LLR)序列。在采取并行译码的方式的情况下,可以将计算得到的LLR序列分为X1个第一软信息序列。其中,一个软信息序列可以认为是一个LLR子序列或者一个LLR向量。
假设编码设备编码后的编码序列为长度为u的二进制序列x,编码设备对编码序列采用二进制相移键控(binary phase shift keying,BPSK)调制方法进行调制,将调制后的符号(1-2x)发送给译码设备。译码设备接收到的符号序列为y=1-2x+n,其中n是长度为N的噪声序列。根据y可以计算每个接收符号的软信息,软信息可以用对数似然比(loglikelihood ratio,LLR)表示,
Figure BDA0002317796710000091
σ2是噪声方差。
步骤302、对XL个第一软信息序列中的每一个第一软信息序列分别进行处理,获得XL个第二软信息序列。
对XL个第一软信息序列中任一个第一软信息序列执行如图4所示的处理过程。以第i个第一软信息序列来描述该处理过程,i=1、2、……、XL
步骤401、对第i个第一软信息序列进行硬判决,得到硬判决结果。
在此描述一下可选的硬判决的方法。对第i个第一软信息序列中的每一个软信息分别进行硬判决,硬判决采用的硬判决函数可以是:
Figure BDA0002317796710000092
其中,x为软信息的值,h(x)为对软信息的硬判决结果。
对每一个软信息进行硬判决之后,获得第一软信息序列的硬判决结果。第一软信息序列的硬判决结果由每一个软信息逐个硬判决后的结果组成。硬判决结果用
Figure BDA0002317796710000105
表示,
Figure BDA0002317796710000106
是二进制向量。
在一种可选的方式中,
Figure BDA0002317796710000101
的取值可以包括0或1。例如,第一软信息序列的长度为8,第一软信息序列为{1,-3,-2,2,-1,3,-4,1},通过硬判决得到硬判决结果
Figure BDA0002317796710000102
为{0,1,1,0,1,0,1,0}。
在另一种可选的方式中,
Figure BDA0002317796710000103
的取值还可以包括1或-1。例如,第一软信息序列的长度为8,第一软信息序列为{1,-3,-2,2,-1,3,-4,1},通过硬判决得到硬判决结果
Figure BDA0002317796710000104
为{1,-1,-1,1,-1,1,-1,1}。
步骤402、对硬判决结果进行校验,若校验通过,则执行步骤403;若校验不通过,则执行步骤404。
例如,可以采用计算综合征(syndrome)校验值的方式对硬判决结果进行校验。给定校验矩阵H,H可以是N行(N-K)列的矩阵,硬判决结果
Figure BDA0002317796710000107
为1×N的向量,N为编码码字的长度,K为信息比特的数目。计算
Figure BDA0002317796710000108
如果S是全0向量,则校验通过;否则,则校验不通过。校验通过也可以描述为满足校验。XL个第一软信息序列与XL个子码一一对应。可以按照第一软信息序列对应的子码中各比特的校验关系,对硬判决结果进行校验。当硬判决结果符合子码中各比特的校验关系时,则校验通过;否则,校验不通过。
步骤403、根据硬判决结果确定第i个第二软信息序列。
如上所述,硬判决结果的取值方式可能是0或1,在这种情况下,第i个第二软信息序列为
Figure BDA0002317796710000109
例如,第i个第一软信息序列的硬判决结果
Figure BDA00023177967100001010
为{0,1,1,0,1,0,1,0},则第i个第二软信息序列为{β,-β,-β,β,-β,β,-β,β}。
硬判决结果的取值方式还可能是1或-1,在这种情况下,第i个第二软信息序列为
Figure BDA00023177967100001011
例如,第i个第一软信息序列的硬判决结果
Figure BDA00023177967100001012
为{1,-1,-1,1,-1,1,-1,1}时,则第i个第二软信息序列为{β,-β,-β,β,-β,β,-β,β}。
本申请实施例中,β为常数。β可能的取值范围为0<β<1。
步骤404、将第i个第一软信息序列输入译码器进行译码。
一种可能的实现方式,在步骤404之后,可以执行步骤405;另一种可能的实现方式,在步骤404之后,可以执行步骤406~步骤410。
步骤405、根据步骤404的译码,获得第i个第二软信息序列。
步骤406、根据步骤404的译码,获得第三软信息序列。
步骤407、将第三软信息序列进行硬判决。
步骤408、对硬判决结果进行校验,若校验通过则执行步骤409,若校验不通过执行步骤410。
步骤409、根据硬判决结果确定第i个第二软信息序列。
步骤410、将第三软信息序列输入译码器进行译码,获得第i个第二软信息序列。
通过在步骤404之后执行步骤406~步骤410,对于校验通过的第三软信息序列,可以提高第三软信息序列中各个软信息的值(即各个软信息的正负符号不变并提高绝对值),以使得相对可靠的软信息进一步帮助其他子码译码,进而提升整体译码性能。
基于上述实施例,在一个可能的实现方式中,对XL个第一软信息序列中任一个第一软信息序列执行如图4所示的处理过程。在另一个可能的实现方式中,对XL个第一软信息序列中任一个第一软信息序列还可以执行如图5a所示的处理过程,获得XL个第二软信息序列,其中,XL个第一软信息序列与XL个子码具有对应关系。以第i个第一软信息序列来描述该处理过程,i=1、2、……X。
步骤501a、判断第i个第一软信息序列对应的子码的码率是否高于门限(threshold),若是,执行步骤502a、否则执行步骤503a。
步骤502a、若确定第i个第一软信息序列对应的子码的码率高于门限,则对第i个第一软信息序列进行硬判决,根据硬判决结果确定第i个第二软信息序列。
此处门限记为第一门限。
硬判决的方法和根据硬判决结果确定第i个第二软信息序列,可以参考步骤401和步骤403的描述,在此不再赘述。
步骤503a、若确定第i个第一软信息序列对应的子码的码率不高于门限,则将第i个第一软信息序列输入译码器进行译码,获得第i个第二软信息序列。
可以参考步骤404的描述,在此不再赘述。
通过对XL个第一软信息序列进行初步筛选,即判断第一软信息序列对应子码的等效码率是否高于门限,在不高于门限时,再输入译码器进行译码,获得第二软信息序列。可以有效减少XL个第一软信息序列并行译码所需要的译码器的数量。当XL个第一软信息序列并行译码时,所需要的并行译码的译码器数量小于XL,这样就可以减小译码所用的芯片的面积。
另外,对XL个第一软信息序列中任一个第一软信息序列还可以执行如图5b所示的处理过程,获得XL个第二软信息序列,其中,XL个第一软信息序列与XL个子码具有对应关系。以第i个第一软信息序列来描述该处理过程,i=1、2、……X。
XL个第一软信息序列对应的XL个子码码率不同且升序排列,将子码码率高于某一门限的子码称为第一子码,反之,将码率低于该门限的子码称为第二子码。在译码过程中,根据码率是第一子码还是第二子码,设置一个调用子码译码器的概率参数分别为P1和P2。可以配置P1<P2。
步骤501b、判断第i个第一软信息序列对应的子码的码率是否高于门限(threshold),若是,执行步骤502b、否则执行步骤503b。
步骤502b、确定对第i个第一软信息序列采用译码器进行译码的概率P。在P小于P1时,执行步骤504b,在P不小于P1时,执行步骤505b。
步骤503b、确定对第i个第一软信息序列采用译码器进行译码的概率P,在P小于P2时,执行步骤504b,在P不小于P1时,执行步骤505b。
步骤504b、将第i个第一软信息序列输入译码器进行译码,获得第i个第二软信息序列。
步骤505b、对第i个第一软信息序列进行硬判决,根据硬判决结果确定第i个第二软信息序列。
通过图5b的方法,可以进一步提升码字性能。在每一轮迭代过程中,通过对XL个第一软信息序列进行初步筛选,以更高概率调用译码器去译码码率较低的子码,以较低概率去译码码率较高的子码,这样将计算单元优于由于对纠错性能提升明显的低码码率,进而提升译码性能。并且,所需要的并行译码XL个第一软信息序列的译码器数量小于XL,这样就可以减小译码所用的芯片的面积,从而有利于芯片或硬件的设计。
本申请中,可以采用软输出译码器进行译码。将第i个第一软信息序列获得第i个第二软信息序列的译码方法,可以采用置信传播算法(belief propagation,BP),连续删除译码算法(successive cancellation,SC)、连续删除列表译码算法(successivecancellation list,SCL)、或者软连续删除译码算法(soft successive cancellation,SCAN)。以SC或SCL为例进行说明。SC是一种软入硬出的译码算法,译码结束后会得到一个码字,记为
Figure BDA0002317796710000121
是二进制向量,取0或1,返回软信息
Figure BDA0002317796710000122
其中,α是一个调整软信息幅度的宏参数。当采用SCL译码算法进行译码时,译码结束之后会得到若干个候选码字,对于每个码字比特,如果所有候选码字在这个码字比特上均相同,记为x,则返回软信息
Figure BDA0002317796710000123
如果不是所有候选码字在这个码字比特上均相同,则分别找到这个码字比特是0和1的两条路径度量(path metric,PM)值最小的路径,分别记为PM0和PM1,然后根据PM0和PM1来计算软信息。例如,当路径度量值定义为平均方差(mean square error)时,软信息的计算式是
Figure BDA0002317796710000124
可以看出,在对软信息序列进行处理过程中,图4的实现方式是通过硬判决结果是否通过验证做筛选,在对第i个第一软信息的硬判决结果校验不通过的情况下,再输入译码器进行译码。这样,通过对XL个第一软信息序列进行初步筛选,即进行硬判决,在硬判决结果校验通过时,可以根据硬判决结果获得第二软信息序列。只有在硬判决结果校验不通过时,再输入译码器进行译码,获得第二软信息序列。可以有效减少XL个第一软信息序列并行译码所需要的译码器的数量。当XL个第一软信息序列并行译码时,所需要的并行译码的译码器数量小于XL,这样就可以减小译码所用的芯片的面积,从而有利于芯片设计。图5a或图5b的实现方式是通过等效码率是否高于门限做筛选。在筛选过后,对硬判决结果未通过验证的或对等效码率不高于门限的软信息序列,输入译码器进行译码。而对硬判决结果通过验证的或对等效码率高于门限的软信息序列,不需要输入译码器进行译码。这样,可以减少并行译码所需的译码器数量,进一步减少并行译码所需芯片的面积。
本申请实施例中,对软信息序列做筛选的方法,可以不限于上述两种方式。例如,还可以通过以下方法。对第一软信息序列中各个软信息的绝对值相加,得到的软信息绝对值的和作为该第一软信息序列的评价标准(metric)。若该metric超过设定的门限,则该第一软信息序列不需要使用译码器,为作区分这里的门限记为第二门限。若该metric不超过设定的门限,则该第一软信息序列需要使用译码器。不需要使用译码器的第一软信息序列可以按照硬判决结果返回第二软信息序列。对第三软信息序列处理的过程类似,不再赘述。
可以理解,对软信息序列做筛选的多种方式可以结合使用。例如,将硬判决结果通过校验且metric超过门限的软信息序列,根据硬判决结果确定第二软信息序列;将硬判决结果未通过校验且metric不超过门限的软信息序列,输入译码器确定第二软信息序列。
对XL个第一软信息序列中的每一个第一软信息序列均可以按照图4、图5a或图5b所示的处理过程进行处理,XL个第一软信息序列可以并行处理。最终获得步骤302中获得的XL个第二软信息序列。步骤302获得的XL个第二软信息序列组成向量,该向量本次译码过程得到的译码序列。
进一步地,在步骤302之后,还可以执行以下步骤。
步骤303、对XL个第二软信息序列进行校验,若校验通过,则执行步骤304;若校验不通过则在L等于Lmax时,执行步骤305;在L小于Lmax时,返回执行步骤301。
步骤304、输出译码结果。
若校验通过,则获得待译码信息的译码结果,输出该译码结果,译码结束。即迭代结束。
步骤305、译码结束。
在L等于Lmax时,说明步骤301和步骤302的迭代过程达到了最大迭代次数。XL个第二软信息序列校验不通过的情况下,译码失败,译码结束,迭代结束。
在L小于Lmax时,说明步骤301和步骤302的迭代过程还未达到最大迭代次数,继续执行迭代的过程,返回执行步骤301。
在返回执行步骤301时,输入的是第(L+1)次迭代的XL+1个第一软信息序列,该第(L+1)次迭代的XL+1个第一软信息序列可以根据XL个第二软信息序列确定。例如,可以对XL个第二软信息序列的排序顺序进行调整,确定第(L+1)次迭代的XL+1个第一软信息序列。
第(L+1)次迭代的处理过程,与第L次迭代的处理过程相同或相似。第L次迭代的处理过程的输入为XL+1个第一软信息序列;第(L+1)次迭代的处理过程的输入为XL+1个第一软信息序列的处理过程。XL中的下标L表示迭代的次数。XL+1与XL可以相同也可以不同。
以下对第(L+1)次迭代的处理过程进行描述,未涉及到的细节描述可以参考对第L次迭代的处理过程,不再赘述。
对XL+1个第一软信息序列中的每一个第一软信息序列分别进行处理,获得XL+1个第二软信息序列。
其中,对XL+1个第一软信息序列中的第i个第一软信息序列的处理过程,可以参照图4图5a或图5b对XL个第一软信息序列中第i个第一软信息序列的处理过程。如下述步骤描述。
在对XL+1个第一软信息序列分别进行处理后,获得XL+1个第二软信息序列。XL+1个第二软信息序列组成第(L+1)次译码获得的译码序列。对本次译码获得的译码序列继续进行校验处理,若校验通过,则输出待译码信息的译码结果,若校验不通过,则继续返回执行步骤301,执行与第L次迭代操作类似的处理过程。如此迭代操作直到译码成功,或者直到达到最大译码次数。最大译码次数可以由网络设备通知给终端,或者根据协议规定。
基于上述实施例的描述,下面通过图6来示意说明对待译码信息进行迭代处理的过程。
步骤601、获取多个软信息序列;
步骤602、将多个软信息序列中的每一个软信息序列进行硬判决。
步骤603、对硬判决结果进行校验,若校验通过,则执行步骤604,否则执行步骤605。
步骤604、获得软信息序列1。
根据硬判决结果确定软信息1。
步骤605、输入译码器,获得软信息序列2。
将604和605两种方式获得的软信息序列,返回执行601,执行迭代的过程,直到译码成功或到达最大迭代次数。
在返回执行步骤601之前,将604和605或的软信息序列组成的译码序列进行校验,若校验通过,则译码成功,不通过则返回迭代的过程。
本申请实施例中,对软信息序列进行译码处理的译码器可以是SCL译码器、SCAN译码器、SC译码器,SC permutation译码器。
本申请实施例中,每次迭代处理过程中采用的β值可能相同或不同。例如,当采用SCAN译码器时,β可以配置为5/8,在每一轮迭代中保持不变。假设最大迭代次数为8,当采用SC译码器时,β在不同迭代轮数可以依次配置为[0.6750,0.5625,0.7500,0.6250,0.7500,2.5000,1.5000,1.0000]。β的值可以由网络设备配置给终端,也可以根据译码器的历史记录来确定。
基于上述实施例的描述,假设每次迭代输入的第一软信息序列的数目统一用X表示。X可以是XL或XL+1。对X个软信息序列进行并行译码所采用的译码器数量可以小于X。假设小于X个译码器的数量为M。
X个软信息序列中每一个软信息序列都有可能判定为需要译码器译码,当软信息序列判定为需要译码器译码时,可以将该软信息序列输入与其关联的译码器进行译码。由于每一个软信息序列都有可能判定为需要译码器译码,因此一种可能的实现方式中,可以将每一个软信息序列关联M个译码器,即每一个软信息序列均可以通过M个译码器中的任意一个译码器进行译码。但是这种关联方式,将导致并行译码的芯片电路比较复杂。本申请实施例中,提供一种关联方式能够降低并行译码的芯片电路的复杂度。
将X个软信息序列进行分组,获得P个软信息序列组。P个软信息序列组中任意两个软信息序列组均不相交。P为正整数。P个软信息序列组与P个译码器组具有一一对应关系。这样,软信息序列组中的软信息序列与该组对应的译码器组具有关联关系。假设将第i个第一软信息序列输入第一译码器进行译码,则可以确定第i个第一软信息序列所在的软信息序列组,在该软信息序列组对应的译码器组中,选择第一译码器。可以任意选择,也可以按照译码器的负载选择负载小的译码器。
本申请实施例中,M的数值由与目标误块率有关。目标误块率(block error rate,BLER)越低,M越小。
以下通过图7来示意X个第一软信息序列和M个译码器之间的关联关系。
如图7所示,假设X=8,M=4。将8个软信息序列分为2组,8个软信息序列的序号为0、1、……、7,序号0、1、2和3的软信息序列为组1,序号4、5、6和7的软信息序列为组2。4个译码器分为2组,序号0和1的译码器为组1,序号2和3的译码器为组2。
在图7所示关联关系的基础上,假设软信息序列0、1、4和5经过上述筛选过程,不需要进入译码器,而直接根据硬判决结果获得返回的软信息序列,则只需要软信息序列2、3、6和7进入译码器。如图8所示,筛选过程可以通过上述对硬判决结果的校验过程,或者通过对软信息序列对应的子码的码率是否高于门限的判断过程来实现。软信息序列3可以进入译码器0,软信息序列4可以进入译码器1,软信息序列6可以进入译码器2,软信息序列7可以进入译码器3。各个软信息序列进行筛选的过程可以并行处理,则每一个软信息序列可以经过一个筛选单元。或者,各个软信息序列进行筛选的过程也可以经过一个筛选单元处理。或者筛选单元的数量大于1且小于软信息序列的数量。
通过上述描述可以看出,如果采用8个软信息序列均关联4个译码器,则需要8*4=32个关联关系。若采用分组的关联方式,组1的4个软信息序列关联组1的2个译码器,组2的4个软信息序列关联组2的2个译码器,共需要4*2+4*2=16个关联关系。降低了并行译码的芯片电路的复杂度。
实际应用中,软信息序列需要存储与存储器中,一个软信息序列存储在一个存储单元中,当并行译码时,软信息序列与译码器关联,实际是指软信息序列所在的存储单元与译码器关联。
通过分组的关联方式,在对待译码的软信息序列进行筛选,部分进入译码器译码,这个方案的基础上,进一步降低并行译码芯片的面积和复杂度,提高译码性能。
如表1所示,示出了一种可选的参数配置下芯片面积节省效率的举例。
表1
Figure BDA0002317796710000151
如表1所示,当目标BLER位于1e-6到1e-5之间时,可以每组包括8个软信息序列,一组中的8个软信息序列关联6个译码器,相比每一个软信息序列固定一个译码器的方式面积效率提升33%。当目标BLER位于1e-6到1e-5之间时,也可以每组包括4个软信息序列,一组中的4个软信息序列关联3个译码器,相比每一个软信息序列固定一个译码器方式面积效率提升33%。当目标BLER小于1e-6时,可以每组包括8个软信息序列,一组中的8个软信息序列关联4个译码器,相比每一个软信息序列固定一个译码器的方式面积效率提升100%。当目标BLER小于1e-6时,也可以每组包括4个软信息序列,一组中的4个软信息序列关联2个译码器,相比每一个软信息序列固定一个译码器的方式面积效率提升100%。
本申请实施例上述提供的并行译码方法可以应用任意可以并行译码的码字,例如,极化(Polar)码、乘积(product)码,楼梯(staircase)码,低密度奇偶校验码(lowdensity parity check,LDPC)码。由于乘积(product)码和楼梯(staircase)码的译码均可以看成并行对多个子码(或多个软信息序列)进行译码,本申请实施例中,可以对优化乘积(product)码或楼梯(staircase)码的译码器按照上文描述的方法进行优化,即对筛选后的部分软信息序列使用译码器译码,其余部分不使用译码器译码。LDPC码可以看作是若干个短码通过稀疏校验矩阵相连,因此在译码过程中也可以使用上文的方法,对该若干个短码进行筛选,对筛选后的部分短码使用译码器译码,其余部分不使用译码器译码。
以下以应用于极化码为例,对本申请实施例提供的并行译码方法做进一步详细说明。
一种可能的设计中,极化码编码方法可以设计为高吞吐的GN陪集码。以下对GN陪集码的概念、编码和译码方式进行说明。
极化码采用的Kronecker变换矩阵
Figure BDA0002317796710000152
n=log2(N),是一个N×N的方阵。在GN中选择K行可以得到K×N的编码生成矩阵G,称这样的编码为基于GN的陪集(coset)码。给定生成矩阵G和长度为K的信息比特序列,可以构造一个长度为N的待编码比特向量u,其中生成矩阵G各行对应的K个位置放信息比特(信息位),其余位置放0(冻结位)。编码过程可由c=uGN表示。Kronecker变换矩阵亦可以用篱笆图表示,如图9所示,其中每一个蝶形运算都对应于向量与矩阵
Figure BDA0002317796710000161
相乘。GN的陪集(coset)码的编码过程可以看作一个从左到右一共n阶的运算过程。
GN的陪集(coset)码可以利用SC译码算法进行译码。SC译码算法的过程如下所述。接收到信号后,逐个计算信息比特的LLR,若信息比特的LLR>0,则译码结果为0,若信息比特的LLR<0,则译码结果为1,固定比特无论LLR为多少译码结果都置为0。图10为SC译码计算过程示意图,以译码比特为4个为例,图10中共有8个计算节点,其中有4个F节点,4个G节点,F节点和G节点分别对应F函数和G函数。F节点的计算需要其右侧2项LLR输入,G节点的计算需要其右侧2项LLR输入以及上一级的输出也作为输入,只有输入项计算完成后,才能计算输出。按照上述计算规则,图10中从右侧接收信号开始,按序计算8个节点,获得的译码比特依次为①→②→③→④,至此译码完成。
码字构造的关键问题是确定子矩阵即确定信息位集合。以构造(N=n2,K=k2)为例进行说明码字的构造过程。首先,根据高斯近似(gaussian approximation,GA)/密度进化(density evolution,DE)或者PW/NR序列等方式构造一个参数为(n,k)的Polar码短码,其信息位适量P=[p1,p2,…,pn],pi=1表示第i位是信息位,pi=0表示第i位是冻结位。然后,对P作Kronecker运算,得到长度为N=n2的向量
Figure BDA0002317796710000162
作为最终构造码字的信息位适量。以构造一个(16,9)码为例作进一步说明。首先,经过因式分解,得到短码参数分别是(4,3),确定P=[0 1 1 1]。然后,将二进制矢量P进行kronecker运算,得到长码信息位所对应的二进制矢量如下
Figure BDA0002317796710000163
这种码字构造方式有利用并行译码。在图9所示基础上,如图11所示,Kronecker陪集码编码过程可以看作一个从左到右一共n阶的运算过程,其中前n/2阶是外码(outercodes),后n/2阶是内码(inner codes)。通过将外码和内码交换,可以得到如图12所示的等效的篱笆图。基于图11和图12所示的两张篱笆图,可以按照上文提供的并行译码方法进行译码。
如图11和图12所示,待译码的软信息序列由右侧输入,可以将待译码的16个软信息组成4个软信息序列,一个软信息序列包括4个软信息。16个软信息用X1~X16表示。Xi=X(a,b),a表示软信息序列的序号,b表示在软信息序列a中软信息的序号。例如,X3=X(3,1)表示,软信息3在序号为3的软信息序列中的序号为1。具有相同a值的软信息为同一个软信息序列。将4个软信息序列按照上文中对X个第一软信息序列的处理过程进行处理。处理后,得到4个第二软信息序列,即16个第二软信息。将16个第二软信息的顺序调整。调整后分组得到4个第三软信息序列,如图12所示,具有相同a值的软信息为同一个软信息序列。按照上文中对Y个第三软信息序列的处理过程进行处理。如此对内码迭代处理,直到译码成功或达到最大迭代次数。
如图13所示,对图11和图12的译码过程如下所述。
步骤1301、对图11的内码译码,获得第一译码序列。
具体过程参照上文中对X个第一软信息序列的处理过程进行处理。
步骤1302、根据第一译码序列更新X侧软信息。
可以按照序号对X1~X16按照步骤1301得到的译码序列进行更新。
步骤1303、对图12的内码译码,获得第二译码序列。
具体过程参照上文中对Y个第三软信息序列的处理过程进行处理。
步骤1304、根据第二译码序列更新X侧软信息。
可以按照序号对X1~X16根据步骤1301得到的译码序列进行更新。
如此对内码迭代处理,直到译码成功或达到最大迭代次数。
以下以应用于楼梯码为例,对本申请实施例提供的并行译码方法做进一步详细说明。
楼梯码的如图14所示,其中正方形表示一个方阵,其中,方阵的大小为n*n,其中的元素都是二进制比特。带斜线填充的部分表示待编码的信息比特。在编码开始时,第一阶(从上向下)左侧的正方形所示意的方阵被初始化为全0。将第一阶的斜线填充部分矩阵设为待编码的信息比特矩阵,大小为n*k。在编码过程中,对于每i行,其中,i=1,2,…n,将左侧所有元素作为信息比特,长度为n+k,采用系统码编码,得到长度为2n的编码比特序列,其中包括n+k个信息比特,n-k个校验比特。将n-k个校验比特,放在第1阶校验矩阵右侧空白矩形中第i行,完成第一阶编码。同理,对由第一阶中右侧矩阵和第二阶中左侧矩阵构成的第二列(从左向右排序)矩阵,做同样操作。具体来说,针对第i列,其中,i=1,2,…n,将不含最下侧空白矩阵的所有元素作为信息比特,长度为n+k,进行系统码编码,得到长度为2n的编码比特序列,其中包括n+k个信息比特,n-k个校验比特。将n-k个校验比特,放在第二列校验矩阵下册空白矩形中第i列,完成第二阶编码。重复执行该过程,直到编码完所有信息比特为止。其中,行(列)编码可以是Polar码、LDPC码、BCH码等线性编码。由编码过程可以看出,在译码每一级楼梯码时,软信息序列可以根据行编码(或列编码)分成n段不同的软信息序列。这时可以采用我们的方法对软信息序列进行再次分组,并公用译码单元,从而降低芯片面积。该思路亦可用于改进编码构造设计以提升性能。具体来说,在译码行编码(或列编码)时,码字侧的比特错误概率可能不同,这一点对于系统Polar码编码且采用SCAN译码器译码时尤为明显。为了适应译码器,在构造码时,可以首先根据密度进化、高斯近似等方法计算码字侧每个比特的错误概率,并按照从高到低排序。在进行楼梯码编码时,将错误概率较低的比特放在最左边,将错误概率较高的比特放在最右边。或者,将错误概率较低的比特放在最上边,将错误概率较高的比特放在最下边。这使得在行(列)编码中错误概率最高的比特,在列(行)编码中错误概率最低。通过平衡每个比特的错误概率,可以提升纠错性能。
基于上述描述,如图15所示,本申请实施例还提供了一种并行译码装置1500,并行译码装置1500用于执行上述实施例提供的并行译码方法,并行译码装置1500包括:获取单元1501和处理单元1502。
在实现方式一中:
获取单元1501,用于获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数;
处理单元1502,用于对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;
其中,所述第一处理包括:对第i个第一软信息序列进行第一硬判决,得到第一硬判决结果;对所述第一硬判决结果进行校验,若校验通过,则根据所述第一硬判决结果确定第i个第二软信息序列;若校验不通过,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列;i=1、2、……、XL
在实现方式二中:
获取单元1501,用于获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数,所述XL个第一软信息序列与XL个子码具有对应关系;
处理单元1502,用于对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;
其中,所述第一处理包括:若确定第i个第一软信息序列对应的子码的码率高于门限,则对所述第i个第一软信息序列进行第一硬判决,获得第一硬判决结果,根据所述第一硬判决结果确定第i个第二软信息序列;若确定第i个第一软信息序列对应的子码的码率不高于所述门限,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列,i=1、2、……、XL。
基于上述实现方式一和实现方式二,以下提供一些可能的设计。
可选的,在根据所述第一硬判决结果确定第i个第二软信息序列时,所述处理单元1502用于:所述第一硬判决结果为向量
Figure BDA0002317796710000181
Figure BDA0002317796710000182
的取值包括0或1,根据所述
Figure BDA0002317796710000183
确定所述第i个第二软信息序列为
Figure BDA0002317796710000184
或者,若
Figure BDA0002317796710000185
的取值包括1或-1,则根据所述
Figure BDA0002317796710000186
确定所述第i个第二软信息序列为
Figure BDA0002317796710000187
其中,β为常数。
可选的,所述X个第一软信息序列包括P个软信息序列组,所述P个软信息序列组中任意两个软信息序列组均不相交,P为正整数;
所述P个软信息序列组与P个译码器组一一对应。
可选的,在将所述第i个第一软信息序列输入第一译码器进行译码时,所述处理单元1502用于:
将所述第i个第一软信息序列,输入第一译码器组中的第一译码器进行译码;其中,所述第i个第一软信息序列属于第一软信息序列组,所述第一软信息序列组与第一译码器组对应。
可选的,在对所述第一硬判决结果进行校验时,所述处理单元1502用于:
按照所述第一软信息序列对应的第一子码中各比特的校验关系,对所述第一硬判决结果进行校验;
当所述第一硬判决结果符合所述第一子码中各比特的校验关系时,则校验通过;否则,校验不通过;
其中,所述X个第一软信息序列与X个子码一一对应。
可选的,所述处理单元1502还用于:
对所述XL个第二软信息序列进行校验;
若校验通过,则输出译码结果;
若校验不通过,在L等于Lmax时,译码结束;在L小于Lmax时,根据所述XL个第二软信息序列,确定第(L+1)次迭代的XL+1个第一软信息序列。
本申请实施例中还提供一种并行译码装置,该并行译码装置可以用于执行上述并行译码方法。
上述并行译码方法中的部分或全部可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,如图16所示,并行译码装置包括:输入接口电路1601,用于获取迭代的多个第一软信息序列;逻辑电路1602,用于执行上述并行译码方法中除获取第一软信息序列和输出第二软信息序列的其它操作,具体请见前面方法实施例中的描述,此处不再赘述;输出接口电路1603,用于输出多个第二软信息序列。
可选的,并行译码装置在具体实现时可以是芯片或者集成电路。
当上述实施例的并行译码方法中的部分或全部通过软件来实现时,如图17所示,并行译码装置包括:存储器1701,用于存储程序;处理器1702,用于执行存储器1701存储的程序,当程序被执行时,使得并行译码装置可以实现上述实施例提供的并行译码方法。
可选的,上述存储器1701可以是物理上独立的单元,也可以存储器1701与处理器1702集成在一起。
可选的,当上述并行译码方法中的部分或全部通过软件实现时,并行译码装置也可以只包括处理器1702。用于存储程序的存储器1701位于并行译码装置之外,处理器1702通过电路/电线与存储器1701连接,用于读取并执行存储器1701中存储的程序。
处理器1702可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器1702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器1701可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1701也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1701还可以包括上述种类的存储器的组合。
并行译码装置还可以是芯片、集成电路或者芯片系统。
本申请实施例还可提供一种芯片,包括处理器,用于支持该并行译码装置实现上述方法实施例中所涉及的功能。在一种可能的设计中,该芯片与存储器连接或者该芯片包括存储器,该存储器用于保存该并行译码装置必要的程序指令和数据。
本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序包括用于执行上述方法实施例的指令。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (27)

1.一种并行译码方法,其特征在于,包括:
获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数;
对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;
其中,所述第一处理包括:对第i个第一软信息序列进行第一硬判决,得到第一硬判决结果;对所述第一硬判决结果进行校验,若校验通过,则根据所述第一硬判决结果确定第i个第二软信息序列;若校验不通过,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列;i=1、2、……、XL
2.如权利要求1所述的方法,其特征在于,根据所述第一硬判决结果确定第i个第二软信息序列,包括:
所述第一硬判决结果为向量
Figure FDA0002317796700000011
Figure FDA0002317796700000012
的取值包括0或1,根据所述
Figure FDA0002317796700000013
确定所述第i个第二软信息序列为
Figure FDA0002317796700000014
或者,若
Figure FDA0002317796700000015
的取值包括1或-1,则根据所述
Figure FDA0002317796700000016
确定所述第i个第二软信息序列为
Figure FDA0002317796700000017
其中,β为常数。
3.如权利要求1或2所述的方法,其特征在于,所述X个第一软信息序列包括P个软信息序列组,所述P个软信息序列组中任意两个软信息序列组均不相交,P为正整数;
所述P个软信息序列组与P个译码器组一一对应。
4.如权利要求3所述的方法,其特征在于,将所述第i个第一软信息序列输入第一译码器进行译码,包括:
将所述第i个第一软信息序列,输入第一译码器组中的第一译码器进行译码;其中,所述第i个第一软信息序列属于第一软信息序列组,所述第一软信息序列组与第一译码器组对应。
5.如权利要求1~4任一项所述的方法,其特征在于,对所述第一硬判决结果进行校验,包括:
按照所述第一软信息序列对应的第一子码中各比特的校验关系,对所述第一硬判决结果进行校验;
当所述第一硬判决结果符合所述第一子码中各比特的校验关系时,则校验通过;否则,校验不通过;
其中,所述X个第一软信息序列与X个子码一一对应。
6.如权利要求1~5任一项所述的方法,其特征在于,所述方法还包括:
对所述XL个第二软信息序列进行校验;
若校验通过,则输出译码结果;
若校验不通过,在L等于Lmax时,译码结束;在L小于Lmax时,根据所述XL个第二软信息序列,确定第(L+1)次迭代的XL+1个第一软信息序列。
7.一种并行译码方法,其特征在于,包括:
获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数,所述XL个第一软信息序列与XL个子码具有对应关系;
对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;
其中,所述第一处理包括:若确定第i个第一软信息序列对应的子码的码率高于门限,则对所述第i个第一软信息序列进行第一硬判决,获得第一硬判决结果,根据所述第一硬判决结果确定第i个第二软信息序列;
若确定第i个第一软信息序列对应的子码的码率不高于所述门限,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列,i=1、2、……、XL
8.如权利要求7所述的方法,其特征在于,根据所述第一硬判决结果确定第i个第二软信息序列,包括:
所述第一硬判决结果为向量
Figure FDA0002317796700000021
Figure FDA0002317796700000022
的取值包括0或1,根据所述
Figure FDA0002317796700000023
确定所述第i个第二软信息序列为
Figure FDA0002317796700000024
或者,若
Figure FDA0002317796700000025
的取值包括1或-1,则根据所述
Figure FDA0002317796700000026
确定所述第i个第二软信息序列为
Figure FDA0002317796700000027
其中,β为常数。
9.如权利要求7或8所述的方法,其特征在于,所述X个第一软信息序列包括P个软信息序列组,所述P个软信息序列组中任意两个软信息序列组均不相交,P为正整数;
所述P个软信息序列组与P个译码器组一一对应。
10.如权利要求9所述的方法,其特征在于,将所述第i个第一软信息序列输入第一译码器进行译码,包括:
将所述第i个第一软信息序列,输入第一译码器组中的第一译码器进行译码;其中,所述第i个第一软信息序列属于第一软信息序列组,所述第一软信息序列组与第一译码器组对应。
11.如权利要求7~10任一项所述的方法,其特征在于,所述方法还包括:
对所述XL个第二软信息序列进行校验;
若校验通过,则输出译码结果;
若校验不通过,在L等于Lmax时,译码结束;在L小于Lmax时,根据所述XL个第二软信息序列,确定第(L+1)次迭代的XL+1个第一软信息序列。
12.一种并行译码装置,其特征在于,包括:
获取单元,用于获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数;
处理单元,用于对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;
其中,所述第一处理包括:对第i个第一软信息序列进行第一硬判决,得到第一硬判决结果;对所述第一硬判决结果进行校验,若校验通过,则根据所述第一硬判决结果确定第i个第二软信息序列;若校验不通过,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列;i=1、2、……、XL
13.如权利要求12所述的装置,其特征在于,在根据所述第一硬判决结果确定第i个第二软信息序列时,所述处理单元用于:
所述第一硬判决结果为向量
Figure FDA0002317796700000028
Figure FDA0002317796700000031
的取值包括0或1,根据所述
Figure FDA0002317796700000032
确定所述第i个第二软信息序列为
Figure FDA0002317796700000033
或者,若
Figure FDA0002317796700000034
的取值包括1或-1,则根据所述
Figure FDA0002317796700000035
确定所述第i个第二软信息序列为
Figure FDA0002317796700000036
其中,β为常数。
14.如权利要求12或13所述的装置,其特征在于,所述X个第一软信息序列包括P个软信息序列组,所述P个软信息序列组中任意两个软信息序列组均不相交,P为正整数;
所述P个软信息序列组与P个译码器组一一对应。
15.如权利要求14所述的装置,其特征在于,在将所述第i个第一软信息序列输入第一译码器进行译码时,所述处理单元用于:
将所述第i个第一软信息序列,输入第一译码器组中的第一译码器进行译码;其中,所述第i个第一软信息序列属于第一软信息序列组,所述第一软信息序列组与第一译码器组对应。
16.如权利要求12~15任一项所述的装置,其特征在于,在对所述第一硬判决结果进行校验时,所述处理单元用于:
按照所述第一软信息序列对应的第一子码中各比特的校验关系,对所述第一硬判决结果进行校验;
当所述第一硬判决结果符合所述第一子码中各比特的校验关系时,则校验通过;否则,校验不通过;
其中,所述X个第一软信息序列与X个子码一一对应。
17.如权利要求12~16任一项所述的装置,其特征在于,所述处理单元还用于:
对所述XL个第二软信息序列进行校验;
若校验通过,则输出译码结果;
若校验不通过,在L等于Lmax时,译码结束;在L小于Lmax时,根据所述XL个第二软信息序列,确定第(L+1)次迭代的XL+1个第一软信息序列。
18.一种并行译码装置,其特征在于,包括:
获取单元,用于获取第L次迭代的XL个第一软信息序列,L、XL为正整数,L小于或等于Lmax,Lmax为设定的最大迭代次数,所述XL个第一软信息序列与XL个子码具有对应关系;
处理单元,用于对所述XL个第一软信息序列中的每一个第一软信息序列分别进行第一处理,获得XL个第二软信息序列;
其中,所述第一处理包括:若确定第i个第一软信息序列对应的子码的码率高于门限,则对所述第i个第一软信息序列进行第一硬判决,获得第一硬判决结果,根据所述第一硬判决结果确定第i个第二软信息序列;若确定第i个第一软信息序列对应的子码的码率不高于所述门限,则将所述第i个第一软信息序列输入第一译码器进行译码,获得第i个第二软信息序列,i=1、2、……、XL
19.如权利要求18所述的装置,其特征在于,在根据所述第一硬判决结果确定第i个第二软信息序列时,所述处理单元用于:
所述第一硬判决结果为向量
Figure FDA0002317796700000037
Figure FDA0002317796700000038
的取值包括0或1,根据所述
Figure FDA0002317796700000039
确定所述第i个第二软信息序列为
Figure FDA00023177967000000310
或者,若
Figure FDA00023177967000000311
的取值包括1或-1,则根据所述
Figure FDA00023177967000000312
确定所述第i个第二软信息序列为
Figure FDA00023177967000000313
其中,β为常数。
20.如权利要求18或19所述的装置,其特征在于,所述X个第一软信息序列包括P个软信息序列组,所述P个软信息序列组中任意两个软信息序列组均不相交,P为正整数;
所述P个软信息序列组与P个译码器组一一对应。
21.如权利要求20所述的装置,其特征在于,在将所述第i个第一软信息序列输入第一译码器进行译码时,所述处理单元用于:
将所述第i个第一软信息序列,输入第一译码器组中的第一译码器进行译码;其中,所述第i个第一软信息序列属于第一软信息序列组,所述第一软信息序列组与第一译码器组对应。
22.如权利要求18~21任一项所述的装置,其特征在于,所述处理单元还用于:
对所述XL个第二软信息序列进行校验;
若校验通过,则输出译码结果;
若校验不通过,在L等于Lmax时,译码结束;在L小于Lmax时,根据所述XL个第二软信息序列,确定第(L+1)次迭代的XL+1个第一软信息序列。
23.一种并行译码装置,其特征在于,包括:
输入接口电路,用于获取迭代的多个第一软信息序列;
逻辑电路,用于基于获取的所述多个第一软信息序列执行所述权利要求1~6或7~11任一项所述的方法,得到多个第二软信息序列;
输出接口电路,用于输出多个第二软信息序列。
24.一种并行译码装置,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,使得所述并行译码装置执行如权利要求1~6或7~11任一项所述的方法。
25.如权利要求24所述的装置,其特征在于,所述处理器包括所述存储器。
26.如权利要求24或25所述的装置,其特征在于,所述并行译码装置为芯片或集成电路。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可读指令,当所述计算机可读指令在并行译码装置上运行时,使得所述并行译码装置执行权利要求1~11任一项所述的方法。
CN201911285256.0A 2019-12-13 2019-12-13 一种并行译码方法及装置 Active CN113067582B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911285256.0A CN113067582B (zh) 2019-12-13 2019-12-13 一种并行译码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911285256.0A CN113067582B (zh) 2019-12-13 2019-12-13 一种并行译码方法及装置

Publications (2)

Publication Number Publication Date
CN113067582A true CN113067582A (zh) 2021-07-02
CN113067582B CN113067582B (zh) 2024-04-12

Family

ID=76557821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911285256.0A Active CN113067582B (zh) 2019-12-13 2019-12-13 一种并行译码方法及装置

Country Status (1)

Country Link
CN (1) CN113067582B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1780152A (zh) * 2004-11-17 2006-05-31 松下电器产业株式会社 迭代译码方法和系统
CN101132252A (zh) * 2007-09-26 2008-02-27 东南大学 低密度奇偶校验码的量化最小和译码方法
CN101345602A (zh) * 2008-08-21 2009-01-14 上海交通大学 低密度校验码迭代译码的提前中止方法
CN101557234A (zh) * 2009-05-18 2009-10-14 北京天碁科技有限公司 一种Turbo码的动态迭代译码方法及装置
WO2011032387A1 (zh) * 2009-09-15 2011-03-24 中兴通讯股份有限公司 Rs码的译码方法和装置
CN105763203A (zh) * 2016-02-14 2016-07-13 广西大学 一种基于硬可靠度信息的多元ldpc码译码方法
CN107565982A (zh) * 2017-09-20 2018-01-09 上海东软载波微电子有限公司 Turbo迭代译码的输出控制方法、装置及译码设备
CN109495115A (zh) * 2018-11-01 2019-03-19 哈尔滨工业大学 一种基于fpga的ldpc译码器及译码方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1780152A (zh) * 2004-11-17 2006-05-31 松下电器产业株式会社 迭代译码方法和系统
CN101132252A (zh) * 2007-09-26 2008-02-27 东南大学 低密度奇偶校验码的量化最小和译码方法
CN101345602A (zh) * 2008-08-21 2009-01-14 上海交通大学 低密度校验码迭代译码的提前中止方法
CN101557234A (zh) * 2009-05-18 2009-10-14 北京天碁科技有限公司 一种Turbo码的动态迭代译码方法及装置
WO2011032387A1 (zh) * 2009-09-15 2011-03-24 中兴通讯股份有限公司 Rs码的译码方法和装置
CN105763203A (zh) * 2016-02-14 2016-07-13 广西大学 一种基于硬可靠度信息的多元ldpc码译码方法
CN107565982A (zh) * 2017-09-20 2018-01-09 上海东软载波微电子有限公司 Turbo迭代译码的输出控制方法、装置及译码设备
CN109495115A (zh) * 2018-11-01 2019-03-19 哈尔滨工业大学 一种基于fpga的ldpc译码器及译码方法

Also Published As

Publication number Publication date
CN113067582B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
US10886950B2 (en) Method and apparatus for generating a code word
US11025278B2 (en) Polar coding encoding/decoding method and apparatus
CN106685586B (zh) 生成用于在信道中传输的低密度奇偶校验码的方法及设备
US20200236589A1 (en) Method and device for transmitting data
JP2019533345A (ja) ポーラー符号を使用してデータを符号化するための方法及び装置
US10972130B2 (en) Encoding method, decoding method, encoding apparatus, and decoding apparatus
US10965322B2 (en) Polar code encoding method and apparatus
CN108282259B (zh) 一种编码方法及装置
CN108429599B (zh) 用于通信系统中的数据处理的方法和设备
CN108270510B (zh) 基于ldpc码的通信方法和通信设备
US10355820B2 (en) Decoding method and apparatus in system using sequentially connected binary codes
US8327215B2 (en) Apparatus and method for encoding LDPC code using message passing algorithm
CN108234066B (zh) 基于ldpc的通信方法和通信设备
CN110324111B (zh) 一种译码方法及设备
CN111130564B (zh) 译码方法及装置
CN113067582B (zh) 一种并行译码方法及装置
US11171673B2 (en) Decoding method and apparatus
US20200343913A1 (en) Channel encoding method and encoding apparatus
CN112737600B (zh) 译码方法和译码器
CN111713023B (zh) 一种极化码译码方法及译码装置
CN112886969B (zh) 一种极化码编码方法及装置
CN112886969A (zh) 一种极化码编码方法及装置
US20230318739A1 (en) Method for determining auxiliary bit of polar code and apparatus
KR20190016296A (ko) 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법
CN111786680B (zh) 一种生成矩阵的确定方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant