掌桥专利:专业的专利平台
掌桥专利
首页

极化码译码中g函数的计算方法、装置、电子设备及介质

文献发布时间:2023-06-19 13:29:16


极化码译码中g函数的计算方法、装置、电子设备及介质

技术领域

本公开涉及通信技术领域,特别是涉及一种极化码译码中g函数的计算方法、装置、电子设备及介质。

背景技术

Polar码是信道极化(Channel Polarization)码,因其低译码复杂度已成为当今信道编码领域的研究热点之一,例如用于未来无线通信的信道码,并且已经被选择用于新的第五代(5thGeneration,5G)空口(也称为5G新无线(New Radio,简称NR))的上行和下行增强型移动宽带(enhanced mobile broadband,eMBB)控制信道编码。这些码与相关技术的纠错码之间存在竞争,并且编码复杂度较低,此外,极化码是目前唯一可以从数学角度证明达到香农极限的纠错编码技术。其中,串行抵消列表(Successive Cancellation List,SCL)算法是一种被广泛接受的Polar译码算法。

发明内容

发明人发现,相关的极化码译码方法为了得到最终译码比特,需分别计算编译码等效图中每个节点对数似然比(Logarithm Likelihood Ratio,简称LLR)值以及计算对应的路径度量值,在计算每一个节点时,需计算所有译码路径的LLR值,根据LLR值计算对应译码路径的路径度量值,对所有路径度量值进行排序,选择路径度量值大的若干条路径进行后续扩展,而其中,若节点为g函数,则其还需要假设g函数中的估计比特为0或为1时对应的LLR值,增大了运算量。本公开实施例的目的在于提供一种极化码译码中g函数的计算方法、装置、电子设备及介质,能够确定g函数中估计比特的值,以解决在计算g函数节点时由于估计比特未知而导致的计算量大的技术问题。具体技术方案如下:

在本公开实施的第一方面,首先提供了一种极化码译码中g函数的计算方法,包括:确定第一节点在编译码等效图中的第一参数和第二参数,其中,所述第一节点为与g函数关联的节点,所述第一参数用于表征所述第一节点在所述编译码等效图中的层,所述第二参数表征所述第一节点在所述编译码等效图中的级;基于所述第一参数和所述第二参数,确定目标译码比特及目标编码矩阵中的目标元素;其中,所述目标编码矩阵为X倍的克罗内克矩阵,X是以2为底的母码长度的对数,X为正整数;基于所述目标元素及所述目标译码比特,确定所述第一节点的估计比特;根据所述估计比特和输入到所述第一节点的对数似然比LLR值,确定所述第一节点的LLR值。

在本公开实施的第二方面,还提供了一种极化码译码中g函数的计算装置,包括:第一确定模块,用于确定第一节点在编译码等效图中的第一参数和第二参数,其中,所述第一节点为与g函数关联的节点,所述第一参数用于表征所述第一节点在所述编译码等效图中的层,所述第二参数表征所述第一节点在所述编译码等效图中的级;第二确定模块,用于基于所述第一参数和所述第二参数,确定目标译码比特及目标编码矩阵中的目标元素;其中,所述目标编码矩阵为X倍的克罗内克矩阵,X是以2为底的母码长度的对数;第三确定模块,用于基于所述目标元素及所述目标译码比特,确定所述第一节点的估计比特;第四确定模块,用于根据所述估计比特和输入到所述第一节点的对数似然比LLR值,确定所述第一节点的LLR值。

在本公开实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面所述的极化码译码中g函数的计算方法。

在本公开实施的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的极化码译码中g函数的计算方法。

在本公开实施例中,先确定与g函数关联的第一节点在编译码等效图中的第一参数和第二参数;基于第一参数和第二参数,确定目标译码比特及目标编码矩阵中的目标元素;基于目标元素和目标译码比特,确定第一节点的估计比特;根据估计比特和输入到第一节点的对数似然比LLR值,确定第一节点的LLR值,也就是说,在本公开中可以直接确定g函数关联节点的估计比特,在确定LLR值的过程中无需假设g函数中的估计比特是0还是1,从而解决了相关技术中在计算g函数节点时由于估计比特未知而导致的计算量大的技术问题。

附图说明

为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。

图1为本公开实施例中N=4,M=2时的SCL码树译码图;

图2为本公开一实施例中极化码译码中g函数的计算方法流程图;

图3为本公开实施例中N=8,M=3时的编译码等效图;

图4为本公开实施例中图2中步骤204的具体流程图;

图5为本公开实施例中N=8,M=3时的编译码等效图;

图6为本公开实施例中3倍克罗内克矩阵的示意图;

图7为本公开实施例中图2中步骤206的具体流程图;

图8为本公开实施例中图2中步骤208的具体流程图;

图9为本公开又一实施例中极化码译码中g函数的计算方法流程图;

图10为本公开一实施例中极化码译码中g函数的计算装置结构示意图;

图11为本公开实施例中图10中第二确定模块的具体结构示意图;

图12为本公开实施例中图10中第三确定模块的具体结构示意图;

图13为本公开实施例中图10中第四确定模块的具体结构示意图;

图14本公开又一实施例中极化码译码中g函数的计算装置结构示意图;

图15为本公开实施例中电子设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述地实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

在后续的描述中,使用用于表示元件的诸如“模块”、“单元”的后缀仅为了有利于本公开的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

首先,对本公开实施例中的相关背景进行解释说明。

极化码译码中主流的算法是SCL译码算法,SCL译码是在图1的基础上进行路径扩展,允许选择最好的M条路径进行下一步扩展。每次扩展后保存路径度量值最大的M条路径,M为列表宽度或列表深度,译码最后在M条路径中选择路径度量值最大的一条路径作为译码的输出。

相关SCL算法中以码树形式进行译码,下面以图1为例,取N=4,M=2,其中N为母码长度,M为列表宽度或列表深度,介绍相关SCL译码算法流程,包括以下步骤:

步骤1:计算第1层u

其中,首先计算对应LLR值,根据LLR值表达式的特点,奇数层用f函数LLR值等效递推式计算:

其中,

其中,i为层数,用于确定是f函数还是g函数,当i为奇数时,LLR值通过f函数得到;i为偶数时,LLR值通过g函数得到;y为解速率匹配后的LLR值,

根据以下路径度量值计算公式计算两条路径的路径度量值PM,第1层结束,路径数为2不需要进行排序选择。

其中,j为当前节点索引号,u为节点译码比特,L为当前节点计算得到的LLR值。

步骤2:计算第2层,共有4条路径,计算对应LLR值;

其中,偶数层用g函数LLR值等效递推式计算:

需要说明的是,公式(3)中变量含义同公式(1)。

根据公式(2)计算4条路径的路径度量值,排序选择最大路径度量值的两条路径作为后续路径放入列表,以这两条路径继续向第3层扩展延伸。

步骤3:计算第3层,根据f函数等效递推式计算LLR值,排序选择两条路径度量值最大的两条路径放入列表并继续向第4层扩展。

步骤4:计算第4层,根据g函数等效递推式计算LLR值,同样层内共有4层路径,但第4层为叶子节点,即整个译码结束选择路径度量值最大的1条路径,其对应码字即为译码的输出结果。

从图1可知,每一层进行译码时译码路径均需要被分为两路分别计算LLR值和路径度量值,母码长度为N的序列译码时,对应的复杂度为o(N

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行描述。本公开实施例提供了一种极化码译码中g函数的计算方法,如图2所示,该方法包括以下步骤:

步骤202:确定第一节点在编译码等效图中的第一参数和第二参数,其中,第一节点为与g函数关联的节点,第一参数用于表征第一节点在编译码等效图中的层,第二参数表征第一节点在编译码等效图中的级;

图3是以N=8,M=3时的编译码等效图,其中,N为母码长度,M为列表宽度或列表深度,如图3所示,在编译码等效图中,从左至右顺序是编码的过程,从右至左顺序是译码的过程;在译码过程中,对应的左边u为译码比特,右边x则为解速率匹配后结果,也即LLR值;其中,x含义对应公式(1)(2)(3)中的y,译码时将对应比特序号转换为二进制并逆序排列,图3中的“。”代表g函数,“⊕”代表f函数;若要译码当前比特,必须已知之前的译码比特。

其中,以译码得到u

步骤204,基于第一参数和第二参数,确定目标译码比特及目标编码矩阵中的目标元素;其中,目标编码矩阵为X倍的克罗内克矩阵,X是以2为底的母码长度的对数,也即,母码长度K为2的X次方,X为正整数;

当母码长度为8时,8等于2的3次方,那对应的应该是采用3倍克罗内克积矩阵;当母码长度为4时,4等于2的2次方,那对应的应该是采用3倍克罗内克积矩阵,即克罗内克矩阵的倍数X与母码长度N的关系为:N=2的X次方。

步骤206,基于目标元素及目标译码比特,确定第一节点的估计比特;

其中,第一节点的估计比特的计算方式为对应行的元素与f函数关联的节点在编译码等效图中的所在层至第一节点在编译码等效图中所在层的前一层的译码比特分别相乘,执行模2和运算。

步骤208:根据估计比特和输入到第一节点的对数似然比LLR值,确定第一节点的LLR值。

通过本公开实施例的上述步骤202至步骤208,先确定与g函数关联的第一节点在编译码等效图中的第一参数和第二参数;基于第一参数和第二参数,确定目标译码比特及目标编码矩阵中的目标元素;基于目标元素和目标译码比特,确定第一节点的估计比特;根据估计比特和输入到第一节点的对数似然比LLR值,确定第一节点的LLR值,也就是说,在本公开中可以直接确定g函数关联节点的估计比特,在确定LLR值的过程中无需假设g函数中的估计比特是0还是1,从而解决了相关技术中在计算g函数节点时由于估计比特未知而导致的计算量大的技术问题。

在本公开实施例的可选实施方式中,本公开步骤204中涉及到的基于第一参数和第二参数,确定目标译码比特及目标编码矩阵中的目标元素的方式,进一步如图4所示可以包括如下步骤:

步骤402:基于第一参数和第二参数确定行和列;

其中,行的取值为row-2

步骤404:将行以及列在目标编码矩阵中所对应的元素确定为目标元素;

其中,在具体应用场景中,如图5所示,以母码长度为8,列表深度或列表宽度为3为例,以图5中a所在节点为第一节点,因而目标编码矩阵为3倍克罗内克矩阵,如图6所示。a节点所在的层row的取值为6,所在的级col的取值为3,则根据row-2

步骤406:从编译码等效图中确定行所对应的目标译码比特。

依据上一步骤已确定行的取值为2:5(即第2行至第5行),则目标译码比特为编译码等效图中的第2行至第5行的译码比特,即u

在本公开实施例的可选实施方式中,对于上述步骤206中涉及到的基于目标元素及目标译码比特,确定第一节点的估计比特的方式,如图7所示,进一步可以包括如下步骤:

步骤702,将目标元素与行的取值相等的目标译码比特分别相乘,得到乘积结果;

步骤704,将乘积结果进行模2和运算得到第一节点的估计比特。

对于上述步骤702至步骤704,在具体应用场景中,以上述a节点为例继续进行说明,也即

以N=8,M=3编译码等效图中与g函数关联的a点(第一节点)和与f函数关联的b点为例说明节点的估计比特计算过程,其中,a点与g函数关联,此节点位于第3级,因此可知其对应的f函数节点为第2层第3级的节点b,这里需要注意的是,g函数节点与其对应的f函数节点之间相差的层数为2

由图5可知位于第1级的g函数节点和对应f函数节点相差1层,位于第2级的g函数节点对应的f函数节点相差2层,对于其它母码长度情况亦是如此。另外,节点b的编码输出是x

也就是说,针对g函数运算,其对应的f函数所在层,对应于克罗内克矩阵中的对应列;层数从f函数至g函数前一层对应的译码比特,决定用于计算的译码比特,对应于克罗内克矩阵中的对应行;根据克罗内克矩阵的对应列及对应行,决定克罗内克矩阵的对应元素值;基于用于计算的译码比特及克罗内克矩阵中对应的元素值,计算出第一节点的估计比特,即公式(3)中的估计比特,由于可以直接确定估计比特,相比于现有技术中需要分别计算估计比特为1和0的情况(可能为1,也可能为0,是不确定的,所以都需要计算),大大减少了运算量。

在本公开实施例的可选实施方式中,本公开步骤208中涉及到的根据估计比特和输入到第一节点的对数似然比LLR值,确定第一节点的LLR值的方式,如图8所示,进一步可以包括如下步骤:

步骤802:获取第二节点的LLR值和第三节点的LLR值;其中,第一节点关联的LLR值包括第二节点的LLR值和第三节点LLR值;第二节点在编译码等效图中的层为

在具体应用场景中,该第二节点可以称之为第一节点的右上节点,在编译码等效图中的位置为

步骤804:基于第二节点的LLR值、第三节点的LLR值和估计比特,计算得到第一节点的LLR值。

其中,g函数的LLR值计算公式为:

其中,L

需要说明的是,L

基于上述本公开的实施例,若当前节点与g函数关联,则根据当前g函数节点所在的层row,还有对应的级数col,确定与其对应的f函数关联的节点所在的行为:row-2

另外,若当前节点与f函数关联,由于f函数无需计算估计比特,则可以根据公式(1)直接计算该节点的LLR,需要说明的是,对于f函数计算此节点LLR值也需要其右节点的L

在本公开实施例的可选实施方式中,在根据估计比特和第一节点关联的对数似然比LLR值,确定第一节点的LLR值之后,如图9所示方法还包括:

步骤902,根据第一节点的LLR值,确定第一节点的M条译码路径的路径度量值,其中,M为列表宽度或列表深度。

通过上述图9所示的方法步骤,在直接确定第一节点的估计比特之后再进行LLR值的计算,进而确定第一节点的M条译码路径的路径度量值,对于编译码等效图中的其他节点也是基于第一节点的类似的方式进行处理。也就是说,在本公开中可以基于编译码等效图获得多条解码路径,在译码时,将所有节点的所有路径都计算出来,最后将路径度量值最大的译码路径作用最终的译码路径,根据最终的译码路径进行译码得到译码结果。

本公开实施例提供了一种极化码译码中g函数的计算装置,如图10所示,该装置包括:

第一确定模块1002,用于确定第一节点在编译码等效图中的第一参数和第二参数,其中,第一节点为与g函数关联的节点,第一参数用于表征第一节点在编译码等效图中的层,第二参数表征第一节点在编译码等效图中的级;

第二确定模块1004,用于基于第一参数和第二参数,确定目标译码比特及目标编码矩阵中的目标元素;其中,目标编码矩阵为X倍的克罗内克矩阵,X是以2为底的母码长度的对数;

第三确定模块1006,用于基于目标元素及目标译码比特,确定第一节点的估计比特;

第四确定模块1008,用于根据估计比特和输入到第一节点的对数似然比LLR值,确定第一节点的LLR值。

通过本公开实施例的装置,先确定与g函数关联的第一节点在编译码等效图中的第一参数和第二参数;基于第一参数和第二参数,确定目标译码比特及目标编码矩阵中的目标元素;基于目标元素和目标译码比特,确定第一节点的估计比特;根据估计比特和输入到第一节点的对数似然比LLR值,确定第一节点的LLR值,也就是说,在本公开中可以直接确定g函数关联节点的估计比特,在确定LLR值的过程中无需假设g函数中的估计比特是0还是1,大大提升了确定LLR值的效率,从而解决了相关技术中在计算g函数节点时由于估计比特未知而导致的计算量大的技术问题。

可选地,如图11所示,本公开实施例的第二确定模块1004进一步可以包括:

第一确定单元1102,用于基于第一参数和第二参数确定行和列;

第二确定单元1104,用于将行以及列在目标编码矩阵中所对应的元素确定为目标元素;

第三确定单元1106,用于从编译码等效图中确定行所对应的目标译码比特。

可选地,在本公开实施例中的第一确定单元1102可以通过以下方式确定行和列:

行的取值为row-2

可选地,如图12所示,本公开实施例的第三确定模块1006进一步可以包括:

乘积单元1202,用于将目标元素与行的取值相等的目标译码比特分别相乘,得到乘积结果;

第一计算单元1204,用于将乘积结果进行模2和运算得到第一节点的估计比特。

可选地,如图13所示,本公开实施例的第四确定模块1008进一步可以包括:

获取单元1302,用于获取第二节点的LLR值和第三节点的LLR值;其中,第一节点关联的LLR值包括第二节点的LLR值和第三节点LLR值;第二节点在编译码等效图中的层为

第二计算单元1304,用于基于第二节点的LLR值、第三节点的LLR值和估计比特,计算得到第一节点的LLR值。

其中,g函数的LLR值计算公式为:

其中,L

可选地,如图14所示,本公开实施例的装置在图10的基础上还可以包括:

第五确定模块1402,用于在根据估计比特和第一节点关联的对数似然比LLR值,确定第一节点的LLR值之后,根据第一节点的LLR值,确定第一节点的M条译码路径的路径度量值,其中,M为列表宽度或列表深度。

本公开实施例还提供了一种电子设备,如图15所示,包括处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信,

存储器1503,用于存放计算机程序;

处理器1501,用于执行存储器1503上所存放的程序时,实现图1中的方法步骤,其所起到的作用与图1中的方法步骤一样,在此不再赘述。

上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本公开提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种极化码译码中g函数的计算方法。

在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种极化码译码中g函数的计算方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本公开的保护范围内。

相关技术
  • 极化码译码中g函数的计算方法、装置、电子设备及介质
  • 极化码译码的方法、装置、电子设备及存储介质
技术分类

06120113689219