CN106656214A - 一种基于串行抵消列表极化码译码的动态分布排序算法 - Google Patents
一种基于串行抵消列表极化码译码的动态分布排序算法 Download PDFInfo
- Publication number
- CN106656214A CN106656214A CN201611195808.5A CN201611195808A CN106656214A CN 106656214 A CN106656214 A CN 106656214A CN 201611195808 A CN201611195808 A CN 201611195808A CN 106656214 A CN106656214 A CN 106656214A
- Authority
- CN
- China
- Prior art keywords
- node
- path
- sequence
- ncs
- fcs
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种基于串行抵消列表极化码译码的动态分布排序算法,将每个父节点扩展的两个子节点设为FC与NC,其中FC为较优节点,NC为较差节点。将L个FC节点作为优先选择的L条最优路径,并通过个别FC与NC的动态替换完成最终的排序。由于SCL译码中FC节点本身带有的优势性,使得需要替换的节点较少。利用这条性质,可以极大程度上降低排序的复杂度。
Description
技术领域
本发明涉及一种基于串行抵消列表极化码译码的动态分布排序算法。
背景技术
Arlkan提出,极性码是信道编码的第一类,几乎可实现对称的二进制输入离散无记忆信道的容量(B-DMCs)。由于其较低的计算复杂度为O(NlogN),其中N为极化码长度;以及快速傅氏变换Fast Fourier Transformation(FFT)形式的译码结构,串行抵消译码successive cancellation(SC)算法已经成为最有效的极化译码算法之一。然而相比于最大似然maximum likelihood(ML)解码器,串行抵消译码器的解码性能仍然有较大的衰落。为了缩小由传统的串行抵消译码器的次最优路径选择带来的性能差距,列表串行抵消译码算法(list SC polar decoder)应运而生。加入列表(L)后,带来了更多的路径选择的机会。
SCL译码算法的主要思想是在译码树扩展中选出最优的L条路径,并对最优的L条路径再一次扩展。级每一层译码都会涉及一个从2L个候选节点中筛选出最优的L个节点的排序操作。串行抵消列表译码器的主要缺点是,随着列表L大小的增大,译码器排序部分的的复杂度非线性增加。在路径扩展过程中,需要从2L个扩展路径中标选出L个具有最大路径度量值的路径作为候选路径。若选择类似于冒泡排序或者选择排序方法来实现,其运算复杂度为O(L2);若选择类似于堆排序方法来实现,其运算复杂度为O(Llog2L),但同时也增加了所需的内存单元。此外,两种算法的延时较大,不利于高速的硬件实现。
发明内容
发明目的:本发明的目的是提供一种能够解决现有技术中存在的缺陷的基于串行抵消列表极化码译码的动态分布排序算法。
技术方案:为达到此目的,本发明采用以下技术方案:
本发明所述的基于串行抵消列表极化码译码的动态分布排序算法,包括以下步骤:
S1:针对L条路径进行扩展:每个父节点的两个扩展子节点分别设为FC和NC,其中FC为较优路径,NC为较差路径,并将得到的L个FC节点设为集合FCS,将得到的L个NC节点设为集合NCS;
S2:将L个FC节点设为L条最优路径,用集合C表示;
S3:初始化i=1,i为排序轮数;
S4:根据实际性能要求设定最大排序轮数n,且1≤n≤L-1;
S5:对于第i轮排序,将集合FCS中所剩的L-i+1个FC节点中选出最差的路径FCi,将集合NCS中所剩的L-i+1个NC节点中选出最优的路径NCi;
S6:比较FCi与NCi:如果FCi较优,则排序结束,跳转到步骤S12;否则,继续进行步骤S7;
S7:将集合C中的FCi路径替换为NCi节点;
S8:将集合FCS中的FCi元素删除,则集合FCS中的元素个数变为L-i;
S9:将集合NCS中的NCi元素删除,则集合NCS中的元素个数变为L-i;
S10:更新i值,i=i+1;
S11:如果i<n,则跳转到步骤S5进行下一轮排序;否则,则继续进行步骤S12;
S12:排序完成,最优的L条路径为集合C中的路径。
有益效果:与现有技术相比,本发明具有如下的有益效果:
1)本发明利用了SCL译码要求中,从2L条扩展路径中选取L条最优路径的特点,对于L条所选路径不需要知道顺序结果,避免了直接排序;
2)本发明利用了扩展节点中L个FCs节点很大可能性为最终的L条最优路径,以FC节点为基础,用替换掉较差FC的方式调整排序结果,极大降低了排序复杂度;
3)本发明将复杂度为O(L2)的冒泡排序或复杂度为O(Llog2L)的堆排序降低到了复杂度为O(L)的动态分布式排序;
4)本发明是动态排序,其排序延时不是固定的。由于FC节点大比例优于NC节点,在针对一帧极化码的每层动态排序中,大多数排序只需要一轮排序,即没有NC节点与FC节点的替换。
附图说明
图1为N比特Polar码的搜索码树;
图2为采用本发明具体实施方式方法与采用一般SCL译码算法的误帧率性能对比图;
图3为本发明具体实施方式中DS2算法的平均计算周期;
图4为本发明具体实施方式中DS3算法的平均计算周期。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步的介绍。
1、搜索码树
Polar码的SCL译码算法本质上是宽度优先的树形搜索算法,N比特Polar码的搜索码树如图1所示,L为保留路径数。图1中第N层中路径度量值(Path Metric,PM)最大的路径(幸存路径)即为译码输出次数表示向量,标号为1到N的N个译码结果。
2、SCL算法
对于参数为的Polar码,N为码长,K为信息位数量。对应信道WN的输出向量为表示接受的标号为1到N的N个接受数据。A为信息位分布情况集合。为冻结位的值,通常设为0。译码的路径度量值定义为信道转移概率常采用其对数形式。为了降低计算和存储的复杂度,我们采用等价的路径度量值定义如下:
其译码的递推公式如下:
其中表示N比特译码器的第i个译码PM值,表示对应节点的部分和。与表示连接节点上层迭代的两个部分和。表示异或计算,max*代表Jacobi对数:
初始化条件其中σ2为噪声方差。max(x1,x2)为取x1,x2中的最大值。
3、本具体实施方式
在路径扩展过程中,需要从2L个扩展路径中标选出L个具有最大路径度量值的路径作为候选路径。若选择类似于冒泡排序或者选择排序方法来实现,其运算复杂度为O(L2);若选择类似于堆排序方法来实现,其运算复杂度为O(Llog2L),但同时也增加了所需的内存单元。此外,两种算法的延时较大,不利于高速的硬件实现。
本具体实施方式公开了一种基于串行抵消列表极化码译码的动态分布排序算法包括以下步骤:
S1:针对L条路径进行扩展:每个父节点的两个扩展子节点分别设为FC和NC,其中FC为较优路径,NC为较差路径,并将得到的L个FC节点设为集合FCS,将得到的L个NC节点设为集合NCS;
S2:将L个FC节点设为L条最优路径,用集合C表示;
S3:初始化i=1,i为排序轮数;
S4:根据实际性能要求设定最大排序轮数n,且1≤n≤L-1;
S5:对于第i轮排序,将集合FCS中所剩的L-i+1个FC节点中选出最差的路径FCi,将集合NCS中所剩的L-i+1个NC节点中选出最优的路径NCi;
S6:比较FCi与NCi:如果FCi较优,则排序结束,跳转到步骤S12;否则,继续进行步骤S7;
S7:将集合C中的FCi路径替换为NCi节点;
S8:将集合FCS中的FCi元素删除,则集合FCS中的元素个数变为L-i;
S9:将集合NCS中的NCi元素删除,则集合NCS中的元素个数变为L-i;
S10:更新i值,i=i+1;
S11:如果i<n,则跳转到步骤S5进行下一轮排序;否则,则继续进行步骤S12;
S12:排序完成,最优的L条路径为集合C中的路径。
本具体实施方式公开的分布式排序算法(DS)近似于一般的排序算法,但其存储和比较复杂度均低于一般排序算法。当前面的比较不满足条件时,算法退出,不再进行后续比较,大大降低了平均的比较复杂度。由分析及相关仿真可知,PMs中较大的i值对应的路径度量值越小,很有可能是需要丢弃的,对算法的影响因素占主导。仅取i=L-1~L-n完成路径的扩展及度量值排序,称为DSn,设定参数n为最大比较轮数。此时,算法1中对的排序操作是不需要的,只需要查找其最大、最小、次大及次小值等若干值即可。硬件实现中,我们可做进一步的变化,查找的最小、次小值来代替查找的最小、次小值,在复杂度相同的情况下,提高译码性能。通过仿真可知,基于DS2(L=4)或DS3(L=8)的SCL译码算法与CRC校验相结合后,译码的误诊率性能损失几乎可以忽略。当L较大时,如L=16、32,单纯的DS2或DS3算法带来的性能损失较大,对前N/2比特采用完全的DS算法,后N/2比特采用DS3算法来实现。
以L=4为例,基于DS2算法的路径扩展过程如下:1,将四条路径分别区分出四个FC节点与四个NC节点;2,在四个FC节点中找出最差的节点FC1,在四个NC节点中找出最优的节点NC1;3,比较FC1与NC1,如果FC1较大,则排序结束,选取的四条较优路径为四个FC对应的路径,不必进行下面的操作,反之进行下面的操作;4,用NC1对应的路径替换FC1,且这两个值不再进入比较操作;5,在剩下的三个FC中选出最差的节点FC2,在剩下的三个NC节点中找出最优的节点NC2;6,比较FC2与NC2,如果FC2较大,则排序结束,选取的四条较优路径为三个FC与NC1对应的路径,反之,选取的四条路径为剩下两个FC与NC1和NC2对应的路径,排序结束。DS2算法将度量值的比较复杂度由O(L2)降低为O(L)。DS2算法易于硬件的并行就流水线实现,可降低复杂度,提高数据处理速率。
对于不同的L值,改进的SCL译码与一般SCL译码的误帧率性能对比如图2所示,图2中为码长1024有效信息位512的极化码。L=4时,基于DS2算法的SCL译码与一般的SCL译码具有几乎一致的误帧率性能,可作为低复杂度硬件实现的一个较好选择;L=8时,基于DS3算法的SCL译码与一般的SCL译码具有几乎一致的误帧率性能,可作为低复杂度硬件实现的一个较好选。
本具体实施方式的另一个优势在于,本排序是一个动态的排序过程,排序所要进行的轮数是不确定的。由于SCL译码过程本身具有的性质,L条路径中的扩展下的各FC节点很大可能性就是最终的所筛选出的L条最优路径。故在译码过程中大多数分布式排序过程只需要进行一轮排序。通过仿真可以证明排序长度极低。
从图3仿真中可以看出当L=4时采用本具体实施方式中的DS2排序算法平均只需要进行1.075轮排序(8个周期),在时序上也比严格排序有了很大提升(若使用传统的冒泡排序需要的排序时钟为L2数量级,即16个周期)。从图4仿真中可以看出当L=8时采用本具体实施方式中的DS3排序算法平均只需要进行1.074轮排序(16个周期),在时序上也比严格排序有了很大提升(若使用传统的冒泡排序需要的排序时钟为L2数量级,即64个周期)。本具体实施方式中的分布式排序算法平均排序消耗在一轮左右,极大的降低了排序所浪费的延时。
Claims (1)
1.一种基于串行抵消列表极化码译码的动态分布排序算法,其特征在于:包括以下步骤:
S1:针对L条路径进行扩展:每个父节点的两个扩展子节点分别设为FC和NC,其中FC为较优路径,NC为较差路径,并将得到的L个FC节点设为集合FCS,将得到的L个NC节点设为集合NCS;
S2:将L个FC节点设为L条最优路径,用集合C表示;
S3:初始化i=1,i为排序轮数;
S4:根据实际性能要求设定最大排序轮数n,且1≤n≤L-1;
S5:对于第i轮排序,将集合FCS中所剩的L-i+1个FC节点中选出最差的路径FCi,将集合NCS中所剩的L-i+1个NC节点中选出最优的路径NCi;
S6:比较FCi与NCi:如果FCi较优,则排序结束,跳转到步骤S12;否则,继续进行步骤S7;
S7:将集合C中的FCi路径替换为NCi节点;
S8:将集合FCS中的FCi元素删除,则集合FCS中的元素个数变为L-i;
S9:将集合NCS中的NCi元素删除,则集合NCS中的元素个数变为L-i;
S10:更新i值,i=i+1;
S11:如果i<n,则跳转到步骤S5进行下一轮排序;否则,则继续进行步骤S12;
S12:排序完成,最优的L条路径为集合C中的路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611195808.5A CN106656214A (zh) | 2016-12-22 | 2016-12-22 | 一种基于串行抵消列表极化码译码的动态分布排序算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611195808.5A CN106656214A (zh) | 2016-12-22 | 2016-12-22 | 一种基于串行抵消列表极化码译码的动态分布排序算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106656214A true CN106656214A (zh) | 2017-05-10 |
Family
ID=58833870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611195808.5A Pending CN106656214A (zh) | 2016-12-22 | 2016-12-22 | 一种基于串行抵消列表极化码译码的动态分布排序算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106656214A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248866A (zh) * | 2017-05-31 | 2017-10-13 | 东南大学 | 一种降低极化码译码时延的方法 |
CN107273088A (zh) * | 2017-06-16 | 2017-10-20 | 山东科技大学 | 一种针对极化码的快速排序网络方法及装置 |
CN108462558A (zh) * | 2018-03-01 | 2018-08-28 | 西安电子科技大学 | 一种极化码scl译码方法、装置及电子设备 |
CN110138497A (zh) * | 2018-02-02 | 2019-08-16 | 中兴通讯股份有限公司 | 增强far性能的方法、装置、设备及计算机可读存储介质 |
CN110601700A (zh) * | 2019-08-09 | 2019-12-20 | 中国地质大学(武汉) | 一种适用于极化码串行抵消列表译码算法的硬件排序器 |
CN115987302A (zh) * | 2023-02-03 | 2023-04-18 | 中国传媒大学 | 奇偶校验支持的动态串行抵消列表翻转译码方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101496182B1 (ko) * | 2013-12-16 | 2015-03-09 | 성균관대학교산학협력단 | 최소거리가 확장된 극 부호 생성 방법 및 장치 |
CN105720992A (zh) * | 2016-01-22 | 2016-06-29 | 哈尔滨工业大学深圳研究生院 | 一种极化码的简化译码方法 |
CN105933010A (zh) * | 2016-04-15 | 2016-09-07 | 华南理工大学 | 一种基于分段校验辅助的低复杂度极化码译码scl算法 |
CN106209113A (zh) * | 2016-07-29 | 2016-12-07 | 中国石油大学(华东) | 一种极化码的编解码方法 |
-
2016
- 2016-12-22 CN CN201611195808.5A patent/CN106656214A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101496182B1 (ko) * | 2013-12-16 | 2015-03-09 | 성균관대학교산학협력단 | 최소거리가 확장된 극 부호 생성 방법 및 장치 |
CN105720992A (zh) * | 2016-01-22 | 2016-06-29 | 哈尔滨工业大学深圳研究生院 | 一种极化码的简化译码方法 |
CN105933010A (zh) * | 2016-04-15 | 2016-09-07 | 华南理工大学 | 一种基于分段校验辅助的低复杂度极化码译码scl算法 |
CN106209113A (zh) * | 2016-07-29 | 2016-12-07 | 中国石油大学(华东) | 一种极化码的编解码方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248866A (zh) * | 2017-05-31 | 2017-10-13 | 东南大学 | 一种降低极化码译码时延的方法 |
CN107273088A (zh) * | 2017-06-16 | 2017-10-20 | 山东科技大学 | 一种针对极化码的快速排序网络方法及装置 |
CN107273088B (zh) * | 2017-06-16 | 2020-04-24 | 山东科技大学 | 一种针对极化码的快速排序方法及装置 |
CN110138497A (zh) * | 2018-02-02 | 2019-08-16 | 中兴通讯股份有限公司 | 增强far性能的方法、装置、设备及计算机可读存储介质 |
CN110138497B (zh) * | 2018-02-02 | 2021-08-17 | 中兴通讯股份有限公司 | 增强far性能的方法、装置、设备及计算机可读存储介质 |
CN108462558A (zh) * | 2018-03-01 | 2018-08-28 | 西安电子科技大学 | 一种极化码scl译码方法、装置及电子设备 |
CN108462558B (zh) * | 2018-03-01 | 2020-12-18 | 西安电子科技大学 | 一种极化码scl译码方法、装置及电子设备 |
CN110601700A (zh) * | 2019-08-09 | 2019-12-20 | 中国地质大学(武汉) | 一种适用于极化码串行抵消列表译码算法的硬件排序器 |
CN110601700B (zh) * | 2019-08-09 | 2021-05-04 | 中国地质大学(武汉) | 一种适用于极化码串行抵消列表译码算法的硬件排序器 |
CN115987302A (zh) * | 2023-02-03 | 2023-04-18 | 中国传媒大学 | 奇偶校验支持的动态串行抵消列表翻转译码方法及*** |
CN115987302B (zh) * | 2023-02-03 | 2023-11-21 | 中国传媒大学 | 奇偶校验支持的动态串行抵消列表翻转译码方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656214A (zh) | 一种基于串行抵消列表极化码译码的动态分布排序算法 | |
CN108063649B (zh) | 一种低时延低复杂度的极化码译码方法 | |
EP3381128B1 (en) | Memory management and path sorting in a polar code successive cancellation list decoder | |
JP4701343B2 (ja) | トレリスに基づく受信器 | |
US7917835B2 (en) | Memory system and method for use in trellis-based decoding | |
US5432803A (en) | Maximum likelihood convolutional decoder | |
CN105515590B (zh) | 一种有效低复杂度串行抵消列表极化码译码方法 | |
CN109347487A (zh) | 基于比特冻结辅助的极化码scl译码方法 | |
WO2018219195A1 (zh) | 一种译码方法及译码器 | |
CN109428607A (zh) | 极化码的译码方法、译码器及译码设备 | |
CN109889205A (zh) | 编码方法及***、解码方法及***、编解码方法及*** | |
CN113328756B (zh) | 用于提升分层qc-ldpc译码器硬件处理性能的方法 | |
CN105515588B (zh) | 一种ldpc‑cc高速译码器 | |
CN108933604B (zh) | 一种变量节点处理方法及装置 | |
CN108988873B (zh) | 一种Polar码处理方法、译码器和终端 | |
CN102377438B (zh) | 信道译码方法和咬尾卷积译码器 | |
US6725417B2 (en) | Sequential decoding apparatus and method | |
CN107919877A (zh) | 基于软输出维特比译码算法sova的译码方法和装置 | |
CN107302372B (zh) | 一种Viterbi译码的快速搜寻路径方法 | |
CN109274460B (zh) | 一种多比特并行结构串行抵消译码方法和装置 | |
GB2305827A (en) | Viterbi trellis decoder reduces number of metric difference calculations | |
WO2020213152A1 (ja) | 整列処理装置、選別システム、整列処理方法、及び非一時的なコンピュータ可読媒体 | |
Ng et al. | An efficient minimum-distance decoding algorithm for convolutional error-correcting codes | |
CN107124186B (zh) | 基于网格复杂度的ldpc码两阶段译码方法 | |
Senk et al. | A new bidirectional algorithm for decoding trellis codes |
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: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |