CN112769437A - 极化码的译码方法及译码装置、存储介质、电子装置 - Google Patents

极化码的译码方法及译码装置、存储介质、电子装置 Download PDF

Info

Publication number
CN112769437A
CN112769437A CN201910998660.6A CN201910998660A CN112769437A CN 112769437 A CN112769437 A CN 112769437A CN 201910998660 A CN201910998660 A CN 201910998660A CN 112769437 A CN112769437 A CN 112769437A
Authority
CN
China
Prior art keywords
decoding
list
node
information
expanded
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.)
Pending
Application number
CN201910998660.6A
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201910998660.6A priority Critical patent/CN112769437A/zh
Publication of CN112769437A publication Critical patent/CN112769437A/zh
Pending legal-status Critical Current

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/13Linear codes
    • 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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种极化码的译码方法及译码装置、存储介质、电子装置,所述译码方法包括:根据接收到的极化码序列确定译码序列;对于译码序列中每一个译码节点,根据每一个译码节点的先验信息、比特信息,确定每一个译码节点的待扩充译码列表;对每一个译码节点的待扩充译码列表进行扩充,确定每一个译码节点的已扩充译码列表;根据每一个译码节点的已扩充译码列表,确定极化码序列的译码输出结果。采用本发明,通过在BP译码算法中引入先验信息和多条列表搜索的思想,不仅可以具备BP译码的并行特性、优越的时延性能,还可以提高译码的准确性。

Description

极化码的译码方法及译码装置、存储介质、电子装置
技术领域
本发明涉及译码技术领域,尤其涉及一种极化码的译码方法及译码装置、存储介质、电子装置。
背景技术
极化码是一种在理论上证明可以达到香农容量的信道编码技术。以二进制无记忆信道为例,信道极化通过信道合并引入相关性,再经过信道***,得到一组新的二进制极化信道。当参与极化的信道足够多时可以观察到极化现象:一部分信道容量趋于1,而另外一部分信道容量趋于0。可以将信息比特放置于信道容量高的信道进行传输,而信道容量低的信道放置已知比特(冻结比特),从而提升了传输可靠性。
相关技术中,极化码的译码方法有串行抵消(Successive Cancellation,简称为SC)译码,置信传播(Belief Propgation,简称为BP)译码。其中SC译码方法采用串行的方法,性能优越但由于其串行特点,其计算复杂度,译码时延随着信息比特数的增加而大大增加,在低时延通信场景中,使用受到限制。BP译码方案虽然采用并行化方法进行译码,时延特性优越,但是其性能远差于SC译码方法,在实用化场景中由于性能差而使用受到限制。
发明内容
本发明实施例提供一种极化码的译码方法及译码装置、存储介质、电子装置,用以解决现有技术中SC译码、BP译码在极化码译码过程中存在的性能差、使用受限的问题。
第一方面,本发明实施例提出一种极化码的译码方法,包括:
根据接收到的极化码序列确定译码序列;
对于所述译码序列中每一个译码节点,根据每一个所述译码节点的先验信息、比特信息,确定每一个所述译码节点的待扩充译码列表;
对每一个所述译码节点的待扩充译码列表进行扩充,确定每一个所述译码节点的已扩充译码列表;
根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果。
根据本发明的一些实施例,所述根据接收到的极化码序列确定译码序列,包括:
以极化码序列为根节点建立完全二叉树模型;
从所述根节点开始依次选择左子树节点以确定母序列;
从所述母序列中选取译码序列。
在本发明的一些实施例中,所述从所述母序列中选取译码序列,包括:
确定译码阶数;
从所述母序列中选取译码阶数减一个左子树节点,与所述根节点共同构成所述译码序列;
其中,在所述译码序列中第一个译码节点至最后一个译码节点的方向上,所述译码节点所对应的左子树节点包含的叶节点的个数逐渐增多。
进一步的,所述确定译码阶数,包括:
设置译码阶数为所述完全二叉树模型中包含所有信息比特的最小深度值;或者,
设置译码阶数为1。
根据本发明的一些实施例,所述对于每一个所述译码节点,根据每一个所述译码节点的先验信息、比特信息,确定每一个所述译码节点的待扩充译码列表,包括:
对于每一个所述译码节点,建立每一个所述译码节点对应的具有(m+1)M个节点的因子图模型;
根据每一个所述译码节点的先验信息、比特信息,初始化每一个所述译码节点对应的因子图模型中第一阶因子右信息及第m+1阶因子左信息,并根据公式1迭代计算每一个所述译码节点对应的因子图模型中任意阶因子的左信息和右信息:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1j=f(Rij,Li+1j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j) 公式1,
其中,L表示左信息,R表示右信息,Ni=2m-i,1≤Ni≤M,M为所述译码节点包含的叶节点个数,m=log2(M),1≤i≤m+1,1≤j≤M;
根据早停迭代终止条件或达到最大的迭代次数时终止迭代,输出每一个所述译码节点的待扩充译码列表。
进一步的,所述根据每一个所述译码节点的先验信息、比特信息,初始化所述因子图模型的第一阶因子右信息及第m+1阶因子左信息,包括:
针对每一个所述译码节点,将每一个所述译码节点的因子图模型的第一阶因子中冻结比特的右信息初始化为正无穷或负无穷,所述第一阶因子中具有先验信息的信息比特的右信息初始化为每一个所述译码节点的先验信息、所述第一阶因子中没有先验信息的信息比特的右信息初始化为零;
将所述因子图模型的第m+1阶因子左信息初始化为每一个所述译码节点的比特信息。
根据本发明的一些实施例,所述对所述译码序列中每一个译码节点的待扩充译码列表进行扩充,确定每一个所述译码节点的已扩充译码列表,包括:
对每一个所述译码节点的每条待扩充译码列表中的b个译码信息进行符号翻转,获取每条所述待扩充译码列表扩展后的扩展译码列表,其中,b为扩展比特数,b≥1;
对每一个所述译码节点的所述扩展译码列表进行删减,以确定每一个所述译码节点的已扩充译码列表。
进一步的,所述对每一个所述译码节点的所述扩展译码列表进行删减,以确定每一个所述译码节点的已扩充译码列表,包括:
根据公式2计算每一个所述扩展译码列表的初始列表度量删减值:
Figure BDA0002240576460000041
其中,
Figure BDA0002240576460000042
表示第k条所述扩展译码列表的初始列表度量删减值,
Figure BDA0002240576460000043
表示第k条所述扩展译码列表的信息比特度量值,
Figure BDA0002240576460000044
表示第i条待扩充译码列表的冻结比特度量值,
Figure BDA0002240576460000045
表示第i条待扩充译码列表的列表度量输入值,其中,第k条上述扩展译码列表是由第i条所述待扩充译码列表扩展得到的;
对每一个所述译码节点的所述初始列表度量删减值按照从小到大的顺序排序,并确定前预设值个所述初始列表度量删减值所对应扩展译码列表为每一个所述译码节点的已扩充译码列表。
更进一步的,所述
Figure BDA0002240576460000046
根据公式3计算获得:
Figure BDA0002240576460000047
其中,λj表示第k条所述扩展译码列表中第j个信息比特扩展惩罚值;
所述
Figure BDA0002240576460000048
根据公式4计算获得:
Figure BDA0002240576460000049
其中,γj表示第i条待扩充译码列表中第j个冻结比特惩罚值,WF表示所述译码节点的列表中序号大于第一信息比特的冻结点比特的集合;
所述
Figure BDA00022405764600000410
根据公式5计算获得:
Figure BDA00022405764600000411
其中,
Figure BDA00022405764600000412
表示相邻两个所述译码节点中前一译码节点的第i条已扩充译码列表的列表度量输出值,
Figure BDA0002240576460000051
表示相邻两个所述译码节点中后一译码节点第i条待扩充译码列表的列表度量输入值,第一个译码节点的列表度量输入值初始化为零;
所述译码节点的第k条扩展译码列表的列表度量输出值根据公式:
Figure BDA0002240576460000052
计算获得,其中,a1≥0,a2≥0,a3≥0,所述前一译码节点
Figure BDA0002240576460000053
通过前一节点度量信息计算得到。
进一步的,所述λj根据公式6计算获得:
Figure BDA0002240576460000054
其中,μj表示第j个信息比特加权值,βj表示第j个信息比特的译码信息;
所述γj根据公式7计算获得:
Figure BDA0002240576460000055
其中,ηj表示第j个冻结比特加权值,βj表示第j个冻结比特的译码信息。
根据本发明的一些实施例,所述根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果,包括:
确定所述译码序列中最后一个译码节点的已扩充译码列表;
对所述最后一个译码节点的已扩充译码列表进行硬判决;
对硬判决后的最后一个译码节点的已扩充译码列表进行CRC校验,选择通过CRC校验的至少一条所述已扩充译码列表中所述列表度量输出值最小的一条作为所述极化码序列的译码输出结果。
根据本发明的一些实施例,所述根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果,包括:
确定所述译码序列中最后一个译码节点的已扩充译码列表;
对所述最后一个译码节点的已扩充译码列表进行硬判决;
对硬判决后的最后一个译码节点的已扩充译码列表进行G矩阵校验,选择通过G矩阵校验的至少一条所述已扩充译码列表中所述列表度量输出值最小的一条作为所述极化码序列的译码输出结果,其中,G矩阵为编码矩阵。
根据本发明的一些实施例,所述根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果,包括:
确定所述译码序列中最后一个译码节点的已扩充译码列表;
确定每条所述已扩充译码列表中冻结比特译码结果错误的比特个数,确定冻结比特译码结果错误个数小于冻结比特错误个数阈值的集合,并从所述集合中选择所述列表度量输出值最小的一条作为所述极化码序列的译码输出结果。
根据本发明的一些实施例,所述方法还包括:
根据所述极化码序列确定所述译码序列中最后一个译码节点的比特信息;
根据所述最后一个译码节点的比特信息迭代计算每一个所述译码节点的比特信息;
初始化所述译码序列中第一个译码节点的先验信息;
根据所述第一个译码节点的先验信息、比特信息迭代计算每一个所述译码节点的先验信息。
进一步的,所述根据所述第一个译码节点的先验信息、比特信息迭代计算每一个所述译码节点的先验信息,包括:
对于除第一个所述译码节点以外的所述译码节点,根据前一个所述译码节点的已扩充译码列表,确定后一译码节点的先验信息。
另一方面,本发明实施例还提出一种极化码的译码装置,包括:
分析模块,用于根据接收到的极化码序列确定译码序列;
计算模块,用于计算所述译码序列中每一个译码节点的比特信息和先验信息,
确认模块,用于根据每一个所述译码节点的先验信息、比特信息,确定每一个所述译码节点的待扩充译码列表;
扩充模块,用于对每一个所述译码节点的待扩充译码列表进行扩充,确定每一个所述译码节点的已扩充译码列表;
判决模块,用于根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果。
第三方面,本发明实施例提出一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如上所述的极化码的译码方法。
第四方面,本发明实施例还提出一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如上所述的极化码的译码方法。
采用本发明实施例,通过在BP译码算法中采用多译码节点的方式,并在每个译码节点引入先验信息,先验信息由前一译码节点已扩充译码列表计算得到或初始化得到,不仅可以具备BP译码的并行特性、优越的时延性能,还可以提高译码的准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中极化码的译码方法的流程图;
图2是本发明实施例中极化码的译码方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第一方面,本发明实施例提出一种极化码的译码方法,如图1所示,所述译码方法包括:
S101,根据接收到的极化码序列确定译码序列;
这里,需要说明的是,极化码序列携带有编码后的信息比特和冻结比特,根据极化码序列所确定的译码序列包含有极化码序列中所有编码后的信息比特,通过译码方法对译码序列进行译码,从而可以获得译码后(编码前)的信息比特信息,可以省去一些对冻结比特译码的工作。
S102,对于译码序列中每一个译码节点,根据每一个译码节点的先验信息、比特信息,确定每一个译码节点的待扩充译码列表;
每个译码节点均包含比特信息和先验信息。在该步骤中,可以采用BP译码方法,基于译码节点的比特信息和先验信息,对每个译码节点进行译码。
S103,对每一个译码节点的待扩充译码列表进行扩充,确定每一个译码节点的已扩充译码列表;
需要说明的是,这里所提到的“扩充”可以是只进行扩展、也可以是进行扩展后进行删减,但总体而言,进行扩充后的已扩充译码列表的条数大于或等于未扩充前待扩充列表的条数。
S104,根据每一个译码节点的已扩充译码列表,确定极化码序列的译码输出结果。
可以理解的是,获取到每一个译码节点的已扩充译码列表后,可以对这些已扩充译码列表进行筛选、判决,以确定极化码序列的译码输出结果。
采用本发明实施例的极化码的译码方法,通过在BP译码算法中引入先验信息,不仅可以具备BP译码的并行特性、优越的时延性能,还可以提高译码的准确性。
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
根据本发明的一些实施例,每个待扩充译码列表可以独立地进行具有先验信息的BP译码。而且,多个待扩充译码列表可以并行或串行进行具有先验信息的BP译码。
根据本发明的一些实施例,步骤S101可以包括:
以极化码序列为根节点建立完全二叉树模型。在完全二叉树模型中,根节点为接收到的极化码序列,叶节点为极化码序列在译码后(编码前)的比特序列。叶节点包括两类比特,一类为接收端已知的冻结比特,另一类为接收端未知并包含有效信息的信息比特。
从根节点开始依次选择左子树节点以确定母序列。
完全二叉树模型中每个节点有两个子树结构,分别为左子树节点和右子树节点。从根节点开始依次选取其左子树节点直至叶节点,可得母序列,母序列中每个左子树节点包含有不同个数的叶节点。
从母序列中选取译码序列。可以理解的是,从母序列中按照一定的筛选规则选取至少一个左子树节点组成译码序列。译码序列中的左子树节点称为译码节点。
在本发明的一些实施例中,从母序列中选取译码序列的方法,可以包括:
确定译码阶数;
从根节点开始,依次从母序列中选取个数为译码阶数减一个左子树节点组成译码序列。其中,在译码序列中第一个译码节点至最后一个译码节点的方向上,所述译码节点所对应的左子树节点包含的叶节点的个数逐渐增多。可以理解的是,根节点为译码序列中的最后一个译码节点。
例如,为达到较好的译码性能,在本发明的一些示例中,从根节点开始,依次从母序列中选取个数为译码阶数个左子树节点作为译码序列的译码节点。
又如,为达到较好的时延性,在本发明的另一些实施例中,从母序列中的第一个译码节点开始,选取个数为译码阶数减一个译码节点和根节点作为译码序列的译码节点。
进一步的,确定译码阶数的方法,可以包括:
设置译码阶数为完全二叉树模型中包含所有信息比特的最小深度值;或者,设置译码阶数为1。
另外,在本发明的另一些实施例中,可以基于误块率和译码时延,确定译码阶数。具体的,根据译码时延从母序列中确定包含长度等于译码阶数的多个子序列,其中,每个子序列的均包含根节点,然后根据误块率从多个子序列中确定一个子序列作为译码序列。
根据本发明的一些实施例,所述方法还可以包括:
根据极化码序列确定译码序列中最后一个译码节点(即根节点)的比特信息;
根据最后一个译码节点的比特信息迭代计算译码序列中每一个译码节点的比特信息;
初始化第一个译码节点的先验信息;例如,可以将第一个译码节点中信息比特的先验信息初始化为零,冻结比特的先验信息初始化为正无穷;
根据第一个译码节点的先验信息、比特信息迭代计算每一个译码节点的先验信息。
这里,需要说明的是,对于译码节点的比特信息的计算可以在确定了译码序列后直接计算所有译码节点的比特信息,也可以在确定每个译码节点的待扩充译码列表之前计算,即用到译码节点的比特信息时单独计算该译码节点的比特信息,本发明实施例对此不作具体限定。在本发明的一些实施例中,根据最后一个译码节点的比特信息迭代计算译码序列中每一个译码节点的比特信息,可以包括:
使用F函数从最后一个译码节点依次迭代计算译码节点的比特信息,直至译码序列中的第一个译码节点。F函数可以为如下函数式中的每一个:
f(x,y)=Scale*sign(x)*sign(y)min(|x|,|y|)
f(x,y)=sign(x)*sign(y)min(|x|,|y|)
f(x,y)=2*atanh(tanh(x).*tanh(y))
其中Scale为缩放因子,x为相邻两个译码节点中后一个译码节点的上半部分的信息比特对应的比特信息,y为相邻两个译码节点中后一个译码节点的下半部分的信息比特对应的比特信息。
在本发明的一些实施例中,根据第一个译码节点的先验信息、比特信息迭代计算每一个译码节点的先验信息,可以包括:
根据第一个译码节点的先验信息、比特信息,确定第一个译码节点的待扩充译码列表;
对第一个译码节点的待扩充译码列表进行进行扩充,确定第一个译码节点的已扩充译码列表;
从第一个译码节点开始,根据相邻两个译码节点中的前一译码节点的已扩充译码列表,确定后一译码节点的先验信息。
例如,在本发明的一些示例中,将前一译码节点的已扩充译码列表的加权乘积作为后一译码节点的先验信息。这里需要说明的是,冻结比特的先验信息始终设置为正无穷。
根据本发明的一些实施例,步骤S102可以包括:
建立每一个译码节点对应的具有(m+1)M个节点的因子图模型;
例如,对于具有M个叶节点、对应在完全二叉树中的深度为m的译码节点,确定用于译码的具有(m+1)M个节点的因子图,因子图包括M行、m+1列节点,其中,m=log2(M)。因子图中的每个节点均包括由左向右传播的右信息R,和由右向左传播的左信息L。
根据每一个译码节点的先验信息、比特信息,初始化每一个译码节点对应的因子图模型中第一阶因子右信息及第m+1阶因子左信息,并根据公式1迭代计算每一个译码节点对应的因子图模型中任意阶因子的左信息和右信息:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1 j=f(Ri j,Li+1 j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j); 公式1;
其中,L表示左信息,R表示右信息,Ni=2m-i,1≤Ni≤M,M为所述译码节点包含的叶节点个数,m=log2(M),1≤i≤m+1,1≤j≤M,i大于或等于1,且小于或等于N;Ni、j均大于或等于1,且小于或等于M。
根据早停迭代终止条件或达到最大的迭代次数时终止迭代,输出每一个译码节点的待扩充译码列表。例如,根据早停迭代终止条件或达到最大的迭代次数时终止迭代后的每一个译码节点的第一阶因子左信息L构造形成译码节点的待扩充译码列表。
每次迭代中,因子图中每一个节点的消息在相邻两个阶之间先向右更新和传递,再向左更新和传递。
进一步的,早停迭代终止条件可以包括:
1)校验比特校验:在编码过程中,在特定位置放置若干校验比特,每个校验与信息比特形成校验关系。在因子图迭代中对第一阶因子的左信息进行硬判决,得到信息比特和校验比特硬判决值,根据校验关系使用校验比特对相应信息比特进行校验。若校验通过则停止迭代,不通过则继续迭代。
2)编码矩阵校验:根据公式x=u*G进行编码的过程中,u为编码前的比特,x为编码后的比特,G为编码矩阵。
Figure BDA0002240576460000121
其中
Figure BDA0002240576460000122
为Kronecker积。
编码矩阵校验如下:每次迭代过程中,对第一阶因子所有信息比特的左信息进行判决得到u,对第n+1阶因子所有信息比特的右信息进行硬判决得到x,每次计算判断是否成立。若成立则跳出迭代,不成立则继续迭代。
3)判断相邻两次或几次迭代中左信息差是否小于阈值,或者相邻两次或几次迭代中右信息差是否小于阈值,若小于阈值则迭代停止。
4)冻结比特校验:设置冻结比特译码错误阈值(大于等于1,小于等于当前译码节点的冻结比特个数的正整数),对第一阶所有冻结比特的左信息进行硬判决得到u,判断u中冻结比特是否等于发端冻结比特值,并记录错误的冻结比特个数。错误的冻结比特个数小于等于错误阈值则终止迭代,否则继续迭代。
在本发明的一些实施例中,根据每一个译码节点的先验信息、比特信息,初始化因子图模型的第一阶因子右信息及第m+1阶因子左信息,可以包括:
针对每一个所述译码节点,将每一个所述译码节点因子图模型的第一阶因子中冻结比特的右信息初始化为正无穷或负无穷,第一阶因子中具有先验信息的信息比特的右信息初始化为每一个所述译码节点的先验信息、第一阶因子中没有先验信息的信息比特的右信息初始化为零;
将因子图模型的第m+1阶因子左信息初始化为每一个所述译码节点的比特信息。
根据本发明的一些实施例,步骤S103可以包括:
对每一个译码节点的每条待扩充译码列表中的b个译码信息进行符号翻转,获取每条待扩充译码列表扩展后的扩展译码列表。
这里,需要说明的是,每条待扩充译码列表所选取的b可以为不同的值,b≥1。
对每一个译码节点的所述扩展译码列表进行删减,以确定每一个译码节点的已扩充译码列表。
在本发明的一些实施例中,对每一个译码节点的所述扩展译码列表进行删减,以确定每一个译码节点的已扩充译码列表,可以包括:
根据公式2计算每一个所述扩展译码列表的初始列表度量删减值:
Figure BDA0002240576460000131
其中,
Figure BDA0002240576460000132
表示第k条扩展译码列表的初始列表度量删减值,
Figure BDA0002240576460000133
表示第k条扩展译码列表的信息比特度量值,
Figure BDA0002240576460000141
表示第i条待扩充译码列表的冻结比特度量值,
Figure BDA0002240576460000142
表示第i条待扩充译码列表的列表度量输入值;
对每一个译码节点的初始列表度量删减值按照从小到大的顺序排序,并确定前预设值个初始列表度量删减值所对应扩展译码列表为每一个译码节点的已扩充译码列表。
进一步的,
Figure BDA0002240576460000143
根据公式3计算获得:
Figure BDA0002240576460000144
其中,λj表示第k条扩展译码列表中第j个信息比特扩展惩罚值;
Figure BDA0002240576460000145
根据公式4计算获得:
Figure BDA0002240576460000146
其中,γj表示第i条待扩充译码列表中第j个冻结比特惩罚值,WF表示译码节点的列表序号大于第一信息比特的冻结点比特的集合;
Figure BDA0002240576460000147
根据公式5计算获得:
Figure BDA0002240576460000148
其中,
Figure BDA0002240576460000149
表示相邻两个译码节点中前一译码节点的第i条待扩充译码列表的列表度量输出值,
Figure BDA00022405764600001410
表示相邻两个译码节点中后一译码节点第i条待扩充译码列表的列表度量输入值,第一个译码节点的列表度量输入值初始化为零。
译码节点的第k条扩展译码列表的列表度量输出值根据公式:
Figure BDA00022405764600001411
计算获得,其中,a1≥0,a2≥0,a3≥0,前一译码节点
Figure BDA00022405764600001412
通过前一节点度量信息计算得到。
进一步的,λj根据公式6计算获得:
Figure BDA00022405764600001413
其中,μj表示第j个信息比特加权值,βj表示第j个信息比特的译码信息;
γj根据公式7计算获得:
Figure BDA0002240576460000151
其中,ηj表示第j个冻结比特加权值,βj表示第j个冻结比特的译码信息。
根据本发明的一些实施例,步骤S104可以包括:
确定译码序列中最后一个译码节点的已扩充译码列表;
对最后一个译码节点的已扩充译码列表进行硬判决;
对硬判决后的最后一个译码节点的已扩充译码列表进行CRC校验,并根据CRC校验结果确定极化码序列的译码输出结果。
进一步的,对硬判决后的最后一个译码节点的已扩充译码列表进行CRC校验,并根据CRC校验结果确定极化码序列的译码输出结果,可以具体包括:
当最后一个译码节点的已扩充译码列表中存在至少一个列表通过CRC校验,则选择通过CRC校验的已扩充译码列表中列表度量输出值最小的一条作为译码输出结果。当最后一个译码节点的已扩充译码列表中不存在列表通过CRC校验,则选择已扩充译码列表中列表度量输入值最小的一条作为译码输出结果。其中,当前待扩充译码列表的列表度量输出值为当前译码节点的信息比特列表度量值、冻结比特度量值、列表度量输入值的加权和。
根据本发明的一些实施例,所述译码方法还包括:
确定译码序列中最后一个译码节点的已扩充译码列表;
对最后一个译码节点的已扩充译码列表进行硬判决;
统计最后一个译码节点的已扩充译码列表中冻结比特译码结果错误的比特个数。记集合W为冻结比特译码错误个数小于冻结比特错误个数阈值的集合。选择集合W中列表度量输出值最小的一条作为译码输出结果。
根据本发明的一些实施例,所述译码方法还包括:
确定译码序列中最后一个译码节点的已扩充译码列表;
对最后一个译码节点的已扩充译码列表进行硬判决;
对硬判决后的最后一个译码节点的已扩充译码列表进行G矩阵校验,选择通过G矩阵校验的已扩充译码列表中列表度量输出值最小的一条作为译码输出结果,其中,G矩阵为编码矩阵。
如图2所示,根据本发明的一些实施例,所述译码方法包括:
S201,以接收到待译码极化码序列为根节点建立完全二叉树模型;
S202,从根节点开始依次选择左子树节点以确定母序列;
S203,确定串行译码阶数,并根据串行译码阶数,从母序列中筛选译码序列;
S204,确定b和预设值;
需要说明的是,b越多、预设值越大则译码BLER性能越好,但同时计算复杂度增大,译码时延也相应增加。在实际操作过程中,可以根据实际需求进行设置。
S205,使用F函数从译码序列中最后一个译码节点开始迭代计算各译码节点的比特信息αi,直至译码序列中第一个译码节点,根据根节点比特位图迭代计算各译码节点比特位图;
F函数有多种选择,如:
f(x,y)=Scale*sign(x)*sign(y)min(|x|,|y|)
f(x,y)=sign(x)*sign(y)min(|x|,|y|)
f(x,y)=2*atanh(tanh(x)*tanh(y))
其中Scale为缩放因子,x为相邻两个译码节点中后一个译码节点的上半部分的信息比特对应的比特信息,y为相邻两个译码节点中后一个译码节点的下半部分的信息比特对应的比特信息。
S206,初始化第一个译码节点的先验信息。
具体的,将第一个译码节点中信息比特的先验信息初始化为零,冻结比特的先验信息初始化为正无穷。
S207,将第一个译码节点的比特信息和先验信息代入因子图模型,确定第一个译码节点的待扩充译码列表。
具体的,将第一个译码节点的因子图模型的第一阶因子中冻结比特的右信息初始化为正无穷或负无穷,第一阶因子中具有先验信息的信息比特初始化为第一个译码节点的先验信息、第一阶因子中没有先验信息的信息比特初始化为零,将第一个译码节点的因子图模型的第m+1阶因子左信息初始化为第一个译码节点的比特信息。
根据根据公式1迭代计算第一个译码节点对应的因子图模型中任意阶因子的左信息和右信息:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1 j=f(Ri j,Li+1j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j) 公式1,
其中,L表示左信息,R表示右信息,Ni=2m-i
根据早停迭代终止条件或达到最大的迭代次数时终止迭代,输出因子图模型中第一阶因子左信息作为第一个译码节点的待扩充译码列表。
S208,对第一个译码节点的每条待扩充译码列表中的b个译码信息进行符号翻转,获取每条待扩充译码列表扩展后的扩展译码列表。
S209,计算第一个译码节点每一个扩展译码列表的初始列表度量删减值,并根据初始列表度量删减值从小到大的顺序排序,确定前预设值个初始列表度量删减值所对应扩展译码列表为第一个译码节点的已扩充译码列表。
具体的,根据公式2计算每一个扩展译码列表的初始列表度量删减值:
Figure BDA0002240576460000171
其中,
Figure BDA0002240576460000172
表示第k条扩展译码列表的初始列表度量删减值,
Figure BDA0002240576460000173
表示第k条扩展译码列表的信息比特度量值,
Figure BDA0002240576460000174
表示第i条待扩充译码列表的冻结比特度量值,
Figure BDA0002240576460000181
表示第i条待扩充译码列表的列表度量输入值;
Figure BDA0002240576460000182
根据公式3计算获得:
Figure BDA0002240576460000183
其中,λj表示第k条扩展译码列表中第j个信息比特扩展惩罚值;
Figure BDA0002240576460000184
根据公式4计算获得:
Figure BDA0002240576460000185
其中,γj表示第i条待扩充译码列表中第j个冻结比特惩罚值,WF表示译码节点的列表序号大于第一信息比特的冻结点比特的集合;
Figure BDA0002240576460000186
根据公式5计算获得:
Figure BDA0002240576460000187
其中,
Figure BDA0002240576460000188
表示相邻两个译码节点中前一译码节点的第i条待扩充译码列表的列表度量输出值,
Figure BDA0002240576460000189
表示相邻两个译码节点中后一译码节点第i条待扩充译码列表的列表度量输入值。
λj根据公式6计算获得:
Figure BDA00022405764600001810
其中,μj表示第j个信息比特加权值,βj表示第j个信息比特的译码信息;
γj根据公式7计算获得:
Figure BDA00022405764600001811
其中,ηj表示第j个冻结比特加权值,βj表示第j个冻结比特的译码信息。
对第一个译码节点的初始列表度量删减值按照从小到大的顺序排序,并确定前预设值个初始列表度量删减值所对应扩展译码列表为第一个译码节点的已扩充译码列表。
译码节点的第k条扩展译码列表的列表度量输出值根据公式:
Figure BDA0002240576460000191
计算获得,其中,a1≥0,a2≥0,a3≥0,前一译码节点
Figure BDA0002240576460000192
通过前一节点度量信息计算得到。
需要说明的是,每一个译码节点的扩展译码列表均计算其列表度量输出值,但仅仅将已扩充译码列表的列表度量输出值作为其后一个译码节点的列表度量输入值。
S210,从第一译码节点开始,将相邻两个译码节点中的前一个译码节点的已扩充译码列表的加权值作为后一个译码节点的先验信息,依次迭代计算每一个译码节点的已扩充译码列表,直至最后一个译码节点。
S211,对最后一个译码节点的已扩充译码列表进行硬判决;
S212,对硬判决后的最后一个译码节点的已扩充译码列表进行CRC校验,并根据CRC校验结果确定极化码序列的译码输出结果。
具体的,当最后一个译码节点的已扩充译码列表中存在至少一个列表通过CRC校验,则选择通过CRC校验的已扩充译码列表中列表度量输出值最小的一条作为译码输出结果。当最后一个译码节点的已扩充译码列表中不存在列表通过CRC校验,则选择已扩充译码列表中列表度量输入值最小的一条作为译码输出结果。其中,当前待扩充译码列表的列表度量输出值为当前译码节点的信息比特列表度量值、冻结比特度量值、列表度量输入值的加权和。
采用本发明实施例,通过引入先验信息、充分的利用极化码的极化特性,可以大幅度提高极化码译码性能。且BP译码本身具有易并行的特点,可以降低时延。相比于其他译码方法在性能和时延调节方面具有非常大的灵活性。另外,通过不同参数的选取,可以根据不同的需求和应用场景对译码性能和译码时延需求进行调节。
下面以两个具体的实施例详细描述根据本发明实施例的极化码的译码方法。值得理解的是,下述描述仅是示例性说明,而不是对本发明的具体限制。凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。
实施例一
设信息比特数K=512,母码序列的长度N=1024,N=2n,n=10,调制方式BPSK,具体步骤如下:
步骤1、确定译码阶数S、译码序列A、b和预设值L,并计算每一个译码节点的比特信息和先验信息;
译码阶数S的确定:当译码序列中第一个译码节点中包含有信息比特时,串行译码阶数S越大则译码BLER性能越好,但同时会增加译码时延。所以当BLER性能优先级大于译码时延优先级时,为达到最好的译码性能则设置S为最深译码节点中包含信息比特条件下最大的S。若译码时延优先级大于BLER性能优先级时则选取S=1。其他场景可以根据具体业务的性能需求和当时SNR进行动态的设定,在译码性能和译码时延中找到折中点。
译码序列A的确定:当确定S后,根据译码序列特征及性能要求一起确定:在具有早停机制的BP译码过程情况下,为达到最好的译码性能则选取由母序列Q中最后S个节点组成的译码序列。为达到最好的时延特性则选取由Q中前S-1个节点和最后一个节点组成的译码序列。
b和预设值L的确认:b越多,预设值L越大则译码BLER性能越好,但同时计算复杂度增大,译码时延也相应增加。
本实施例中,要求在信息比特数K=512,母码序列长度N=1024、调制方式BPSK时达到最好的译码BLER性能。根据比特位图V可知:在前64个比特中不包括信息比特,在前128比特时包括信息比特。所以在优先考虑性能最优其次考虑时延性能的情况下选择最优的最小译码节点比特数为128,则选择包含信息比特情况下最大的S,从而确定串行译码阶数:
Figure BDA0002240576460000201
母序列为Q{q1,q2,...,q11},以最优性能原则选择译码序列:A{q8,q9,q10,q11}。同时,折中考虑复杂度与性能要求选择:b=8,L=32。
计算每一个译码节点的比特信息和先验信息:使用F函数从根节点q11迭代每一个译码节点的比特信息α,直至A序列中第一个译码节点q8。根据根节点比特位图计算A中各译码节点比特位图。最终得到A{q8,q9,q10,q11}中每个译码节点的比特信息αi及比特位图Vi。F函数为:f(x,y)=sign(x)*sign(y)min(|x|,|y|),x为输入α中上半部分比特对应的比特信息,y为输入α下半部分比特对应的比特信息。
初始化先验信息P1,即第一个译码节点比特位图所标记的信息比特先验信息初始化为0,比特位图所标记的冻结比特先验信息初始化为正无穷。
步骤2、根据先验信息Pi,当前译码节点的αi,当前译码节点的比特位图Vi,分别应用具有先验信息的BP译码方法进行译码,最终得到l个待扩充译码列表:
该步骤通过具有(m+1)M节点的因子图迭代实现。其中m=log2(M),M为当前译码节点所包含的叶节点个数,本例中M可选的值有:128、256、512、1024。m为译码节点所对应的左子树深度。每一个译码节点包含两种信息,分别记为由左向右传播的右信息R,和由右向左传播的左信息L。迭代开始时,第一阶因子右消息初始化:比特位图Vi所确定的冻结比特初始化为正无穷;比特位图Vi所确定的具有先验信息的信息比特初始化为先验信息Pi;比特位图V所确定的没有先验信息的信息比特初始化为零。第m+1阶因子左消息初始化为译码节点比特信息αi
每次迭代中,每一个译码节点的消息在相邻两个阶之间先向右更新和传递,再向左更新和传递。左右消息更新公式如下:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1,j=f(Ri,j,Li+1,j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j)
其中,Ni=2m-i,i大于或等于1,且小于或等于m+1,Ni、j均大于或等于1,且小于或等于M;
最终根据早停迭代终止条件或达到最大的迭代次数时终止迭代并输出待扩展译码列表。早停迭代终止条件可以为:1.循环冗余校验CRC通过。2.Polar编码矩阵G校验通过,3.相邻两次或几次迭代中左右信息差小于阈值ε。本实例中使用固定最大迭代次数60次跳出作为迭代终止条件。
步骤3、判断待扩展译码列表的长度是否等于码长1024,即是否当前译码节点为A序列中最后一个译码节点。若是则跳至步骤5,不是则继续步骤4。
步骤4、扩充每一个译码列表的待扩充译码列表。
计算列表度量输入值:若当前为译码序列A中第一个译码节点,则列表度量输入值为初始化值PMin=0。若当前译码节点不为第一个译码节点,则当前译码列表度量输入值等于上一个译码节点列表度量输出值:
Figure BDA0002240576460000221
其中i为列表索引。
计算冻结比特列表度量:记比特位图V所标记的冻结比特索引集合为VF,记WF为VF的子集,本例中,WF为比特位图V所标记的索引大于第一个信息比特的冻结比特集合。依次计算WF中冻结比特对列表的惩罚值γj
Figure BDA0002240576460000222
其中ηj表示第j个冻结比特加权值0≤ηj≤+∞,γj表示第j个冻结比特惩罚值,βj表示第j个冻结比特的译码信息。本例中ηj=1。
当前第i列表冻结比特度量值为:
Figure BDA0002240576460000223
对l个待扩充译码列表分别进行列表扩展:
对每条待扩充译码列表中的译码信息的绝对值进行排序,并找到其中绝对值最小的b个信息比特的译码信息。对b个信息比特的译码信息进行符号翻转,则每条待扩充译码列表扩展得到2b条扩展译码列表,记该一条待扩充译码列表为2b条扩展译码列表的父列表。每个信息比特符号翻转都对当前扩展列表形成一个惩罚项,此惩罚项记为λj
Figure BDA0002240576460000231
其中μj表示第j个信息比特加权值0≤ηj≤+∞,λj表示第j个信息比特扩展惩罚值,βj表示第j个信息比特的译码信息。本例中μj=1。
记信息比特列表度量值
Figure BDA0002240576460000232
共得到l*2b条扩展译码列表及相应的信息比特列表度量值。其中k为l*2b条列表索引。
计算第k条扩展后列表列表度量删减值
Figure BDA0002240576460000233
其中第k条扩展译码列表的父列表为原l个待扩充译码列表中的第i条,k=1,2,...l*2b,i=1,2,...l。对PMreduce进行排序得到最小的L=32条列表作为已扩充译码列表。需要说明的是,当扩展译码列表的条数小于L时则不进行列表删减。
先验信息更新:根据比特位图Vi对Pi+1按比特更新(Pi+1表示更新后的比特先验信息),若当前信息比特为冻结比特则设为正无穷,若为信息比特则使用已扩充译码列表信息加权值akβk进行更新。其中0≤ak≤+∞为第k个已扩充译码列表加权系数。βk为第k个已扩充译码列表。本例中选择ak=1。
列表度量输出值为信息比特度量值,冻结比特度量值,列表度量输入值的加权和。
Figure BDA0002240576460000234
本例中a1=1,a2=0,a3=1。其中第k条扩展译码列表的父列表为原l个待扩充译码列表中的第i条。列表删减后得到L或小于L条列表输出度量值。
步骤5、对最后一个译码节点的L条已扩充译码列表进行硬判决、CRC校验,确定所述极化码序列的译码输出结果。
对最后一个译码节点的L条已扩充译码列表进行硬判决:
Figure BDA0002240576460000235
其中,函数I为硬判决函数,x为已扩充译码列表中译码信息。
分别对L条已扩充译码列表进行CRC校验。若有列表通过校验,则选择通过CRC校验的列表中
Figure BDA0002240576460000241
最小的一条作为译码输出结果。若无列表通过校验则选择
Figure BDA0002240576460000242
最小的一条作为译码输出结果。本例中使用24比特CRC校验进行校验。
表1为采用本实施例一与传统BP的译码性能仿真对比,从表1可以看出,采用本实施例对极化码进行译码,性能更佳。
表1实施例1性能仿真对比
Figure BDA0002240576460000243
实施例二
设信息比特数K=256,母码序列的长度N=1024,N=2n,n=10,调制方式BPSK,具体步骤如下:
步骤1、确定译码阶数S、译码序列A、b和预设值L,并计算每一个译码节点的比特信息和先验信息;
译码阶数S的确定:当译码序列中第一个译码节点中包含有信息比特时,串行译码阶数S越大则译码BLER性能越好,但同时会增加译码时延。所以当BLER性能优先级大于译码时延优先级时,为达到最好的译码性能则设置S为最深译码节点中包含信息比特条件下最大的S。若译码时延优先级大于BLER性能优先级时则选取S=1。其他场景可以根据具体业务的性能需求和当时SNR进行动态的设定,在译码性能和译码时延中找到折中点。
译码序列A的确定:当确定S后,根据译码序列特征及性能要求一起确定:在具有早停机制的BP译码过程情况下,为达到最好的译码性能则选取由母序列Q中最后S个节点组成的译码序列。为达到最好的时延特性则选取由Q中前S-1个节点和最后一个节点组成的译码序列。
b和预设值L的确认:b越多,预设值L越大则译码BLER性能越好,但同时计算复杂度增大,译码时延也相应增加。
本实施例中,要求在信息比特数K=256,母码序列长度N=1024、调制方式BPSK时综合考虑时延要求与BLER性能。根据比特位图V可知:在前128个比特中不包括信息比特,在前256比特时包括信息比特。所以在折中考虑时延和性能的情况下,选择最深的译码节点比特数为256,从而确定串行译码阶数:S=2。母序列为Q{q1,q2,...,q11},译码序列为A{q9,q11}。同时,折中考虑复杂度与性能要求选择:b=16,L=32。
计算每一个译码节点的比特信息和先验信息:使用F函数从根节点q11迭代每一个译码节点的比特信息α,直至A序列中第一个译码节点q9。根据根节点比特位图计算A中各译码节点比特位图。最终得到A{q9,q11}中每个译码节点的比特信息αi及比特位图Vi。F函数为:f(x,y)=Scale*sign(x)*sign(y)min(|x|,|y|),其中Scale=0.975,x为输入α中上半部分比特对应的比特信息,y为输入α下半部分比特对应的比特信息。
初始化先验信息P1,即第一个译码节点比特位图所标记的信息比特先验信息初始化为0,比特位图所标记的冻结比特先验信息初始化为正无穷。
步骤2、根据先验信息Pi,当前译码节点的αi,当前译码节点的比特位图Vi,分别应用具有先验信息的BP译码方法进行译码,最终得到l个待扩充译码列表:
该步骤通过具有(m+1)M节点的因子图迭代实现。其中m=log2(M),M为当前译码节点所包含的叶节点个数,本例中M可选的值有:256、1024。m为译码节点所对应的左子树深度。每一个译码节点包含两种信息,分别记为由左向右传播的右信息R,和由右向左传播的左信息L。迭代开始时,第一阶因子右消息初始化:比特位图Vi所确定的冻结比特初始化为正无穷;比特位图Vi所确定的具有先验信息的信息比特初始化为先验信息Pi;比特位图V所确定的没有先验信息的信息比特初始化为零。第m+1阶因子左消息初始化为译码节点比特信息αi
每次迭代中,每一个译码节点的消息在相邻两个阶之间先向右更新和传递,再向左更新和传递。左右消息更新公式如下:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1,j=f(Ri,j,Li+1,j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j)
其中,Ni=2m-i,i大于或等于1,且小于或等于m+1,Ni、j均大于或等于1,且小于或等于M;
最终根据早停迭代终止条件或达到最大的迭代次数时终止迭代并输出待扩展译码列表。早停迭代终止条件可以为:1.循环冗余校验CRC通过。2.Polar编码矩阵G校验通过,3.相邻两次或几次迭代中左右信息差小于阈值ε。本实例中使用固定最大迭代次数200次,当矩阵G校验通过时跳出作为迭代终止条件。此时编码矩阵G应与当前译码节点相对应。
步骤3、判断待扩展译码列表的长度是否等于码长1024,即是否当前译码节点为A序列中最后一个译码节点。若是则跳至步骤5,不是则继续步骤4。
步骤4、扩充每一个译码列表的待扩充译码列表。
计算列表度量输入值:若当前为译码序列A中第一个译码节点,则列表度量输入值为初始化值PMin=0。若当前译码节点不为第一个译码节点,则当前译码列表度量输入值等于上一个译码节点列表度量输出值:
Figure BDA0002240576460000261
其中i为列表索引。
计算冻结比特列表度量:记比特位图V所标记的冻结比特索引集合为VF,记WF为VF的子集,本例中,WF为比特位图V所标记的索引大于第一个信息比特的冻结比特集合。依次计算WF中冻结比特对列表的惩罚值γj
Figure BDA0002240576460000262
其中ηj表示第j个冻结比特加权值0≤ηj≤+∞,γj表示第j个冻结比特惩罚值,βj表示第j个冻结比特的译码信息。本例中ηj=1。
当前第i列表冻结比特度量值为:
Figure BDA0002240576460000271
对l个待扩充译码列表分别进行列表扩展:
对每条待扩充译码列表中的译码信息的绝对值进行排序,并找到其中绝对值最小的b个信息比特的译码信息。对b个信息比特的译码信息进行符号翻转,则每条待扩充译码列表扩展得到2b条扩展译码列表,记该一条待扩充译码列表为2b条扩展译码列表的父列表。每个信息比特符号翻转都对当前扩展列表形成一个惩罚项,此惩罚项记为λj
Figure BDA0002240576460000272
其中μj表示第j个信息比特加权值0≤ηj≤+∞,λj表示第j个信息比特扩展惩罚值,βj表示第j个信息比特的译码信息。本例中μj=1。
记信息比特列表度量值
Figure BDA0002240576460000273
共得到l*2b条扩展译码列表及相应的信息比特列表度量值。其中k为l*2b条列表索引。
计算第k条扩展后列表列表度量删减值
Figure BDA0002240576460000274
其中第k条扩展译码列表的父列表为原l个待扩充译码列表中的第i条,k=1,2,...l*2b,i=1,2,...l。对PMreduce进行排序得到最小的L=32条列表作为已扩充译码列表。需要说明的是,当扩展译码列表的条数小于L时则不进行列表删减。
先验信息更新:根据比特位图Vi对Pi+1按比特更新(Pi+1表示更新后的比特先验信息),若当前信息比特为冻结比特则设为正无穷,若为信息比特则使用已扩充译码列表信息加权值akβk进行更新。其中0≤ak≤+∞为第k个已扩充译码列表加权系数。βk为第k个已扩充译码列表。本例中选择ak=1。
列表度量输出值为信息比特度量值,冻结比特度量值,列表度量输入值的加权和。
Figure BDA0002240576460000281
本例中a1=1,a2=0,a3=1。其中第k条扩展译码列表的父列表为原l个待扩充译码列表中的第i条。列表删减后得到L或小于L条列表输出度量值
Figure BDA0002240576460000282
步骤5、对最后一个译码节点的L条已扩充译码列表进行硬判决、冻结比特译码错误个数进行校验,确定所述极化码序列的译码输出结果。
对最后一个译码节点的L条已扩充译码列表进行硬判决:
Figure BDA0002240576460000283
其中,函数I为硬判决函数,x为已扩充译码列表中译码信息。
分别对L条已扩充译码列表进行冻结比特错误个数校验。本例中设置冻结比特错误个数阈值为1,若有列表通过校验即有1个或多个译码结果中冻结比特译码错误个数小于等于1,则选择通过校验的译码列表中列表度量输出值最小的一条作为译码输出结果。若无列表通过校验则选择列表度量输出值最小的一条作为译码输出结果。
需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (18)

1.一种极化码的译码方法,其特征在于,包括:
根据接收到的极化码序列确定译码序列;
对于所述译码序列中每一个译码节点,根据每一个所述译码节点的先验信息、比特信息,确定每一个所述译码节点的待扩充译码列表;
对每一个所述译码节点的待扩充译码列表进行扩充,确定每一个所述译码节点的已扩充译码列表;
根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果。
2.如权利要求1所述的方法,其特征在于,所述根据接收到的极化码序列确定译码序列,包括:
以极化码序列为根节点建立完全二叉树模型;
从所述根节点开始依次选择左子树节点以确定母序列;
从所述母序列中选取译码序列。
3.如权利要求2所述的方法,其特征在于,所述从所述母序列中选取译码序列,包括:
确定译码阶数;
从所述母序列中选取译码阶数减一个左子树节点,与所述根节点共同构成所述译码序列;
其中,在所述译码序列中第一个译码节点至最后一个译码节点的方向上,所述译码节点所对应的左子树节点包含的叶节点的个数逐渐增多。
4.如权利要求3所述的方法,其特征在于,所述确定译码阶数,包括:
设置译码阶数为所述完全二叉树模型中包含所有信息比特的最小深度值;或者,
设置译码阶数为1。
5.如权利要求1所述的方法,其特征在于,所述对于所述译码序列中每一个译码节点,根据每一个所述译码节点的先验信息、比特信息,确定每一个所述译码节点的待扩充译码列表,包括:
对于每一个所述译码节点,建立每一个所述译码节点对应的具有(m+1)M个节点的因子图模型;
根据每一个所述译码节点的先验信息、比特信息,初始化每一个所述译码节点对应的因子图模型中第一阶因子右信息及第m+1阶因子左信息,并根据公式1迭代计算每一个所述译码节点对应的因子图模型中任意阶因子的左信息和右信息:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1j=f(Rij,Li+1j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j) 公式1,
其中,L表示左信息,R表示右信息,Ni=2m-i,1≤Ni≤M,M为每一个所述译码节点包含的叶节点个数,m=log2(M),1≤i≤m+1,1≤j≤M;
根据早停迭代终止条件或达到最大的迭代次数时终止迭代,输出每一个所述译码节点的待扩充译码列表。
6.如权利要求5所述的方法,其特征在于,所述根据每一个所述译码节点的先验信息、比特信息,初始化所述因子图模型的第一阶因子右信息及第m+1阶因子左信息,包括:
针对每一个所述译码节点,将每一个所述译码节点的因子图模型的第一阶因子中冻结比特的右信息初始化为正无穷或负无穷,所述第一阶因子中具有先验信息的信息比特的右信息初始化为每一个所述译码节点的先验信息、所述第一阶因子中没有先验信息的信息比特的右信息初始化为零;
将所述因子图模型的第m+1阶因子左信息初始化为每一个所述译码节点的比特信息。
7.如权利要求1所述的方法,其特征在于,所述对每一个所述译码节点的待扩充译码列表进行扩充,确定每一个所述译码节点的已扩充译码列表,包括:
对每一个所述译码节点的每个待扩充译码列表中的b个译码信息进行符号翻转,获取每条所述待扩充译码列表扩展后的扩展译码列表,其中,b为扩展比特数,b≥1;
对每一个所述译码节点的所述扩展译码列表进行删减,以确定每一个所述译码节点的已扩充译码列表。
8.如权利要求7所述的方法,其特征在于,所述对每一个所述译码节点的所述扩展译码列表进行删减,以确定每一个所述译码节点的已扩充译码列表,包括:
根据公式2计算每一个所述扩展译码列表的初始列表度量删减值:
Figure FDA0002240576450000031
其中,
Figure FDA0002240576450000032
表示第k条所述扩展译码列表的初始列表度量删减值,
Figure FDA0002240576450000033
表示第k条所述扩展译码列表的信息比特度量值,
Figure FDA0002240576450000034
表示第i条待扩充译码列表的冻结比特度量值,
Figure FDA0002240576450000035
表示第i条待扩充译码列表的列表度量输入值,其中,第k条所述扩展译码列表是由第i条所述待扩充译码列表扩展得到的;
对每一个所述译码节点的所述初始列表度量删减值按照从小到大的顺序排序,并确定前预设值个所述初始列表度量删减值所对应扩展译码列表为每一个所述译码节点的已扩充译码列表。
9.如权利要求8所述的方法,其特征在于,所述
Figure FDA0002240576450000036
根据公式3计算获得:
Figure FDA0002240576450000037
其中,λj表示第k条所述扩展译码列表中第j个信息比特扩展惩罚值;
所述
Figure FDA0002240576450000038
根据公式4计算获得:
Figure FDA0002240576450000039
其中,γj表示第i条待扩充译码列表中第j个冻结比特惩罚值,WF表示所述译码节点的列表中序号大于第一信息比特的冻结点比特的集合;
所述
Figure FDA0002240576450000041
根据公式5计算获得:
Figure FDA0002240576450000042
其中,
Figure FDA0002240576450000043
表示相邻两个所述译码节点中前一译码节点的第i条已扩充译码列表的列表度量输出值,
Figure FDA0002240576450000044
表示相邻两个所述译码节点中后一译码节点第i条待扩充译码列表的列表度量输入值,第一个译码节点的列表度量输入值初始化为零;
所述译码节点的第k条扩展译码列表的列表度量输出值根据公式:
Figure FDA0002240576450000045
计算获得,其中,a1≥0,a2≥0,a3≥0,所述前一译码节点
Figure FDA0002240576450000046
通过前一节点度量信息计算得到。
10.如权利要求9所述的方法,其特征在于,所述λj根据公式6计算获得:
Figure FDA0002240576450000047
其中,μj表示第j个信息比特加权值,βj表示第j个信息比特的译码信息;
所述γj根据公式7计算获得:
Figure FDA0002240576450000048
其中,ηj表示第j个冻结比特加权值,βj表示第j个冻结比特的译码信息。
11.如权利要求10所述的方法,其特征在于,所述根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果,包括:
确定所述译码序列中最后一个译码节点的已扩充译码列表;
对所述最后一个译码节点的已扩充译码列表进行硬判决;对硬判决后的最后一个译码节点的已扩充译码列表进行CRC校验,选择通过CRC校验的至少一条所述已扩充译码列表中所述列表度量输出值最小的一条作为所述极化码序列的译码输出结果。
12.如权利要求10所述的方法,其特征在于,所述根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果,包括:
确定所述译码序列中最后一个译码节点的已扩充译码列表;
对所述最后一个译码节点的已扩充译码列表进行硬判决;
对硬判决后的最后一个译码节点的已扩充译码列表进行G矩阵校验,选择通过G矩阵校验的至少一条所述已扩充译码列表中所述列表度量输出值最小的一条作为所述极化码序列的译码输出结果,其中,G矩阵为编码矩阵。
13.如权利要求10所述的方法,其特征在于,所述根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果,包括:
确定所述译码序列中最后一个译码节点的已扩充译码列表;
确定每条所述已扩充译码列表中冻结比特译码结果错误的比特个数,确定冻结比特译码结果错误个数小于冻结比特错误个数阈值的集合,并从所述集合中选择所述列表度量输出值最小的一条作为所述极化码序列的译码输出结果。
14.如权利要求1-13中任一项所述的方法,其特征在于,所述方法还包括:
根据所述极化码序列确定所述译码序列中最后一个译码节点的比特信息;
根据所述最后一个译码节点的比特信息迭代计算每一个所述译码节点的比特信息;
初始化所述译码序列中第一个译码节点的先验信息;
根据所述第一个译码节点的先验信息、比特信息迭代计算每一个所述译码节点的先验信息。
15.如权利要求14所述的方法,其特征在于,所述根据所述第一个译码节点的先验信息、比特信息迭代计算每一个所述译码节点的先验信息,包括:
对于除第一个所述译码节点以外的所述译码节点,根据前一个所述译码节点的已扩充译码列表,确定后一译码节点的先验信息。
16.一种极化码的译码装置,其特征在于,包括:
分析模块,用于根据接收到的极化码序列确定译码序列;
确认模块,用于对于所述译码序列中每一个译码节点,根据每一个所述译码节点的先验信息、比特信息,确定每一个所述译码节点的待扩充译码列表;
扩充模块,用于对每一个所述译码节点的待扩充译码列表进行扩充,确定每一个所述译码节点的已扩充译码列表;
判决模块,用于根据每一个所述译码节点的已扩充译码列表,确定所述极化码序列的译码输出结果。
17.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至15任一项中所述的方法。
18.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至15任一项中所述的方法。
CN201910998660.6A 2019-10-21 2019-10-21 极化码的译码方法及译码装置、存储介质、电子装置 Pending CN112769437A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910998660.6A CN112769437A (zh) 2019-10-21 2019-10-21 极化码的译码方法及译码装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910998660.6A CN112769437A (zh) 2019-10-21 2019-10-21 极化码的译码方法及译码装置、存储介质、电子装置

Publications (1)

Publication Number Publication Date
CN112769437A true CN112769437A (zh) 2021-05-07

Family

ID=75691531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910998660.6A Pending CN112769437A (zh) 2019-10-21 2019-10-21 极化码的译码方法及译码装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN112769437A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157309A (zh) * 2021-12-23 2022-03-08 华中科技大学 极化码译码方法、装置及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157309A (zh) * 2021-12-23 2022-03-08 华中科技大学 极化码译码方法、装置及***

Similar Documents

Publication Publication Date Title
CN106888026B (zh) 基于lsc-crc译码的分段极化码编译码方法及***
JP3923618B2 (ja) 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器
CN109842418B (zh) 一种基于比特翻转的极化码置信传播译码方法
CN110492974B (zh) 一种并行的极化码译码方法及装置
KR100846869B1 (ko) 저 복잡도 ldpc복호 장치 및 그 방법
JP4185167B2 (ja) 積符号の反復復号化
CN111294058B (zh) 一种信道编码和纠错译码方法、设备以及存储介质
EP2453578A1 (en) Method and device for decoding reed-solomon (rs) code
CN110661533B (zh) 优化译码器存储极化码译码性能的方法
CN111106839A (zh) 一种基于神经网络的极化码译码方法及装置
CN112929033A (zh) 基于深度学习的MLC型NAND闪存Polar-RNNA量化器的优化方法
US8468438B2 (en) Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code
Yang et al. A low complexity sequential decoding algorithm for rateless spinal codes
CN113037299A (zh) 基于迭代译码的ldpc码稀疏校验矩阵重建方法和装置
CN110995279B (zh) 一种极化码联合scf球形列表翻转译码方法
Shen et al. Low-latency software successive cancellation list polar decoder using stage-located copy
JP2003046395A (ja) 積符号の復号方法および積符号の復号装置
CN112769437A (zh) 极化码的译码方法及译码装置、存储介质、电子装置
CN111130567B (zh) 添加噪声扰动和比特翻转的极化码置信传播列表译码方法
Cheng et al. Encoder and list decoder of Reed-Solomon kernel based polar codes
CN109525252B (zh) 基于简化三阶关键集合的极化码串行抵消列表译码方法
CN116614142A (zh) 一种基于bpl译码和osd译码的联合译码方法
Doan et al. Fast successive-cancellation list Flip decoding of polar codes
KR20090065411A (ko) 그룹 단위 복호화를 위한 전처리 장치 및 그 방법
JP7251615B2 (ja) 整列処理装置、整列処理方法、及びプログラム

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