[go: up one dir, main page]

CN111404558A - 一种Polar码译码的方法、译码器及计算机存储介质 - Google Patents

一种Polar码译码的方法、译码器及计算机存储介质 Download PDF

Info

Publication number
CN111404558A
CN111404558A CN201910005523.8A CN201910005523A CN111404558A CN 111404558 A CN111404558 A CN 111404558A CN 201910005523 A CN201910005523 A CN 201910005523A CN 111404558 A CN111404558 A CN 111404558A
Authority
CN
China
Prior art keywords
layer
nodes
node
type
decoding
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
CN201910005523.8A
Other languages
English (en)
Other versions
CN111404558B (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.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
China Academy of Telecommunications Technology CATT
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 China Academy of Telecommunications Technology CATT filed Critical China Academy of Telecommunications Technology CATT
Priority to CN201910005523.8A priority Critical patent/CN111404558B/zh
Publication of CN111404558A publication Critical patent/CN111404558A/zh
Application granted granted Critical
Publication of CN111404558B publication Critical patent/CN111404558B/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/13Linear codes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

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

Abstract

本发明公开了一种Polar码译码的方法、译码器及计算机存储介质,用以解决现有技术中存在的Polar码的译码效率较低的技术问题。包括:获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。

Description

一种Polar码译码的方法、译码器及计算机存储介质
技术领域
本发明涉及通信领域,尤其是涉及一种Polar码译码的方法、译码器及计算机存储介质。
背景技术
2017年,在3GPP RAN1#87会议上,国际移动通信标准化组织确定了Polar码作为5G通信系统中控制信道编码方案。
图1是长度为4的Polar码示意图,输入的比特序列<u0,u1,u2,u3>首先两两分成两组,第一组的输出是<u0+u1,u1>(称为一个W2单元),第二组的输出是<u2+u3,u3>,然后再将两组的输出交叉进行W2单元的运算,得到编码后的序列<x0,x1,x2,x3>。以此类推,长度为2N的Polar编码由N级的W2单元递推完成。
图2是长度为4的Polar译码示意图(与编码过程相反,译码过程从右向左),接收到的对数似然比(Log-Likelihood Ratio,LLR),也叫软比特序列记为<x0,x1,x2,x3>,首先将其拆分成两组<x0,x2>和<x1,x3>,对<x0,x2>和<x1,x3>进行f运算,然后将f运算的结果进行硬判决结合<x0,x2>和<x1,x3>进行g运算,称为第一级运算,更新后的LLR序列记录为<u0+u1,u1,u2+u3,u3>,再然后进行第二级运算,将更新后的LLR序列分成两组分别进行f和g运算。
在硬件实现上述过程中,一次f运算或者一次g运算都需要一个时钟周期完成,为了提高译码器性能在译码过程中通常会对扩展出的所有路径进行排序,保留下L(L=8)条度量值最小的幸存路径。在现有技术文献《R1-164040 On latency and complexity,3GPPTSG RAN WG1 Meeting#85》中分析了译码器的时延,一个长度为4的码子片段译码时延TN4约为27个时钟周期(cycle),长度为N的Polar译码器时延为TN=(N/4)*TN4+(N/4-1)*4。
目前,使用快速简化逐次消除列表(Fast Simplified Successive-CancellationList,FSCL)译码器将一些底层的比特位缩聚成四类(Rate0,Rate1,SPC,REP)节点,将译码过程表示成非完全二叉树的遍历过程,减少了在译码过程中遍历的节点个数,从而减少了整体的译码时延。尽管,与串行抵消列表译码方法(Successive Cancellation List,SCL)方案相比FSCL减少了译码时延,但是对于5G高可靠、低时延的系统要求来说,其时延仍然是过大的。
由于,不管采用SCL或者FSCL方案进行译码,都需要在展开的所有路径中对度量值排序,筛选出最小度量的L条路径,这使得排序消耗了很多时钟周期,进而降低了译码效率。而在FSCL方案中,有缩聚形成的四类节点(Rate0,Rate1,SPC,REP)对应的不再是一个比特位,而是一段比特节点,因此要选出四类节点中的最小若干个度量最小的候选值也需要排序,这也将消耗时钟周期,降低译码效率。
鉴于此,如何有效的提高Polar码的译码效率,成为一个亟待解决的技术问题。
发明内容
本发明提供一种Polar码译码的方法、译码器及计算机存储介质,用以解决现有技术中存在的Polar码的译码效率较低的技术问题。
第一方面,为解决上述技术问题,本发明实施例提供的一种Polar码译码的方法的技术方案如下:
获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;
根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;
从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。
在获取当前译码块的译码序列后;根据译码序列的各比特的类型,构建当前译码块的译码树;之后,从译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得当前译码块的译码结果。其中,当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;译码树中任一叶节点的类型是根据任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树。由于在对Ploar码进行译码的过程中构建的译码树为非完全二叉树,从而减少了需要迭代译码的次数,并且在迭代译码的过程中使用指定双调网络排序法对各节点的路径度量值进行迭代排序,能够有效的减少排序延迟,进而有效的提高Polar码的译码效率,减少译码时延。
可选的,从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果,包括:
对所述译码树的任一层节点的迭代处理过程包括:
判断当前处理的任一层节点是否为所述译码树的叶节点;其中,所述任一层节点的第一原路径度量值是对所述任一层节点的父节点的第二原路径度量值进行第一运算得到的;
若所述任一层节点为所述叶节点,则对所述任一层节点的原路径进行路径扩展,并采用所述指定双调网络排序法对所有扩展路径的度量值进行排序,筛选出排序结果中度量值最小的m条路径,以确定所述任一层节点的硬判比特序列,m为自然数;
若所述任一层节点不是所述叶节点,则访问所述任一层节点的下一层节点;若所述任一层节点下的所有节点的硬判比特序列都已确定,则对所述任一层节点的第一原路径度量值的更新值进行第二运算,获得返回所述任一层节点的父节点的所述第二原路径度量值的更新值,以确定所述任一层节点的父节点的硬判比特序列,若所述任一层节点的父节点为所述译码树的根节点,则将所述任一层节点的父节点的硬判比特序列作为所述当前译码块的译码结果。
可选的,所述译码树的叶节点的类型,包括:
当前节点对应的所有比特的类型均为冻结比特的第一类型;
所述当前节点对应的所有比特的类型均为信息比特的第二类型;
所述当前节点对应的所有比特中最后一个比特为信息比特,其它比特均为冻结比特的第三类型;
所述当前节点对应的所有比特中第一个比特为冻结比特,其它比特均为信息比特的第四类型。
可选的,对所述任一层节点的原路进行路径扩展,包括:
若所述任一层节点的类型为所述第一类型,则不对所述任一层节点进行路径扩展;
若所述任一层节点的类型为所述第二类型,则将所述任一层节点的每条原路径扩展为4条第一扩展路径;其中,若所述任一层节点的类型为第二类型,所述第一扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两条原始路径度量值确定的;
若所述任一层节点的类型为第三类型,则将所述任一层节点的每条原路径扩展为4条第二扩展路径;其中,所述第二扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的四条原始路径度量值确定的;
若所述任一层节点的类型为第四类型,则将所述任一层节点的每条原路径扩展为2条第三路径;其中,所述第三扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两个LLR序列确定的。
可选的,若所述任一层节点的类型为第二类型或第三类型,采用所述指定双调网络排序法对所有扩展路径进行排序,包括:
所述任一层节点的每条原路径度量值分别与所述4条第一扩展路径的度量值的增量进行和运算,获得所述任一层节点的每条原路径对应的4条扩展路径的度量值;
用所述指定双调网络排序法,分别对具有相同增量编号的4组扩展路径集对应的4组度量值序列进行排序,分别获得每组排序结果中最小的n个度量值;其中,n为自然数且不小于m;
用所述双调网络排序法,对4组n个度量值组成的序列进行排序,获得排序结果中最小的m个度量值。
可选的,若所述任一层节点的类型为第四类型,采用所述指定双调网络排序法对所有扩路径进行排序,包括:
用所述指定双调网络排序法,对所述任一层节点的原路径扩展出的所有扩展路径进行排序,获得排序结果中最小的m个度量值。
可选的,所述指定双调网络排序法,具有log2M个迭代排序阶段,用于对所述译码序列进行排序;其中,第i个迭代排序阶段用于将第i-1个迭代排序阶段的M/(2i-1)组序列按双调序列进行分组,排序为M/(2i)组有序序列,所述双调序列是由元素数量相同的升序序列和降序序列组成的,且同一迭代排序阶段的每组双调序列中的元数总数相同;所述第i个迭代排序阶段需要的时钟周期为i个。
可选的,所述指定双调网络排序法具体通过硬件电路或软件实现;其中,所述硬件电路包括现场可编程门阵列FPGA、数字信号处理DSP、专用集成电路ASIC中的任一种。
第二方面,本发明实施例提供了一种译码器,包括:
获取单元,用于获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;
构建单元,用于根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;
译码单元,用于从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。
可选的,所述译码单元具体用于:
对所述译码树的任一层节点的迭代处理过程包括:
判断当前处理的任一层节点是否为所述译码树的叶节点;其中,所述任一层节点的第一原路径度量值是对所述任一层节点的父节点的第二原路径度量值进行第一运算得到的;
若所述任一层节点为所述叶节点,则对所述任一层节点的原路径进行路径扩展,并采用所述指定双调网络排序法对所有扩展路径的度量值进行排序,筛选出排序结果中度量值最小的m条路径,以确定所述任一层节点的硬判比特序列,m为自然数;
若所述任一层节点不是所述叶节点,则访问所述任一层节点的下一层节点;若所述任一层节点下的所有节点的硬判比特序列都已确定,则对所述任一层节点的第一原路径度量值的更新值进行第二运算,获得返回所述任一层节点的父节点的所述第二原路径度量值的更新值,以确定所述任一层节点的父节点的硬判比特序列,若所述任一层节点的父节点为所述译码树的根节点,则将所述任一层节点的父节点的硬判比特序列作为所述当前译码块的译码结果。
可选的,所述译码树的叶节点的类型,包括:
当前节点对应的所有比特的类型均为冻结比特的第一类型;
所述当前节点对应的所有比特的类型均为信息比特的第二类型;
所述当前节点对应的所有比特中最后一个比特为信息比特,其它比特均为冻结比特的第三类型;
所述当前节点对应的所有比特中第一个比特为冻结比特,其它比特均为信息比特的第四类型。
可选的,所述译码单元还用于:
若所述任一层节点的类型为所述第一类型,则不对所述任一层节点进行路径扩展;
若所述任一层节点的类型为所述第二类型,则将所述任一层节点的每条原路径扩展为4条第一扩展路径;其中,若所述任一层节点的类型为第二类型,所述第一扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两条原始路径度量值确定的;
若所述任一层节点的类型为第三类型,则将所述任一层节点的每条原路径扩展为4条第二扩展路径;其中,所述第二扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的四条原始路径度量值确定的;
若所述任一层节点的类型为第四类型,则将所述任一层节点的每条原路径扩展为2条第三路径;其中,所述第三扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两个LLR序列确定的。
可选的,所述译码单元还用于:
所述任一层节点的每条原路径度量值分别与所述4条第一扩展路径的度量值的增量进行和运算,获得所述任一层节点的每条原路径对应的4条扩展路径的度量值;
用所述指定双调网络排序法,分别对具有相同增量编号的4组扩展路径集对应的4组度量值序列进行排序,分别获得每组排序结果中最小的n个度量值;其中,n为自然数且不小于m;
用所述双调网络排序法,对4组n个度量值组成的序列进行排序,获得排序结果中最小的m个度量值。
可选的,所述译码单元还用于:
用所述指定双调网络排序法,对所述任一层节点的原路径扩展出的所有扩展路径进行排序,获得排序结果中最小的m个度量值。
可选的,所述指定双调网络排序法,具有log2M个迭代排序阶段,用于对所述译码序列进行排序;其中,第i个迭代排序阶段用于将第i-1个迭代排序阶段的M/(2i-1)组序列按双调序列进行分组,排序为M/(2i)组有序序列,所述双调序列是由元素数量相同的升序序列和降序序列组成的,且同一迭代排序阶段的每组双调序列中的元数总数相同;所述第i个迭代排序阶段需要的时钟周期为i个。
可选的,所述指定双调网络排序法具体通过硬件电路或软件实现;其中,所述硬件电路包括现场可编程门阵列FPGA、数字信号处理DSP、专用集成电路ASIC中的任一种。
第三方面,本发明实施例还提供一种译码器,该译码器包括:处理器、存储器和收发机;
其中,处理器,用于读取存储器中的程序并执行下列过程:
获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;
根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;
从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。
可选的,所述处理器具体用于:
对所述译码树的任一层节点的迭代处理过程包括:
判断当前处理的任一层节点是否为所述译码树的叶节点;其中,所述任一层节点的第一原路径度量值是对所述任一层节点的父节点的第二原路径度量值进行第一运算得到的;
若所述任一层节点为所述叶节点,则对所述任一层节点的原路径进行路径扩展,并采用所述指定双调网络排序法对所有扩展路径的度量值进行排序,筛选出排序结果中度量值最小的m条路径,以确定所述任一层节点的硬判比特序列,m为自然数;
若所述任一层节点不是所述叶节点,则访问所述任一层节点的下一层节点;若所述任一层节点下的所有节点的硬判比特序列都已确定,则对所述任一层节点的第一原路径度量值的更新值进行第二运算,获得返回所述任一层节点的父节点的所述第二原路径度量值的更新值,以确定所述任一层节点的父节点的硬判比特序列,若所述任一层节点的父节点为所述译码树的根节点,则将所述任一层节点的父节点的硬判比特序列作为所述当前译码块的译码结果。
可选的,所述译码树的叶节点的类型,包括:
当前节点对应的所有比特的类型均为冻结比特的第一类型;
所述当前节点对应的所有比特的类型均为信息比特的第二类型;
所述当前节点对应的所有比特中最后一个比特为信息比特,其它比特均为冻结比特的第三类型;
所述当前节点对应的所有比特中第一个比特为冻结比特,其它比特均为信息比特的第四类型。
可选的,所述处理器还用于:
若所述任一层节点的类型为所述第一类型,则不对所述任一层节点进行路径扩展;
若所述任一层节点的类型为所述第二类型,则将所述任一层节点的每条原路径扩展为4条第一扩展路径;其中,若所述任一层节点的类型为第二类型,所述第一扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两条原始路径度量值确定的;
若所述任一层节点的类型为第三类型,则将所述任一层节点的每条原路径扩展为4条第二扩展路径;其中,所述第二扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的四条原始路径度量值确定的;
若所述任一层节点的类型为第四类型,则将所述任一层节点的每条原路径扩展为2条第三路径;其中,所述第三扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两个LLR序列确定的。
可选的,所述处理器还用于:
所述任一层节点的每条原路径度量值分别与所述4条第一扩展路径的度量值的增量进行和运算,获得所述任一层节点的每条原路径对应的4条扩展路径的度量值;
用所述指定双调网络排序法,分别对具有相同增量编号的4组扩展路径集对应的4组度量值序列进行排序,分别获得每组排序结果中最小的n个度量值;其中,n为自然数且不小于m;
用所述双调网络排序法,对4组n个度量值组成的序列进行排序,获得排序结果中最小的m个度量值。
可选的,所述处理器还用于:
用所述指定双调网络排序法,对所述任一层节点的原路径扩展出的所有扩展路径进行排序,获得排序结果中最小的m个度量值。
可选的,所述指定双调网络排序法,具有log2M个迭代排序阶段,用于对所述译码序列进行排序;其中,第i个迭代排序阶段用于将第i-1个迭代排序阶段的M/(2i-1)组序列按双调序列进行分组,排序为M/(2i)组有序序列,所述双调序列是由元素数量相同的升序序列和降序序列组成的,且同一迭代排序阶段的每组双调序列中的元数总数相同;所述第i个迭代排序阶段需要的时钟周期为i个。
可选的,所述指定双调网络排序法具体通过硬件电路或软件实现;其中,所述硬件电路包括现场可编程门阵列FPGA、数字信号处理DSP、专用集成电路ASIC中的任一种。
第四方面,本发明实施例还提供一种计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如上述第一方面所述的方法。
通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
在本发明提供的实施例中,在获取当前译码块的译码序列后;根据译码序列的各比特的类型,构建当前译码块的译码树;之后,从译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得当前译码块的译码结果。其中,当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;译码树中任一叶节点的类型是根据任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树。由于在对Ploar码进行译码的过程中构建的译码树为非完全二叉树,从而减少了需要迭代译码的次数,并且在迭代译码的过程中使用指定双调网络排序法对各节点的路径度量值进行迭代排序,能够有效的减少排序延迟,进而有效的提高Polar码的译码效率。
附图说明
图1为Polar码的编码示意图;
图2为Polar码的译码示意图;
图3为本发明实施例提供的一种Polar码译码方法的流程图;
图4为本发明实施例提供的构建Polar码的译码树的示意图;
图5为本发明实施例提供的指定双调网络排序法在各个时钟的排序示意图;
图6为本发明实施例提供的指定双调网络排序法的电路迭代叠加示意图;
图7为本发明实施例提供的一种译码器的结构示意图;
图8为本发明实施例提供的另一种译码器的结构示意图。
具体实施方式
本发明实施列提供一种Polar码译码的方法、译码器及计算机存储介质,以解决现有技术中存在的Polar码的译码效率较低的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
提供一种Polar码译码的方法,包括:获取当前译码块的译码序列;其中,当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;根据译码序列的各比特的类型,构建当前译码块的译码树;其中,译码树中任一叶节点的类型是根据任一叶节点所包含的所有比特的类型和排列位置确定的;译码树为非完全二叉树;从译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得当前译码块的译码结果。
由于在上述方案中,在获取当前译码块的译码序列后;根据译码序列的各比特的类型,构建当前译码块的译码树;之后,从译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得当前译码块的译码结果。其中,当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;译码树中任一叶节点的类型是根据任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树。由于在对Ploar码进行译码的过程中构建的译码树为非完全二叉树,从而减少了需要迭代译码的次数,并且在迭代译码的过程中使用指定双调网络排序法对各节点的路径度量值进行迭代排序,能够有效的减少排序延迟,进而有效的提高Polar码的译码效率。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
请参考图3,本发明实施例提供一种Polar码译码的方法,该方法的处理过程如下。
步骤301:获取当前译码块的译码序列;其中,当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特。
步骤302:根据译码序列的各比特的类型,构建当前译码块的译码树;其中,译码树中任一叶节点的类型是根据任一叶节点所包含的所有比特的类型和排列位置确定的,译码树为非完全二叉树。
其中,译码树的叶节点的类型,包括:当前节点对应的所有比特的类型均为冻结比特的为第一类型,也称为Rate0节点;当前节点对应的所有比特的类型均为信息比特的为第二类型,也称为Rate1节点;当前节点对应的所有比特中最后一个比特为信息比特,其它比特均为冻结比特的为第三类型,也称为SPC节点;当前节点对应的所有比特中第一个比特为冻结比特,其它比特均为信息比特的为第四类型,也称为REP节点。
例如,假设当前译码块的译码序列为x0~x7,其中,x0~x4中的每个比特的类型为冻结比特,x5~x7中的每个比特的类型为信息比特。
若当前节点对应x0~x3这四个冻结比特,则当前节点的类型为第一类型;
若当前节点对应x4(冻结比特)和x5(信息比特)这两个比特,则当前节点的类型为第三类型或第四类型;若当前节点对应x6和x7这两个信息比特,则当前节点的类型为第二类型。
根据当前译码块的译码序列x0~x7构建的译码树如图4所示。其中,该译码树的根节点对应的译码序列为x0~x7。
在构建好当前译码块的译码树后,便可执行步骤303。
步骤303:从译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得当前译码块的译码结果。
具体的,对译码树的任一层节点的迭代处理过程包括以下三步:
第一步,判断当前处理的任一层节点是否为译码树的叶节点;其中,任一层节点的第一原路径度量值是对任一层节点的父节点的第二原路径度量值进行第一运算得到的。具体判断当前层节点是否为叶节点可以通过译码树的节点标识来判断,这也与判断二叉树的叶子节点的方法相同,故不再赘述。
若任一层节点中的当前节点为左节点,则左节点的原路径度量值是对左节点的父节点的原路径度量值进行第一运算得到的,具体的第一运算为α运算;若任一层节点中的当前节点为右节点,则右节点的原路径度量值是对右节点的父节点的原路径度量值的更新值及左节点的原路径度量值的更新值进行第一运算得到的,具体的第一运算为α运算;其中,父节点的原路径度量值的更新值是对左节点进行第二运算得到的,具体的第二运算为β运算,左节点的原路径的更新值的计算方式在后面进行描述。
第二步,若任一层节点为叶节点,则对任一层节点的原路径进行路径扩展,并采用指定双调网络排序法对所有扩展路径的度量值进行排序,筛选出排序结果中度量值最小的m条路径,以确定任一层节点的硬判比特序列,m为自然数。
具体的,对任一层节点的原路进行路径扩展,根据叶节点类型的不同,分为以下几种情况:
第一种情况:若任一层节点的类型为第一类型,则不对任一层节点进行路径扩展。具体的,第一类型(Rate0节点):不扩展路径,路径度量值的增量为:
Figure BDA0001935277360000141
其中,△PM为路径度量值的增量,sv[i]为Rate0节点的第i条原路径的路径度量值,i的取值范围为0~Nv-1,Nv为大于1的自然数。
第二种情况:若任一层节点的类型为第二类型,则将任一层节点的每条原路径扩展为4条第一扩展路径;其中,若任一层节点的类型为第二类型,第一扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两条原始路径度量值确定的。
具体的,对第二类型(Rate1节点)的所有原路径度量值(它们组成的序列通常被称之为LLR序列)进行排序,从中选出绝对值最小和次小的两个原路径度量值,依次记为min1|sv[i]|、min2|sv[i]|,其中,sv[i]为Rate1节点的第i条原路径的路径度量值,i为自然数。
Rate1节点的同一原路径被扩展出的四条扩展路径的度量值的增量为:
第一条扩展路径的增量:△PM=0,第二条扩展路径的增量:△PM=min1|sv[i]|,第三条扩展路径的增量:△PM=min2|sv[i]|,第四条扩展路径的增量:△PM=min1|sv[i]|+min2|sv[i]|。
第三种情况:若任一层节点的类型为第三类型,则将任一层节点的每条原路径扩展为4条第二扩展路径;其中,第二扩展路径的度量值的增量是根据任一层节点中绝对值最小的四条原始路径度量值确定的。
具体的,对第三类型(SPC节点)的所有原路径度量值(它们组成的序列通常被称之为LLR序列)进行排序,从中选出绝对值最小和次小、第三小、第四小的四个原路径度量值,依次记为min1|sv[i]|、min2|sv[i]|、min3|sv[i]|、min4|sv[i]|,其中,sv[i]为SPC节点的第i条原路径的路径度量值,i为自然数;并且对SPC节点的所有原路径度量值对应的硬判比特进行异或运算得到SPC节点的校验值q并记录q的值,q的值为0或1。
SPC节点的同一原路径被扩展出的四条扩展路径的度量值的增量为:
第一条扩展路径的增量:若q=0,则△PM=0,若q=1,则△PM=min1|sv[i]|;
第二条扩展路径的增量:若q=0,则△PM=min1|sv[i]|+min2|sv[i]|,若q=1,则△PM=min2|sv[i]|;
第三条扩展路径的增量:若q=0,则△PM=min1|sv[i]|+min3|sv[i]|,若q=1,则△PM=min3|sv[i]|;
第四条扩展路径的增量:若q=0,则△PM=min1|sv[i]|+min4|sv[i]|,若q=1,则△PM=min4|sv[i]|。
第四种情况:若任一层节点的类型为第四类型,则将任一层节点的每条原路径扩展为2条第三路径;其中,第三扩展路径的度量值的增量是根据任一层节点中绝对值最小的两个LLR序列确定的。
具体的,对第四类型(REP节点)的所有原路径度量值(它们组成的序列通常被称之为LLR序列)进行排序,从中选出绝对值最小和最大的两个原路径度量值,依次记为min|sv[i]|、max|sv[i]|,其中,sv[i]为REP节点的第i条原路径的路径度量值,i的取值范围为0~Nv-1,Nv为大于1的自然数。
REP节点的同一原路径被扩展出的两条扩展路径的度量值的增量为:
第一条扩展路径的增量:
Figure BDA0001935277360000161
第一条扩展路径的增量:
Figure BDA0001935277360000162
第三步,若任一层节点不是叶节点,则访问当前层节点的下一层节点;若任一层节点下的所有节点的硬判比特序列都已确定,则对任一层节点的第一原路径度量值的更新值进行第二运算,获得返回任一层节点的父节点的第二原路径度量值的更新值,以确定任一层节点的父节点的硬判比特序列,若任一层节点的父节点为译码树的根节点,则将任一层节点的父节点的硬判比特序列作为当前译码块的译码结果。
例如,以图4中的译码树为例,根节点0对应的是译码序列x1~x7,假设它们对应的原路径度量值依次为s0~s7,先访问根节点0的左节点1(即译码树的第一层节点中的左节点),并通过对s0~s7进行第一运算(α运算),得到左节点1的原始路径度量值(s20、s22、s24、s26),同时,判断左节点1是否为译码树的叶节点,判断结果为是,则进一步判断左节点1的节点类型,判断结果为左节点1的类型为第一类型的节点(即Rate0节点),由于对于第一类型的节点对应的原始路径无需进行路径扩展,所以根据左节点1的原路径度量值即确定对应的硬判比特序列,之后,对左节点1的原路径度量值进行第二运算(即β运算)便可得到根节点0的原路径度量值的第一更新值,并返回根节点0。
在访问完根节点0的左节点1后,便访问译根节点0的右节点2(即码树的第一层节点中的右节点),并对左节点1的原路径度量值和根节点0的第一更新值进行第一运算(α运算),得到右节点2的原始路径度量值(s21、s23、s25、s27),同时,判断右节点2是否为译码树的叶节点,判断结果为否,则跳转至下一层(即第二层);到达第二层后,先访问右节点2的左节点5,用第一运算(α运算)对右节点2的原始路径度量值(s21、s23、s25、s27)进行计算,得到左节点5的原始路径度量值(s12、s16),之后,判断左节点5是否为叶节点,判断结果为是,则进一步判断左节点5的节点类型,判断结果为第三类型(SPC节点)或第四类型(REP节点),此时根据第三类型或第四类的路径扩展方式对左节点5的原始路径进行路径扩展,得到各扩展路径的度量值,并用指定双调网络排序法对扩展路径的度量值进行排序,挑选出最小度量值中指定数量的度量值作为左节点5的原路径度量值的更新值,然后,对左节点5的原路径度量值的更新值进行第二运算,得到右节点2的原路径度量值的第一更新值。
在访问完右节点2的左节点5后,便访问译右节点2的右节点6(即码树的第二层节点中的右节点),并对左节点5的原路径度量值的更新值和右节点2的第一更新值进行第一运算(α运算),得到右节点6的原始路径度量值(s13、s17),同时,判断右节点6是否为译码树的叶节点,判断结果为是,则进一步判断右节点6的节点类型,判断结果为第二类型(Rate1节点),则按照第二类的节点对右节点6的原始路径进行扩展,得到8条扩展路径(每条原始路径扩展出4条扩展路径),并用指定双调网络排序法对这8条扩展路径的度量值进行排序,从中选出最小的2条扩展路径的度量值作为右节点6的原路径度量值的更新值,并根据右节点6的原路径度量值的更新值确定右节点6的硬判比特序列,用第二运算对右节点6的原路径度量值的更新值进行计算,得到右节点2的原路径度量值的第二更新值,确定右节点2的硬盘比特序列,并对右节点2的原路径度量值的第二更新值进行第二运算,得到根节点0的原始路径度量值的第二更新值,此时译码树的左右节点都被访问完,根据根节点0的原始路径度量值的第二更新值确定的硬判比特序列即为当前译码块的译码结果。
下面,对指定双调网络排序法的排序方式进行简单的介绍。
例如,要对一个具有M个元素的序列进行排序,其中M为2i,i为自然数,假设M=16,这16个元素的值为[10,20,5,9,3,8,12,14,90,0,60,40,23,35,95,18],对应的指定双调网络排序法在各个时钟的排序示意图如图5所示。
在图5中用“+”代表将两个输入的数据按升序进行排序,“-”代表将两个输入的数据按将序进行排序,连接各圆圈的直线代表着两个圆圈之前的两个数据进行比较,类似比较器。
由于指定双调网络发进行排序是通过迭代完成的,所以每个阶段的迭代完成双调合并和两两排序两个步骤(第一阶段只有两两排序步骤)。
两两排序步骤(图5中第一阶段),对具有M个元素的序列两两分组并进行比较,排成正序和倒序的双调序列,M个元素的序列长度为M(即该序列中元素的个数M),则可以将这M个元素分为M/2组,对奇数组(+号标记)比较的结果按照升序排列,对偶数(-号标记)比较的结果按照降序排列。
双调合并步骤(5图中第二阶段的前半段),首先对上述序列四四分组,组数是M/4,对两两排序的结果进行合并,即对第I组和第k+1组排序后的两个较小值(或者较大值)首先进行比较,获得一次排序结果,同样地,奇数组(+号标记)比较的结果按照升序排列,偶数组(-号标记)比较的结果按照降序排列),双调合并后再进行两两排序。
以此类推,每个阶段都有0到若干次的双调合并加一次的两两排序完成。对于长度为L的序列一共需要log2M个阶段,每个阶段分别需要1、2、3、4、…个时钟周期。这样可以有效地缩短译码器的整体时延。同时,由于在每个阶段中使用比较器最多的是在两两排序步骤,其它步骤中,以及不同阶段间的比较器可以复用,因此使用的比较器个数为m/2,从而又能有效地节省硬件开销,降低了成本。
进一步地,从上面过程看出,随着L的增加,每个阶段的时钟周期是线性增加的,造成了对具有L个元素的PM序列排序的时钟周期呈两倍的线性增加。因此,需要控制PM序列的长度,在5G系统的控制信道中Polar码长最大为512bit,实践中PM最大取值为16,这样对一个叶节点的PM序列排序最大需要10个时钟周期。
在使用指定双调网络排序法时,根据叶节点的类型不同,在使用上又分两种情况为:
第一种:若任一层节点的类型为第二类型或第三类型,采用指定双调网络排序法对所有扩展路径进行排序,包括:
首先,任一层节点的每条原路径度量值分别与4条第一扩展路径的度量值的增量进行和运算,获得任一层节点的每条原路径对应的4条扩展路径的度量值;其次,用指定双调网络排序法,分别对具有相同增量序号的4组扩展路径集对应的4组度量值序列进行排序,分别获得每组排序结果中最小的n个度量值;其中,n为自然数且不小于m;最后,用双调网络排序法,对4组n个度量值组成的序列进行排序,获得排序结果中最小的m个度量值。
例如,假设任一节点中的当前节点的类型为第二类型(Rate1节点),共有L条原路径,它们的原路径度量值依次为:PM1、PM2、..PML,每条原路径能扩展出4条扩展路径,扩展出的4条扩展路径的增量为△PMi,1=0、△PMi,2=min1|sv[i]|、△PMi,3=min2|sv[i]|、△PMi,4=min1|sv[i]|+min2|sv[i]|,它们依次代表为第i条原路径的第1~4条扩展路径的增量,i的取值为1~L。
第一条原路径的扩展路径的度量值为:PM1+△PM1,1,PM1+△PM1,2,PM1+△PM1,3,PM1+△PM1,4
第二条原路径的扩展路径的度量值为:PM2+△PM2,1,PM2+△PM2,2,PM2+△PM2,3,PM2+△PM2,4
……
第L条原路径的扩展路径的度量值为:PML+△PML,1,PML+△PML,2,PML+△PML,3,PML+△PML,4
将上述4L条扩展路径,将具有相同增量序号的扩展路径的度量值组合为一个PM序列,排序的过程主要分为以下两步:
第一步,将L条原路径的中具有相同增量序号的扩展路径的度量值并行地组成多路进行排序。
具体的,指定双调网络排序法,具有log2M个迭代排序阶段,用于对译码序列进行排序;其中,第i个迭代排序阶段用于将第i-1个迭代排序阶段的M/(2i-1)组序列按双调序列进行分组,排序为M/(2i)组有序序列,双调序列是由元素数量相同的升序序列和降序序列组成的,且同一迭代排序阶段的每组双调序列中的元数总数相同;第i个迭代排序阶段需要的时钟周期为i个。
可选的,指定双调网络排序法具体可以通过硬件电路或软件实现;其中,硬件电路包括现场可编程门阵列FPGA、数字信号处理DSP、专用集成电路ASIC中的任一种。
请参见图6,为指定双调网络排序法的电路迭代叠加示意图。例如,对2L长度的数据序列进行排序,可以通过双调合并和两两排序两个步骤完成,其中前L长度的序列和后L长度的序列又可以拆分成相同的两个步骤,因此双调排序网络可以通过电路迭代叠加搭建。
有在实际使用中,L的最大值通常取值为8,所以下面以假设L=8来进行说明。
特别地,第1个序列中的度量值为:PM1+△PM1,1,PM2+△PM2,1,…,PML+△PML,1,其中△PM1,1~△PML,1的值均为0,而PM1~PML本身为已排序的有序序列,所以不需要再对第1个序列进行排序。
对于其它序列(即第2~第4个序列)中,第j个PM序列为[PM1+△PM1,j,PM2+△PM2,j,…,PML+△PML,j]则使用指定双调网络排序法进行排序。
由于每条原始路径能扩展出4条扩展路径,而对第1个PM序列不需要排序,因此这里只需对余下的3个PM序列进行并行排序即可,而在长度L=8的条件下,消耗6个时钟周期。所以能够有效的减少排序所消耗的时钟周期。
第二步,将上述4个已排好序的PM序列进行两次双调合并,每一次的双调合并如前面描述(如图5中第二阶段所示),第一次的双调合并是分别对任一两个PM序列进行合并(例如并行的分别对第1、2个PM序列和第3、4个PM序列进行排序,或第1、3个PM序列和第2、4个PM序列进行并行合并),第二次的双调合并是对第一次的双调合并结果再进行合并。
当任一节点中的当前节点的类型为第三类型(SPC节点)时,采用的指定双调网络排序发与当前节点的类型为第二类型(Rate1节点)时相同,在此不再赘述,区别仅在于当q=1时,需要对第1个的PM序列进行排序,q=0时则与第二类型(Rate1节点)的排序方式完全相同,不需对第一个PM序列进行排序。
第二种情况:若任一层节点的类型为第四类型,采用指定双调网络排序法对所有扩路径进行排序,为用指定双调网络排序法,对任一层节点的原路径扩展出的所有扩展路径进行排序,获得排序结果中最小的m个度量值。
由于第四类型的叶节点每个原路径只能扩展出2条扩展路径,且第i条原路径对应的2条扩展路径的增量△PMj,1、△PMi,2是没有排序的,i为1~L,所以扩展路径的度量值组成的2个PM序列为:
第1个PM序列为:PM1+△PM1,1,PM2+△PM2,1,…,PML+△PML,1
第2个PM序列为:PM1+△PM1,2,PM2+△PM2,2,…,PML+△PML,2
两个PM序列的度量值的长度均为L=8的乱序序列,采用指定双调网络排序法对这两个PM序列进行排序,具体可参考图5及对应的描述。
以L=8为例子,对于第二类型的节点(Rate1节点)和第三类型的节点(SPC节点)的路径度量值排序,在第一步中由于是并行处理,只需要1+2+3=6个时钟周期;在第二步中连续进行两次双调合并,需要2×3=6个时钟周期,总共需要12个时钟周期。对于REP节点,第一步中并行地对两个乱序序列进行排序,需要1+2+3=6个时钟周期,第二步中只进行一次双调合并,需要3个时钟周期,总共需要9个时钟周期。因此,相较于现有技术方案,在对路径度量值排序时,采用本发明实施例中提供的上述方案能够大大减少排序的时钟周期,减少译码器的整体时延。
基于同一发明构思,本发明一实施例中提供一种用译码器,该译码器的译码方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图7,该译码器包括:
获取单元701,用于获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;
构建单元702,用于根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;
译码单元703,用于从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。
可选的,所述译码单元703具体用于:
对所述译码树的任一层节点的迭代处理过程包括:
判断当前处理的任一层节点是否为所述译码树的叶节点;其中,所述任一层节点的第一原路径度量值是对所述任一层节点的父节点的第二原路径度量值进行第一运算得到的;
若所述任一层节点为所述叶节点,则对所述任一层节点的原路径进行路径扩展,并采用所述指定双调网络排序法对所有扩展路径的度量值进行排序,筛选出排序结果中度量值最小的m条路径,以确定所述任一层节点的硬判比特序列,m为自然数;
若所述任一层节点不是所述叶节点,则访问所述任一层节点的下一层节点;若所述任一层节点下的所有节点的硬判比特序列都已确定,则对所述任一层节点的第一原路径度量值的更新值进行第二运算,获得返回所述任一层节点的父节点的所述第二原路径度量值的更新值,以确定所述任一层节点的父节点的硬判比特序列,若所述任一层节点的父节点为所述译码树的根节点,则将所述任一层节点的父节点的硬判比特序列作为所述当前译码块的译码结果。
可选的,所述译码树的叶节点的类型,包括:
当前节点对应的所有比特的类型均为冻结比特的第一类型;
所述当前节点对应的所有比特的类型均为信息比特的第二类型;
所述当前节点对应的所有比特中最后一个比特为信息比特,其它比特均为冻结比特的第三类型;
所述当前节点对应的所有比特中第一个比特为冻结比特,其它比特均为信息比特的第四类型。
可选的,所述译码单元703还用于:
若所述任一层节点的类型为所述第一类型,则不对所述任一层节点进行路径扩展;
若所述任一层节点的类型为所述第二类型,则将所述任一层节点的每条原路径扩展为4条第一扩展路径;其中,若所述任一层节点的类型为第二类型,所述第一扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两条原始路径度量值确定的;
若所述任一层节点的类型为第三类型,则将所述任一层节点的每条原路径扩展为4条第二扩展路径;其中,所述第二扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的四条原始路径度量值确定的;
若所述任一层节点的类型为第四类型,则将所述任一层节点的每条原路径扩展为2条第三路径;其中,所述第三扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两个LLR序列确定的。
可选的,所述译码单元703还用于:
所述任一层节点的每条原路径度量值分别与所述4条第一扩展路径的度量值的增量进行和运算,获得所述任一层节点的每条原路径对应的4条扩展路径的度量值;
用所述指定双调网络排序法,分别对具有相同增量编号的4组扩展路径集对应的4组度量值序列进行排序,分别获得每组排序结果中最小的n个度量值;其中,n为自然数且不小于m;
用所述双调网络排序法,对4组n个度量值组成的序列进行排序,获得排序结果中最小的m个度量值。
可选的,所述译码单元703还用于:
用所述指定双调网络排序法,对所述任一层节点的原路径扩展出的所有扩展路径进行排序,获得排序结果中最小的m个度量值。
可选的,所述指定双调网络排序法,具有log2M个迭代排序阶段,用于对所述译码序列进行排序;其中,第i个迭代排序阶段用于将第i-1个迭代排序阶段的M/(2i-1)组序列按双调序列进行分组,排序为M/(2i)组有序序列,所述双调序列是由元素数量相同的升序序列和降序序列组成的,且同一迭代排序阶段的每组双调序列中的元数总数相同;所述第i个迭代排序阶段需要的时钟周期为i个。
可选的,所述指定双调网络排序法具体通过硬件电路或软件实现;其中,所述硬件电路包括现场可编程门阵列FPGA、数字信号处理DSP、专用集成电路ASIC中的任一种。
如图8所示,本发明实施例提供的一种译码器,该译码器包括:处理器801、存储器802和收发机803;
其中,处理器801,用于读取存储器802中的程序并执行下列过程:
获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;
根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;
从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。
可选的,所述处理器801具体用于:
对所述译码树的任一层节点的迭代处理过程包括:
判断当前处理的任一层节点是否为所述译码树的叶节点;其中,所述任一层节点的第一原路径度量值是对所述任一层节点的父节点的第二原路径度量值进行第一运算得到的;
若所述任一层节点为所述叶节点,则对所述任一层节点的原路径进行路径扩展,并采用所述指定双调网络排序法对所有扩展路径的度量值进行排序,筛选出排序结果中度量值最小的m条路径,以确定所述任一层节点的硬判比特序列,m为自然数;
若所述任一层节点不是所述叶节点,则访问所述任一层节点的下一层节点;若所述任一层节点下的所有节点的硬判比特序列都已确定,则对所述任一层节点的第一原路径度量值的更新值进行第二运算,获得返回所述任一层节点的父节点的所述第二原路径度量值的更新值,以确定所述任一层节点的父节点的硬判比特序列,若所述任一层节点的父节点为所述译码树的根节点,则将所述任一层节点的父节点的硬判比特序列作为所述当前译码块的译码结果。
可选的,所述译码树的叶节点的类型,包括:
当前节点对应的所有比特的类型均为冻结比特的第一类型;
所述当前节点对应的所有比特的类型均为信息比特的第二类型;
所述当前节点对应的所有比特中最后一个比特为信息比特,其它比特均为冻结比特的第三类型;
所述当前节点对应的所有比特中第一个比特为冻结比特,其它比特均为信息比特的第四类型。
可选的,所述处理器801还用于:
若所述任一层节点的类型为所述第一类型,则不对所述任一层节点进行路径扩展;
若所述任一层节点的类型为所述第二类型,则将所述任一层节点的每条原路径扩展为4条第一扩展路径;其中,若所述任一层节点的类型为第二类型,所述第一扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两条原始路径度量值确定的;
若所述任一层节点的类型为第三类型,则将所述任一层节点的每条原路径扩展为4条第二扩展路径;其中,所述第二扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的四条原始路径度量值确定的;
若所述任一层节点的类型为第四类型,则将所述任一层节点的每条原路径扩展为2条第三路径;其中,所述第三扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两个LLR序列确定的。
可选的,所述处理器801还用于:
所述任一层节点的每条原路径度量值分别与所述4条第一扩展路径的度量值的增量进行和运算,获得所述任一层节点的每条原路径对应的4条扩展路径的度量值;
用所述指定双调网络排序法,分别对具有相同增量编号的4组扩展路径集对应的4组度量值序列进行排序,分别获得每组排序结果中最小的n个度量值;其中,n为自然数且不小于m;
用所述双调网络排序法,对4组n个度量值组成的序列进行排序,获得排序结果中最小的m个度量值。
可选的,所述处理器801还用于:
用所述指定双调网络排序法,对所述任一层节点的原路径扩展出的所有扩展路径进行排序,获得排序结果中最小的m个度量值。
可选的,所述指定双调网络排序法,具有log2M个迭代排序阶段,用于对所述译码序列进行排序;其中,第i个迭代排序阶段用于将第i-1个迭代排序阶段的M/(2i-1)组序列按双调序列进行分组,排序为M/(2i)组有序序列,所述双调序列是由元素数量相同的升序序列和降序序列组成的,且同一迭代排序阶段的每组双调序列中的元数总数相同;所述第i个迭代排序阶段需要的时钟周期为i个。
可选的,所述指定双调网络排序法具体通过硬件电路或软件实现;其中,所述硬件电路包括现场可编程门阵列FPGA、数字信号处理DSP、专用集成电路ASIC中的任一种。
处理器801负责管理总线架构和通常的处理,存储器802可以存储处理器801在执行操作时所使用的数据。收发机803用于在处理器801的控制下接收和发送数据。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器801代表的一个或多个处理器801和存储器802代表的存储器802的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器801负责管理总线架构和通常的处理,存储器802可以存储处理器801在执行操作时所使用的数据。
本发明实施例揭示的流程,可以应用于处理器801中,或者由处理器801实现。在实现过程中,信号处理流程的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。处理器801可以是通用处理器801、数字信号处理器801、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器801可以是微处理器801或者任何常规的处理器801等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器801执行完成,或者用处理器801中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器802,闪存、只读存储器802,可编程只读存储器802或者电可擦写可编程存储器802、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成信号处理流程的步骤。
基于同一发明构思,本发明实施例还提一种计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如上所述的Polar码译码方法。
在本发明提供的实施例中,在获取当前译码块的译码序列后;根据译码序列的各比特的类型,构建当前译码块的译码树;之后,从译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得当前译码块的译码结果。其中,当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;译码树中任一叶节点的类型是根据任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树。由于在对Ploar码进行译码的过程中构建的译码树为非完全二叉树,从而减少了需要迭代译码的次数,并且在迭代译码的过程中使用指定双调网络排序法对各节点的路径度量值进行迭代排序,能够有效的减少排序延迟,进而有效的提高Polar码的译码效率。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (18)

1.一种Polar码译码的方法,其特征在于,包括:
获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;
根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;
从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。
2.如权利要求1所述的方法,其特征在于,从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果,包括:
对所述译码树的任一层节点的迭代处理过程包括:
判断当前处理的任一层节点是否为所述译码树的叶节点;其中,所述任一层节点的第一原路径度量值是对所述任一层节点的父节点的第二原路径度量值进行第一运算得到的;
若所述任一层节点为所述叶节点,则对所述任一层节点的原路径进行路径扩展,并采用所述指定双调网络排序法对所有扩展路径的度量值进行排序,筛选出排序结果中度量值最小的m条路径,以确定所述任一层节点的硬判比特序列,m为自然数;
若所述任一层节点不是所述叶节点,则访问所述任一层节点的下一层节点;若所述任一层节点下的所有节点的硬判比特序列都已确定,则对所述任一层节点的第一原路径度量值的更新值进行第二运算,获得返回所述任一层节点的父节点的所述第二原路径度量值的更新值,以确定所述任一层节点的父节点的硬判比特序列,若所述任一层节点的父节点为所述译码树的根节点,则将所述任一层节点的父节点的硬判比特序列作为所述当前译码块的译码结果。
3.如权利要求2所述的方法,其特征在于,所述译码树的叶节点的类型,包括:
当前节点对应的所有比特的类型均为冻结比特的第一类型;
所述当前节点对应的所有比特的类型均为信息比特的第二类型;
所述当前节点对应的所有比特中最后一个比特为信息比特,其它比特均为冻结比特的第三类型;
所述当前节点对应的所有比特中第一个比特为冻结比特,其它比特均为信息比特的第四类型。
4.如权利要求3所述的方法,其特征在于,对所述任一层节点的原路进行路径扩展,包括:
若所述任一层节点的类型为所述第一类型,则不对所述任一层节点进行路径扩展;
若所述任一层节点的类型为所述第二类型,则将所述任一层节点的每条原路径扩展为4条第一扩展路径;其中,若所述任一层节点的类型为第二类型,所述第一扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两条原始路径度量值确定的;
若所述任一层节点的类型为第三类型,则将所述任一层节点的每条原路径扩展为4条第二扩展路径;其中,所述第二扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的四条原始路径度量值确定的;
若所述任一层节点的类型为第四类型,则将所述任一层节点的每条原路径扩展为2条第三路径;其中,所述第三扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两个LLR序列确定的。
5.如权利要求4所述的方法,其特征在于,若所述任一层节点的类型为第二类型或第三类型,采用所述指定双调网络排序法对所有扩展路径进行排序,包括:
所述任一层节点的每条原路径度量值分别与所述4条第一扩展路径的度量值的增量进行和运算,获得所述任一层节点的每条原路径对应的4条扩展路径的度量值;
用所述指定双调网络排序法,分别对具有相同增量编号的4组扩展路径集对应的4组度量值序列进行排序,分别获得每组排序结果中最小的n个度量值;其中,n为自然数且不小于m;
用所述双调网络排序法,对4组n个度量值组成的序列进行排序,获得排序结果中最小的m个度量值。
6.如权利要求4所述的方法,其特征在于,若所述任一层节点的类型为第四类型,采用所述指定双调网络排序法对所有扩路径进行排序,包括:
用所述指定双调网络排序法,对所述任一层节点的原路径扩展出的所有扩展路径进行排序,获得排序结果中最小的m个度量值。
7.如权利要求1-6任一权项所述的方法,其特征在于,所述指定双调网络排序法,具有log2M个迭代排序阶段,用于对所述译码序列进行排序;其中,第i个迭代排序阶段用于将第i-1个迭代排序阶段的M/(2i-1)组序列按双调序列进行分组,排序为M/(2i)组有序序列,所述双调序列是由元素数量相同的升序序列和降序序列组成的,且同一迭代排序阶段的每组双调序列中的元数总数相同;所述第i个迭代排序阶段需要的时钟周期为i个。
8.如权利要求7所述的方法,其特征在于,所述指定双调网络排序法具体通过硬件电路或软件实现;其中,所述硬件电路包括现场可编程门阵列FPGA、数字信号处理DSP、专用集成电路ASIC中的任一种。
9.一种译码器,其特征在于,包括:
获取单元,用于获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;
构建单元,用于根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;
译码单元,用于从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。
10.一种译码器,其特征在于,该译码器包括:处理器、存储器和收发机;
其中,处理器,用于读取存储器中的程序并执行下列过程:
获取当前译码块的译码序列;其中,所述当前译码块包括M个比特,其中任一比特的类型为冻结比特或信息比特;
根据所述译码序列的各比特的类型,构建所述当前译码块的译码树;其中,所述译码树中任一叶节点的类型是根据所述任一叶节点所包含的所有比特的类型和排列位置确定的;所述译码树为非完全二叉树;
从所述译码树的第一层节点开始用指定双调网络排序法对各节点的路径度量值进行迭代排序及译码,直至最后一层节点,获得所述当前译码块的译码结果。
11.如权利要求10所述的译码器,其特征在于,所述处理器具体用于:
对所述译码树的任一层节点的迭代处理过程包括:
判断当前处理的任一层节点是否为所述译码树的叶节点;其中,所述任一层节点的第一原路径度量值是对所述任一层节点的父节点的第二原路径度量值进行第一运算得到的;
若所述任一层节点为所述叶节点,则对所述任一层节点的原路径进行路径扩展,并采用所述指定双调网络排序法对所有扩展路径的度量值进行排序,筛选出排序结果中度量值最小的m条路径,以确定所述任一层节点的硬判比特序列,m为自然数;
若所述任一层节点不是所述叶节点,则访问所述任一层节点的下一层节点;若所述任一层节点下的所有节点的硬判比特序列都已确定,则对所述任一层节点的第一原路径度量值的更新值进行第二运算,获得返回所述任一层节点的父节点的所述第二原路径度量值的更新值,以确定所述任一层节点的父节点的硬判比特序列,若所述任一层节点的父节点为所述译码树的根节点,则将所述任一层节点的父节点的硬判比特序列作为所述当前译码块的译码结果。
12.如权利要求11所述的译码器,其特征在于,所述译码树的叶节点的类型,包括:
当前节点对应的所有比特的类型均为冻结比特的第一类型;
所述当前节点对应的所有比特的类型均为信息比特的第二类型;
所述当前节点对应的所有比特中最后一个比特为信息比特,其它比特均为冻结比特的第三类型;
所述当前节点对应的所有比特中第一个比特为冻结比特,其它比特均为信息比特的第四类型。
13.如权利要求12所述的译码器,其特征在于,所述处理器还用于:
若所述任一层节点的类型为所述第一类型,则不对所述任一层节点进行路径扩展;
若所述任一层节点的类型为所述第二类型,则将所述任一层节点的每条原路径扩展为4条第一扩展路径;其中,若所述任一层节点的类型为第二类型,所述第一扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两条原始路径度量值确定的;
若所述任一层节点的类型为第三类型,则将所述任一层节点的每条原路径扩展为4条第二扩展路径;其中,所述第二扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的四条原始路径度量值确定的;
若所述任一层节点的类型为第四类型,则将所述任一层节点的每条原路径扩展为2条第三路径;其中,所述第三扩展路径的度量值的增量是根据所述任一层节点中绝对值最小的两个LLR序列确定的。
14.如权利要求13所述的译码器,其特征在于,所述处理器还用于:
所述任一层节点的每条原路径度量值分别与所述4条第一扩展路径的度量值的增量进行和运算,获得所述任一层节点的每条原路径对应的4条扩展路径的度量值;
用所述指定双调网络排序法,分别对具有相同增量编号的4组扩展路径集对应的4组度量值序列进行排序,分别获得每组排序结果中最小的n个度量值;其中,n为自然数且不小于m;
用所述双调网络排序法,对4组n个度量值组成的序列进行排序,获得排序结果中最小的m个度量值。
15.如权利要求13所述的译码器,其特征在于,所述处理器还用于:
用所述指定双调网络排序法,对所述任一层节点的原路径扩展出的所有扩展路径进行排序,获得排序结果中最小的m个度量值。
16.如权利要求10-15任一权项所述的译码器,其特征在于,所述指定双调网络排序法,具有log2M个迭代排序阶段,用于对所述译码序列进行排序;其中,第i个迭代排序阶段用于将第i-1个迭代排序阶段的M/(2i-1)组序列按双调序列进行分组,排序为M/(2i)组有序序列,所述双调序列是由元素数量相同的升序序列和降序序列组成的,且同一迭代排序阶段的每组双调序列中的元数总数相同;所述第i个迭代排序阶段需要的时钟周期为i个。
17.如权利要求16所述的译码器,其特征在于,所述指定双调网络排序法具体通过硬件电路或软件实现;其中,所述硬件电路包括现场可编程门阵列FPGA、数字信号处理DSP、专用集成电路ASIC中的任一种。
18.一种计算机可读存储介质,其特征在于:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的方法。
CN201910005523.8A 2019-01-03 2019-01-03 一种Polar码译码的方法、译码器及计算机存储介质 Active CN111404558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910005523.8A CN111404558B (zh) 2019-01-03 2019-01-03 一种Polar码译码的方法、译码器及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910005523.8A CN111404558B (zh) 2019-01-03 2019-01-03 一种Polar码译码的方法、译码器及计算机存储介质

Publications (2)

Publication Number Publication Date
CN111404558A true CN111404558A (zh) 2020-07-10
CN111404558B CN111404558B (zh) 2023-06-27

Family

ID=71435843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910005523.8A Active CN111404558B (zh) 2019-01-03 2019-01-03 一种Polar码译码的方法、译码器及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111404558B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532252A (zh) * 2020-11-24 2021-03-19 深圳市大数据研究院 编码方法、译码方法、电子设备及存储介质
CN114257252A (zh) * 2020-09-23 2022-03-29 辰芯科技有限公司 一种极化码的译码方法、装置、计算机设备及存储介质
CN121166069A (zh) * 2025-11-19 2025-12-19 上海壁仞科技股份有限公司 数据排序方法、电子设备、存储介质和计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016172940A1 (zh) * 2015-04-30 2016-11-03 华为技术有限公司 极性码的译码方法和译码装置
CN106788453A (zh) * 2016-11-11 2017-05-31 山东科技大学 一种并行的极化码译码方法及装置
CN106877884A (zh) * 2017-02-01 2017-06-20 东南大学 一种减少译码路径分裂的极化码译码方法
CN108988873A (zh) * 2017-05-31 2018-12-11 华为技术有限公司 一种Polar码处理方法、译码器和终端
US20180358985A1 (en) * 2017-06-08 2018-12-13 Samsung Electronics Co., Ltd. Polar encoding and decoding using predefined information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016172940A1 (zh) * 2015-04-30 2016-11-03 华为技术有限公司 极性码的译码方法和译码装置
CN106788453A (zh) * 2016-11-11 2017-05-31 山东科技大学 一种并行的极化码译码方法及装置
CN106877884A (zh) * 2017-02-01 2017-06-20 东南大学 一种减少译码路径分裂的极化码译码方法
CN108988873A (zh) * 2017-05-31 2018-12-11 华为技术有限公司 一种Polar码处理方法、译码器和终端
US20180358985A1 (en) * 2017-06-08 2018-12-13 Samsung Electronics Co., Ltd. Polar encoding and decoding using predefined information

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257252A (zh) * 2020-09-23 2022-03-29 辰芯科技有限公司 一种极化码的译码方法、装置、计算机设备及存储介质
CN114257252B (zh) * 2020-09-23 2025-06-24 辰芯科技有限公司 一种极化码的译码方法、装置、计算机设备及存储介质
CN112532252A (zh) * 2020-11-24 2021-03-19 深圳市大数据研究院 编码方法、译码方法、电子设备及存储介质
CN112532252B (zh) * 2020-11-24 2024-04-02 深圳市大数据研究院 编码方法、译码方法、电子设备及存储介质
US12218682B2 (en) 2020-11-24 2025-02-04 Shenzhen Research Institute Of Big Data Encoding method, decoding method, electronic device and storage medium
CN121166069A (zh) * 2025-11-19 2025-12-19 上海壁仞科技股份有限公司 数据排序方法、电子设备、存储介质和计算机程序产品

Also Published As

Publication number Publication date
CN111404558B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
JP4701343B2 (ja) トレリスに基づく受信器
EP1102408B1 (en) Viterbi decoder
JPS62233933A (ja) ヴイタビ復号法
CN107294539B (zh) 一种准动态霍夫曼硬件编码器及编码方法
JP2996615B2 (ja) ビタビ復号装置及びその方法
CN111404558A (zh) 一种Polar码译码的方法、译码器及计算机存储介质
RU2246751C2 (ru) Высокоскоростной модуль сложения (сравнения) выбора для декодера витерби
EP0945989A1 (en) Viterbi decoding
US20050157823A1 (en) Technique for improving viterbi decoder performance
CN111769839A (zh) 快速的比特翻转译码方法
CN114598331B (zh) Polar码的编码方法、编译码方法及装置
CN107565974B (zh) 一种静态哈夫曼并行全编码实现方法
US6792570B2 (en) Viterbi decoder with high speed processing function
CN103957016B (zh) 一种低存储容量的Turbo码译码器及其设计方法
CN100413217C (zh) 一种维特比译码器及用于维特比译码器的加比选单元电路
WO2018219031A1 (zh) 一种Polar码处理方法、译码器和终端
CN101411071A (zh) 具有双向滑动窗口体系结构的map译码器
KR101476560B1 (ko) 채널 복호화 방법과 테일 바이팅 길쌈부호 복호기
CN100429870C (zh) 一种维特比译码器以及决定其中加比选单元数据位宽的方法
CN112769437B (zh) 极化码的译码方法及译码装置、存储介质、电子装置
US7020831B2 (en) Pipelined add-compare-select circuits and methods, and applications thereof
CN115333546B (zh) 通用的面向极化码多比特并行列表译码方法和装置
WO2016168991A1 (zh) 一种低密度校验码生成方法及装置
JP3235333B2 (ja) ビタビ復号方法およびビタビ復号化装置
CN121530392A (zh) 一种优化的sscl译码排序方法和装置

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
TA01 Transfer of patent application right

Effective date of registration: 20210525

Address after: 100085 1st floor, building 1, yard 5, Shangdi East Road, Haidian District, Beijing

Applicant after: DATANG MOBILE COMMUNICATIONS EQUIPMENT Co.,Ltd.

Address before: 100191 No. 40, Haidian District, Beijing, Xueyuan Road

Applicant before: CHINA ACADEMY OF TELECOMMUNICATIONS TECHNOLOGY

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant