CN113193939A - 实现路径度量值排序网络的方法、系统及介质 - Google Patents
实现路径度量值排序网络的方法、系统及介质 Download PDFInfo
- Publication number
- CN113193939A CN113193939A CN202110424471.5A CN202110424471A CN113193939A CN 113193939 A CN113193939 A CN 113193939A CN 202110424471 A CN202110424471 A CN 202110424471A CN 113193939 A CN113193939 A CN 113193939A
- Authority
- CN
- China
- Prior art keywords
- paths
- split
- lmax
- path
- level
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种实现路径度量值排序网络的方法、系统及介质,涉及无线通信技术领域,该方法包括:步骤S1:通过计算单元计算L条路径的路径度量PM值,根据N bit group的比特属性来确定当前节点的分裂路径总数Lmax,将得到的PM值以及分裂路径总数Lmax存储在数据库中;步骤S2:从数据库中获取分裂路径总数Lmax,将分裂路径总数Lmax分为M级串行排序,其中,M=log2(Lmax/L);步骤S3:实现M级串行排序中的每一级排序;步骤S4:根据选出L条路径输出对应的译码结果,进行后续的译码处理。本发明的实现复杂度低、效率高,且对整体系统方案性能提升效果优异,在特殊场景条件下效率和复杂度不受影响。
Description
技术领域
本发明涉及无线通信技术领域,具体地,涉及一种实现路径度量值排序网络的方法、系统及介质。
背景技术
Polar码用于5G NR标准中的控制信道,被证明是目前唯一能够达到香农限的编码方案。对polar译码来说,译码算法有SC(Successive Cancellation)算法、BP(Belief-Propagation)算法、SCL(Successive Cancellation List)算法以及CA-SCL(CRC-AidedSCL)算法等。从性能和实现复杂度来说CA-SCL算法是个比较好的选择。
在CA-SCL译码过程中,有1个步骤是路径度量,包括计算、排序、选择和更新,该算法的扩展候选路径数目很大,导致路径排序的延迟和资源消耗,大大影响方案的性能和实现复杂度。
公开号为CN111130566A的发明专利,公开了一种Polar码译码器中寻找L个最大路径度量值的电路实现方法,利用L个寄存器,分别保存L条路径对应的L个路径度量值;计算开始时,将该L个寄存器初始化成负无穷大或系统定义的能够表示路径度量值的最小值;译码过程中,当计算出第一个路径度量值时,利用L个比较器比较其与L个路径度量值的大小;将其插入到比其大的值和比其小的值中间,多出来的最小值直接丢弃掉;得到从大到小排列的L个路径度量值,重新保存;重复此过程,直到2L个路径度量值全部计算完,此时L个寄存器中保留的即是从大到小降序排列的最大的L个路径度量值,该发明还可采用多路并行的方式。该发明通过优化算法和硬件电路,提高了polar译码速度和准确率,同时减小了译码器面积。
针对不同速率匹配方案和聚合等级,会有母码长度为512/256/128三种待译码序列,以母码长度512为例,如果选择L路并行译码和每路N bit group译码,根据group的比特属性,每个节点最多可分裂2N条路径(N个比特全为非冻结比特),L条路径一共分裂L*2N条路径,每条路径都有1个路径度量(Path Matric,PM)值。此时就需要在L*2N条路径中选出PM值最小的L条路径。一共需要512/N次迭代运算和排序选择。
以N=4,L=8为例,一共需要128次迭代,每次迭代每条径的每个节点可分裂为0、2、4、8、16条路径,即在8、16、32、64、128条路径中选出PM值最小的8条路径。
目前通用的排序网络主要有,冒泡排序、比较排序,双调排序、选择排序等。以冒泡排序为例,8条路径,每条路径分裂2条路径,一共16条路径(PM值分别为Sort0-Sort15),Sort0先和Sort1,Sort0小则Sort0位置不变,Sort1继续和Sort2比较,Sort0大则Sort0和Sort1交换位置,Sort0继续和Sort2比较,后以此类推,排序完成共需要136次串行比较。
此排序网络优点是简单清晰,但是效率太低。
以选择排序为例,步骤1:
将Sort0依次与Sort1…Sort15比较,得到15个结果(大于为1,其他为0),
将Sort1依次与Sort2…Sort15比较,得到14个结果(大于为1,其他为0),
将Sort2依次与Sort3…Sort15比较,得到13个结果(大于为1,其他为0),
……
将Sort14依次与Sort15比较,得到1个结果(大于为1,其他为0),
步骤2:
将所有与Sort0有关的比较结果值相加(15个),得到Sort0的排序score,
将所有与Sort1有关的比较结果值相加(14个),得到Sort1的排序score,
……
将所有与Sort15有关的比较结果值相加(1个),得到Sort15的排序score,
步骤3:将排序score为0-7的8个分支按顺序保存到path0-7;
此排序网络的优点是排序效率大大提高,但是当出现多个Sort值相等时,此排序网络效率就会大大降低且复杂度变高。
发明内容
针对现有技术中的缺陷,本发明提供一种实现路径度量值排序网络的方法、系统及介质,以解决上述问题。
根据本发明提供的一种实现路径度量值排序网络的方法、系统及介质,所述方案如下:
第一方面,提供了一种实现路径度量值排序网络的方法,所述方法包括:
步骤S1:通过计算单元计算L条路径的路径度量PM值,根据N bit group的比特属性来确定当前节点的分裂路径总数Lmax,将得到的PM值以及分裂路径总数Lmax存储在数据库中;
步骤S2:从数据库中获取分裂路径总数Lmax,将分裂路径总数Lmax分为M级串行排序,其中,M=log2(Lmax/L);
步骤S3:实现M级串行排序中的每一级排序,将每一级排序的结果取最小的L条有效路径输出到下一级中进行排序,将第M级排序结果最小的L条路径输出,即为最终的排序结果;
步骤S4:根据选出L条路径输出对应的译码结果,进行后续的译码处理。
优选的,所述步骤S1具体如下:
根据group的比特属性,每个节点最多可分裂2N条路径,确定N和路径个数L的值;
确定N个比特的比特属性;
计算1条路径当前节点的分裂路径数L1;
计算L条路径的分裂路径总数Lmax=L*L1。
优选的,所述步骤S2具体如下:
计算M级串行排序中M的值;
确定第1级为L个L1条分裂路径排序;
确定第2级为L/2个L1条分裂路径排序;
确定第M级为L/2M-1个L1条分裂路径排序。
优选的,所述步骤S3具体如下:
第1级输出Lmax/2条总分裂路径;
第2级输出Lmax/4条总分裂路径;
第M级输出L条路径,为最终选择为当路径度量PM值最小的L条分裂路径。
第二方面,提供了一种实现路径度量值排序网络的系统,所述系统包括:
模块M1:通过计算单元计算L条路径的路径度量PM值,根据N bit group的比特属性来确定当前节点的分裂路径总数Lmax,将得到的PM值以及分裂路径总数Lmax存储在数据库中;
模块M2:从数据库中获取分裂路径总数Lmax,将分裂路径总数Lmax分为M级串行排序,其中,M=log2(Lmax/L);
模块M3:实现M级串行排序中的每一级排序,将每一级排序的结果取最小的L条有效路径输出到下一级中进行排序,将第M级排序结果最小的L条路径输出,即为最终的排序结果;
模块M4:根据选出L条路径输出对应的译码结果,进行后续的译码处理。
优选的,所述模块M1包括:
根据group的比特属性,每个节点最多可分裂2N条路径,确定N和路径个数L的值;
确定N个比特的比特属性;
计算1条路径当前节点的分裂路径数L1;
计算L条路径的分裂路径总数Lmax=L*L1。
优选的,所述模块M2包括:
计算M级串行排序中M的值;
确定第1级为L个L1条分裂路径排序;
确定第2级为L/2个L1条分裂路径排序;
确定第M级为L/2M-1个L1条分裂路径排序。
优选的,所述模块M3包括:
第1级输出Lmax/2条总分裂路径;
第2级输出Lmax/4条总分裂路径;
第M级输出L条路径,为最终选择为当路径度量PM值最小的L条分裂路径。
与现有技术相比,本发明具有如下的有益效果:
1、通过提升路径排序的效率,提升了Polar译码的性能,相对常见的排序网络,效率提升至少1倍,优于大部分现有的排序方案;
2、降低了路径排序的实现复杂度,仅需要一个较小的排序功能模块即可,分级多次调用,运算量比较小,易于实现,适用于工程实践,能有效减少资源的消耗、降低功耗;
3、输出了唯一的大小顺序,解决了多个值相等条件下的实现复杂度。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为以L1=16为例的排序网络图;
图2为M级路径排序网络图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明实施例提供了一种实现路径度量值排序网络的方法,参照图1和图2所示,实现步骤包括:
步骤S1:通过计算单元计算L条路径的路径度量PM值,根据N bit group的比特属性来确定当前节点的分裂路径总数Lmax,将得到的值(PM值、分裂路径总数Lmax)存储在数据库中;
步骤S2:从数据库中获取分裂路径总数Lmax,将分裂路径总数Lmax分为M级串行排序,其中,M=log2(Lmax/L);
步骤S3:实现M级串行排序中的每一级排序,将每一级排序的结果取最小的L条有效路径输出到下一级中进行排序,将第M级排序结果最小的L条路径输出,即为最终的排序结果;
步骤S4:根据选出L条路径输出对应的译码结果,进行后续的译码处理。
其中,在步骤S1中:
根据group的比特属性,每个节点最多可分裂2N条路径,确定N和路径个数L的值。
确定N个比特的比特属性。
计算1条路径当前节点的分裂路径数L1。
计算L条路径的分裂路径总数Lmax=L*L1。
在步骤S2中:
计算M级串行排序中M的值。
确定第1级为L个L1条分裂路径排序。
确定第2级为L/2个L1条分裂路径排序。
确定第M级为L/2M-1个L1条分裂路径排序。
在步骤S3中:
第1级输出Lmax/2条总分裂路径。
第2级输出Lmax/4条总分裂路径。
第M级输出L条路径,为最终选择为当路径度量PM值最小的L条分裂路径。
接下来,对本发明进行更为具体的说明。
步骤S3:实现M级串行排序中的每一级排序,将每一级排序的结果取最小的L条有效路径输出到下一级中进行排序,将第M级排序结果最小的L条路径输出,即为最终的排序结果;
步骤S4:根据选出L条路径输出对应的译码结果,进行后续的译码处理。
首先需要通过计算单元计算L条路径的路径度量PM值,根据N bit group的比特属性来确定当前节点的分裂路径总数Lmax,并将得到的PM值以及分裂路径总数Lmax存储在数据库中,具体如下:
根据group的比特属性,每个节点最多可分裂2N条路径,确定N和路径个数L的值,并且确定N个比特的比特属性。再来计算1条路径当前节点的分裂路径数L1,以及计算L条路径的分裂路径总数Lmax=L*L1。
其次,需要将分裂路径总数Lmax分为M级串行排序,其中,M=log2(Lmax/L),具体如下:
先计算M级串行排序中M的值,知道M之后,分别确定第1级为L个L1条分裂路径排序、第2级为L/2个L1条分裂路径排序,以及确定第M级为L/2M-1个L1条分裂路径排序。
最后,实现M级串行排序中的每一级排序,将每一级排序的结果取最小的L条有效路径输出到下一级中进行排序,将第M级排序结果最小的L条路径输出,即为最终的排序结果。依次得到第1级输出Lmax/2条总分裂路径、第2级输出Lmax/4条总分裂路径,以及第M级输出L条路径,为最终选择为当路径度量PM值最小的L条分裂路径。
根据得到的L条路径输出对应的译码结果,进而进行后续的译码处理。
通过以下具体实施例对本发明进行解释。
设定母码长度为512,N=4,比特属性全为非冻结比特,L=8,则L1=16,Lmax=128,M=4,以上设定值均可按照前述规则改变。
1、4个bit中有1个非冻结比特,当前节点分裂为2条径,2个非冻结比特,当前节点分裂为4条径,3个非冻结比特,当前节点分裂为8条径,4个非冻结比特,当前节点分裂为16条径,8条径共分裂为128条径。
2、先实现16条径排序,如图1所示:
Sort0和Sort1比较,Sort0≥Sort1,则结果为1,否则结果为0,
Sort1和Sort0比较,Sort1>Sort0,则结果为1,否则结果为0,
即如果两个值相等,设定序号小的值为大。
3、将16个值得相互比较结果相加,得到16个score值,输出score结果为0-7所对应的路径序号。
4、如图2所示,第1级128条径分为8个16选8模块实现,输出64条径;第2级64条径分为4个16选8模块实现,输出32条径;第3级32条径分为2个16选8模块实现,输出16条径,第4级16条径分为1个16选8模块实现,输出8条径。
5、上述步骤为1次迭代计算的排序过程,1次译码过程需要128次迭代,即每一次迭代计算出最多128条径的路径度量值时,需要进行128次上述排序过程。
6、若4个比特中有3个非冻结比特,则一次迭代只需要3级排序即可,同理只有2个非冻结比特时,一次迭代只需要2级排序即可,只有1个非冻结比特时,一次迭代只需要1即排序即可。若4个比特全为冻结比特,则只要将原始的8条径按照PM值的大小进行上述排序即可。
本发明实施例提供了一种实现路径度量值排序网络的方法,通过提升路径排序的效率,提升了Polar译码的性能,相对常见的排序网络,效率提升至少1倍,优于大部分现有的排序方案。降低了路径排序的实现复杂度,仅需要一个较小的排序功能模块即可,分级多次调用,运算量比较小,易于实现,适用于工程实践,能有效减少资源的消耗、降低功耗,且输出了唯一的大小顺序,解决了多个值相等条件下的实现复杂度。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (9)
1.一种实现路径度量值排序网络的方法,其特征在于,包括:
步骤S1:通过计算单元计算L条路径的路径度量PM值,根据N bit group的比特属性来确定当前节点的分裂路径总数Lmax,将得到的PM值以及分裂路径总数Lmax存储在数据库中;
步骤S2:从数据库中获取分裂路径总数Lmax,将分裂路径总数Lmax分为M级串行排序,其中,M=log2(Lmax/L);
步骤S3:实现M级串行排序中的每一级排序,将每一级排序的结果取最小的L条有效路径输出到下一级中进行排序,将第M级排序结果最小的L条路径输出,即为最终的排序结果;
步骤S4:根据选出L条路径输出对应的译码结果,进行后续的译码处理。
2.根据权利要求1所述的实现路径度量值排序网络的方法,其特征在于,所述步骤S1具体如下:
步骤1.1:根据group的比特属性,每个节点最多可分裂2N条路径,确定N和路径个数L的值;
步骤1.2:确定N个比特的比特属性;
步骤1.3:计算1条路径当前节点的分裂路径数L1;
步骤1.4:计算L条路径的分裂路径总数Lmax=L*L1。
3.根据权利要求1所述的实现路径度量值排序网络的方法,其特征在于,所述步骤S2具体如下:
步骤2.1:计算M级串行排序中M的值;
步骤2.2:确定第1级为L个L1条分裂路径排序;
步骤2.3:确定第2级为L/2个L1条分裂路径排序;
步骤2.4:确定第M级为L/2M-1个L1条分裂路径排序。
4.根据权利要求1所述的实现路径度量值排序网络的方法,其特征在于,所述步骤S3具体如下:
步骤3.1:第1级输出Lmax/2条总分裂路径;
步骤3.2:第2级输出Lmax/4条总分裂路径;
步骤3.3:第M级输出L条路径,为最终选择为当路径度量PM值最小的L条分裂路径。
5.一种实现路径度量值排序网络的系统,其特征在于,包括:
模块M1:通过计算单元计算L条路径的路径度量PM值,根据N bit group的比特属性来确定当前节点的分裂路径总数Lmax,将得到的PM值以及分裂路径总数Lmax存储在数据库中;
模块M2:从数据库中获取分裂路径总数Lmax,将分裂路径总数Lmax分为M级串行排序,其中,M=log2(Lmax/L);
模块M3:实现M级串行排序中的每一级排序,将每一级排序的结果取最小的L条有效路径输出到下一级中进行排序,将第M级排序结果最小的L条路径输出,即为最终的排序结果;
模块M4:根据选出L条路径输出对应的译码结果,进行后续的译码处理。
6.根据权利要求5所述的实现路径度量值排序网络的系统,其特征在于,所述模块M1包括:
根据group的比特属性,每个节点最多可分裂2N条路径,确定N和路径个数L的值;
确定N个比特的比特属性;
计算1条路径当前节点的分裂路径数L1;
计算L条路径的分裂路径总数Lmax=L*L1。
7.根据权利要求5所述的实现路径度量值排序网络的系统,其特征在于,所述模块M2包括:
计算M级串行排序中M的值;
确定第1级为L个L1条分裂路径排序;
确定第2级为L/2个L1条分裂路径排序;
确定第M级为L/2M-1个L1条分裂路径排序。
8.根据权利要求5所述的实现路径度量值排序网络的系统,其特征在于,所述模块M3包括:
第1级输出Lmax/2条总分裂路径;
第2级输出Lmax/4条总分裂路径;
第M级输出L条路径,为最终选择为当路径度量PM值最小的L条分裂路径。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110424471.5A CN113193939A (zh) | 2021-04-20 | 2021-04-20 | 实现路径度量值排序网络的方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110424471.5A CN113193939A (zh) | 2021-04-20 | 2021-04-20 | 实现路径度量值排序网络的方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113193939A true CN113193939A (zh) | 2021-07-30 |
Family
ID=76977785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110424471.5A Pending CN113193939A (zh) | 2021-04-20 | 2021-04-20 | 实现路径度量值排序网络的方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113193939A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063649A (zh) * | 2017-12-14 | 2018-05-22 | 东南大学 | 一种低时延低复杂度的极化码译码方法 |
CN111224680A (zh) * | 2019-11-29 | 2020-06-02 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111262595A (zh) * | 2018-11-30 | 2020-06-09 | 中兴通讯股份有限公司 | 一种极化码译码方法及装置、多级译码器、存储介质 |
-
2021
- 2021-04-20 CN CN202110424471.5A patent/CN113193939A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063649A (zh) * | 2017-12-14 | 2018-05-22 | 东南大学 | 一种低时延低复杂度的极化码译码方法 |
CN111262595A (zh) * | 2018-11-30 | 2020-06-09 | 中兴通讯股份有限公司 | 一种极化码译码方法及装置、多级译码器、存储介质 |
CN111224680A (zh) * | 2019-11-29 | 2020-06-02 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110345B2 (en) | Path sort techniques in a polar code successive cancellation list decoder | |
US10411735B1 (en) | Systems and methods for an iterative decoding scheme | |
CN107733446B (zh) | 译码方法及设备、译码器 | |
WO2018219195A1 (zh) | 一种译码方法及译码器 | |
CN108833052B (zh) | 信道极化译码路径度量值排序方法 | |
CN110601700B (zh) | 一种适用于极化码串行抵消列表译码算法的硬件排序器 | |
CN113193939A (zh) | 实现路径度量值排序网络的方法、系统及介质 | |
CN108988873B (zh) | 一种Polar码处理方法、译码器和终端 | |
CN110324111A (zh) | 一种译码方法及设备 | |
WO2020213152A1 (ja) | 整列処理装置、選別システム、整列処理方法、及び非一時的なコンピュータ可読媒体 | |
CN111404558B (zh) | 一种Polar码译码的方法、译码器及计算机存储介质 | |
Bian et al. | A low-latency SC polar decoder based on the sequential logic optimization | |
WO2021073338A1 (zh) | 译码方法和译码器 | |
CN104767536B (zh) | 基于ofdm电力线通信系统的qc-ldpc译码方法和译码器 | |
Judson et al. | Efficient construction of successive cancellation decoding of polar codes using logistic regression algorithm | |
US8706792B1 (en) | Low-complexity q-ary LDPC decoder | |
CN111384978A (zh) | 一种极化码译码方法、装置及通信设备 | |
CN114257252A (zh) | 一种极化码的译码方法、装置、计算机设备及存储介质 | |
CN109327278B (zh) | 极化码的译码方法及装置 | |
CN109995381B (zh) | 一种基于预判机制的极化码译码系统及其方法 | |
CN114047876B (zh) | 基于列式存储的数据排序方法、设备及存储介质 | |
KR101206434B1 (ko) | 저밀도 패리티 검사 부호를 위한 동적 스케줄링 기법을 이용한 복호 방법 및 그 장치 | |
CN117713842A (zh) | 译码方法及装置、存储介质及电子装置 | |
CN117955507A (zh) | turbo码的并行译码方法、装置、电子设备及介质 | |
US7071847B2 (en) | Encoding method of recording media |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210730 |
|
RJ01 | Rejection of invention patent application after publication |