CN111541457B - 一种低时延低复杂度极化码串行抵消列表译码方法 - Google Patents
一种低时延低复杂度极化码串行抵消列表译码方法 Download PDFInfo
- Publication number
- CN111541457B CN111541457B CN202010394215.1A CN202010394215A CN111541457B CN 111541457 B CN111541457 B CN 111541457B CN 202010394215 A CN202010394215 A CN 202010394215A CN 111541457 B CN111541457 B CN 111541457B
- Authority
- CN
- China
- Prior art keywords
- matrix
- counter
- paths
- time
- decoding method
- 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.)
- Active
Links
Images
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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
本发明提供了一种低时延低复杂度极化码串行抵消列表译码方法,设置排序阈值α,对于长度为N的级联码,通过对前个估计比特采用传统的路径排序方法,后个估计比特采用提出的PM值排序和存活路径筛选方法,利用传统极化码SCL译码方法中路径分裂时产生路径的PM值的偏序关系,不再对2L个实数进行准确的排序,而是直接进行两两比较,同时,每次存活的L条路径中,PM值最小的两条路径始终会保留。本发明提高了极化码在SCL译码方法下的时间性能,减少了所需的实数比较器数量;改进了PM值的排序和存活路径筛选方法,能够减少SCL译码方法中PM值排序所花时间,在保证误码块率几乎无损失的情况下,改善了极化码传统SCL译码方法的时间性能。
Description
技术领域
本发明属于无线通信中的信道编码技术领域,具体涉及一种低时延低复杂度极化码串行抵消列表译码方法。
背景技术
当码字长度为无穷大时,极化码在串行抵消(Successive Cancellation,SC)译码方法下的传输速率可以达到二进制输入无记忆对称信道的信道容量。然而,考虑到SC译码方法在有限码长时的性能不佳,极化码主流译码方法是串行抵消列表(SuccessiveCancellation List,SCL)译码方法。但是,传统SCL译码方法通过保留多条可能的正确译码路径来提高性能,随着保留路径数L的增大,相比于SC译码方法,译码时延和复杂度也会相对较高。SCL译码器每当译码到信息比特时,每条存活的路径均会分裂为两条,因此需要进行大量的路径拷贝操作。因为随着译码过程的进行,相比正确存活路径,错误存活路径的基于对数似然比(Log-Likelihood Ratio,LLR)的路径度量(Path Metric,PM)值将变得越来越大,所以当分裂后的路径数超过设定值L时,需要对各路径的PM值进行排序从而筛选出L条更可靠的路径,这部分操作也消耗了大量的译码时间,需要进行改进。
发明内容
为解决上述问题,本发明提供了一种低时延低复杂度极化码串行抵消列表译码方法,使用的码字是循环冗余校验(Cylic Redundancy Check,CRC)码和极化码形成的级联码,本发明中提出的PM值排序和存活路径筛选方法,避免了现有的路径排序方法存在的所需实数比较器多、时间复杂度高的问题。本发明中的方法设置排序阈值α,对于长度为N的级联码,通过对前(表示对正实数x向下取整)个估计比特采用传统的路径排序方法,后个估计比特采用提出的PM值排序和存活路径筛选方法,能够减少SCL译码方法中PM值排序所花时间,从而提高SCL译码器的时间性能。
为了达到上述目的,本发明提供如下技术方案:
一种低时延低复杂度极化码串行抵消列表译码方法,包括如下步骤:
(1)设置排序阈值α,转入步骤(2);
(4)将产生的2L个PM值存入矩阵PM:
(5)初始化中间结果存储矩阵R为一个取值为全零的具有2行L列的矩阵,用rm,n表示矩阵R中第m行第n列的元素,则rm,n=0,m∈{1,2},n∈{1,2,...,L},然后转入步骤(6);
双向箭头表示进行比较的对象,未标出的PML和PM1 +进行比较,比较中的较小者在R中相应位置加1,较大者不变,转入步骤(7);
双向箭头表示进行比较的对象,未标出的PML-1和PM1 +进行比较,PML和PM2 +进行比较,比较中的较小者在R中相应位置加1,较大者不变,转入步骤(9);
(10)初始化存活路径矩阵S为一个取值为全零的具有2行L列的矩阵,用sm,n表示矩阵S中第m行第n列的元素,则sm,n=0,m∈{1,2},n∈{1,2,...,L},初始化存活路径计数器S_counter为一个取值为0的整数,转入步骤(11);
(11)此时对于矩阵R中元素有:rm,n∈{0,1,2,3,4},m∈{1,2},n∈{1,2,...,L};
对于m∈{1,2},n∈{1,2,...,L},若rm,n=4,则修改矩阵S中元素:sm,n=1,且每修改一次矩阵S,计数器S_counter加1;如果计数器S_counter等于L,转入步骤(15),否则转入步骤(12);
(12)对于m∈{1,2},n∈{1,2,...,L},若rm,n=3,则修改矩阵S中元素:sm,n=1,且每修改一次矩阵S,计数器S_counter加1;如果计数器S_counter等于L,转入步骤(15),否则转入步骤(13);
(13)对于m∈{1,2},n∈{1,2,...,L},若rm,n=2,则修改矩阵S中元素:sm,n=1,且每修改一次矩阵S,计数器S_counter加1;如果计数器S_counter等于L,转入步骤(15),否则转入步骤(14);
(14)对于m∈{1,2},n∈{1,2,...,L},若rm,n=1,则修改矩阵S中元素:sm,n=1,且每修改一次矩阵S,计数器S_counter加1;直到计数器S_counter等于L,转入步骤(15);
(15)此时的矩阵S如下:
其中对于m∈{1,2},n∈{1,2,...,L},有:sm,n∈{0,1};所有2L个sm,n中,有L个取值为0,L个取值为1;转入步骤(16);
(16)根据矩阵S的取值,进行传统基于LLR的SCL译码方法中的路径删除操作,得到译码到该估计比特时的L条存活路径;如果已经译码到最后一个估计比特uN,转入步骤(17),否则转入步骤(3);
(17)得到L条最终的存活路径,根据PM值进行升序排列后,依次进行循环冗余校验,直到其中一条存活路径满足校验,将该路径作为译码结果输出,其中是中的第i个元素,即比特ui的译码结果;如果L条最终的存活路径均不满足循环冗余校验,则选择PM值最小的存活路径作为译码结果,译码流程结束。
进一步的,所述步骤(15)中,对于n∈{1,2,...,L},当出现s1,n=0且s2,n=1的情况时,则需调换两者的取值,使得s1,n=1且s2,n=0。
与现有技术相比,本发明具有如下优点和有益效果:
本发明能够利用传统极化码SCL译码方法中路径分裂时产生路径的PM值的偏序关系,不再对2L个实数进行准确的排序,而是直接进行两两比较,提高了极化码在SCL译码方法下的时间性能,减少了所需的实数比较器数量。同时,由于PM值的偏序关系,每次存活的L条路径中,PM值最小的两条路径始终会保留,即进行每一次路径删除时,最可靠的两条候选译码路径会始终存活。本发明改进了PM值的排序和存活路径筛选方法,在保证误码块率几乎无损失的情况下,改善了极化码传统SCL译码方法的时间性能,从而能够在译码性能几乎不变的前提下,获取时间性能的增益。
附图说明
图1为本发明提供的低时延低复杂度极化码串行抵消列表译码方法流程图。
图2为译码阶段示意图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
本发明中低时延低复杂度极化码串行抵消列表译码方法,以码长N=32,信息比特数K=8,循环冗余校验码长度r=8,列表数L=8,排序阈值α=0.5为例进行说明。本例中的极化码的构造方法为高斯近似,码字构造信噪比为2.5分贝,循环冗余校验码的生成多项式为g(x)=x8+x7+x4+x3+x+1。
本发明提供的低时延低复杂度极化码串行抵消列表译码方法,其流程如图1所示,包括如下步骤:
(1)将排序阈值设置为α=0.5,该阈值的取值可由技术人员根据所需的误码块率自行确定。则本例中的译码阶段如图2所示,图2中黑色叶节点表示信息比特,白色叶节点表示冻结比特,虚线位于估计比特u16和u17之间,表示前一半估计比特使用传统基于LLR的SCL译码方法,后一半估计比特使用本发明中的译码方法。转入步骤(2)。
(2)对于估计比特ui,i∈{1,2,...,16},使用传统基于LLR的SCL译码方法,转入步骤(3)。
(3)对于估计比特ui,i∈{17,...,31,32},进行传统基于LLR的SCL译码方法的路径分裂,此时将由L条原始路径产生2L条候选路径(本例中L=8)。以估计比特u20为例,然后转入步骤(4)。
(4)将产生的2L个PM值存入矩阵PM,本例中矩阵PM如下:
其中对于i∈{1,2,...,L},第i列的元素表示第i条原始存活路径扩展出的两条候选路径的PM值,表示为PMi和且始终满足上方值小于下方,即这一关系可以由基于LLR的SCL译码方法得到,然后转入步骤(5)。
(5)初始化中间结果存储矩阵R为一个取值为全零的具有2行L列的矩阵,用rm,n表示矩阵R中第m行第n列的元素,则rm,n=0,m∈{1,2},n∈{1,2,...,L},然后转入步骤(6)。
双向箭头表示进行比较的对象,未标出的PML(13.12)和进行比较。比较中的较小者在R中相应位置加1,较大者不变。即若则修改矩阵R中元素:r1,i=r1,i+1;否则修改为:r2,i+1=r2,i+1+1,其余元素不变。
本例中此时矩阵R如下:
转入步骤(7)。
双向箭头表示进行比较的对象,未标出的PM1(12.45)和进行比较。比较中的较小者在R中相应位置加1,较大者不变。即若则修改矩阵R中元素:r1,i=r1,i+1;否则修改为:r2,i-1=r2,i-1+1,其余元素不变。
本例中此时矩阵R如下:
转入步骤(8)。
双向箭头表示进行比较的对象,未标出的PML-1(13.65)和进行比较,PML(13.12)和进行比较。比较中的较小者在R中相应位置加1,较大者不变。即若则修改矩阵R中元素:r1,i=r1,i+1;否则修改为:r2,i+2=r2,i+2+1,其余元素不变。
本例中此时矩阵R如下:
转入步骤(9)。
双向箭头表示进行比较的对象,未标出的PM1(12.45)和进行比较,PM2(11.09)和进行比较。比较中的较小者在R中相应位置加1,较大者不变。即若则修改矩阵R中元素:r1,i=r1,i+1;否则修改为:r2,i-2=r2,i-2+1,其余元素不变。
本例中此时矩阵R如下:
转入步骤(10)。
(10)初始化存活路径矩阵S为一个取值为全零的具有2行L列的矩阵,用sm,n表示矩阵S中第m行第n列的元素,则sm,n=0,m∈{1,2},n∈{1,2,...,L}。初始化存活路径计数器S_counter为一个取值为0的整数,转入步骤(11)。
(11)此时对于矩阵R中元素有:rm,n∈{0,1,2,3,4},m∈{1,2},n∈{1,2,...,L}。
对于m∈{1,2},n∈{1,2,...,L},若rm,n=4,则修改矩阵S中元素:sm,n=1,每修改一次矩阵S,计数器S_counter加1。本例中此时矩阵S如下:
且此时S_counter=4。如果计数器S_counter等于L,转入步骤(15),否则转入步骤(12)。
(12)对于m∈{1,2},n∈{1,2,...,L},若rm,n=3,则修改矩阵S中元素:sm,n=1,每修改一次矩阵S,计数器S_counter加1。本例中此时矩阵S如下:
且此时S_counter=5。如果计数器S_counter等于L,转入步骤(15),否则转入步骤(13)。
(13)对于m∈{1,2},n∈{1,2,...,L},若rm,n=2,则修改矩阵S中元素:sm,n=1,每修改一次矩阵S,计数器S_counter加1。本例中此时矩阵S如下:
且此时S_counter=L=8。如果计数器S_counter等于L,转入步骤(15),否则转入步骤(14)。
(14)对于m∈{1,2},n∈{1,2,...,L},若rm,n=1,则修改矩阵S中元素:sm,n=1,每修改一次矩阵S,计数器S_counter加1。直到计数器S_counter等于L,转入步骤(15)。
(15)此时的矩阵S如下:
其中对于m∈{1,2},n∈{1,2,...,L},有:sm,n∈{0,1}。所有2L个sm,n中,有L个取值为0,L个取值为1。
如果对于m∈{1,2,...,L},出现s1,n=0且s2,n=1的情况,则需调换两者的取值,即使得s1,n=1且s2,n=0。因为在矩阵PM、R和S中,代表由同一条原始路径分裂出的两条候选路径的两个元素位于同一列,且其中代表PM值小的候选路径的元素位于第一行,所以如果对于n∈{1,2,...,L},出现s1,n=0且s2,n=1的情况,则说明其中PM值大的路径被保留,PM值小的路径被删除,不合理,需调换两者的取值,即使得s1,n=1且s2,n=0。
若矩阵S中某元素取值为0,则表示该元素对应的路径需要删除;取值为1则表示该元素对应的路径需要保留。
本例中此时经过修正的矩阵S如下:
转入步骤(16)。
(16)根据式(14)的取值,删除S中取值为0的元素对应的候选路径,保留S中取值为1的元素对应的候选路径,进行传统基于LLR的SCL译码方法的路径删除操作。如果已经译码到最后一个估计比特uN,转入步骤(17),否则转入步骤(3)。本例中此时需转入步骤(3)进行估计比特u21的译码。
(17)得到L条最终的存活路径,根据PM值进行升序排列后,依次进行循环冗余校验,直到其中一条候选路径满足校验,将该路径作为译码结果输出,其中是中的第i个元素,即比特ui的译码结果。如果L条最终的候选路径均不满足循环冗余校验,则选择PM值最小的候选路径作为译码结果,译码流程结束。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (2)
1.一种低时延低复杂度极化码串行抵消列表译码方法,其特征在于,包括如下步骤:
(1)设置排序阈值α,转入步骤(2);
(4)将产生的2L个PM值存入矩阵PM:
(5)初始化中间结果存储矩阵R为一个取值为全零的具有2行L列的矩阵,用rm,n表示矩阵R中第m行第n列的元素,则rm,n=0,m∈{1,2},n∈{1,2,...,L},然后转入步骤(6);
(10)初始化存活路径矩阵S为一个取值为全零的具有2行L列的矩阵,用sm,n表示矩阵S中第m行第n列的元素,则sm,n=0,m∈{1,2},n∈{1,2,...,L},初始化存活路径计数器S_counter为一个取值为0的整数,转入步骤(11);
(11)此时对于矩阵R中元素有:rm,n∈{0,1,2,3,4},m∈{1,2},n∈{1,2,...,L};
对于m∈{1,2},n∈{1,2,...,L},若rm,n=4,则修改矩阵S中元素:sm,n=1,且每修改一次矩阵S,计数器S_counter加1;如果计数器S_counter等于L,转入步骤(15),否则转入步骤(12);
(12)对于m∈{1,2},n∈{1,2,...,L},若rm,n=3,则修改矩阵S中元素:sm,n=1,且每修改一次矩阵S,计数器S_counter加1;如果计数器S_counter等于L,转入步骤(15),否则转入步骤(13);
(13)对于m∈{1,2},n∈{1,2,...,L},若rm,n=2,则修改矩阵S中元素:sm,n=1,且每修改一次矩阵S,计数器S_counter加1;如果计数器S_counter等于L,转入步骤(15),否则转入步骤(14);
(14)对于m∈{1,2},n∈{1,2,...,L},若rm,n=1,则修改矩阵S中元素:sm,n=1,且每修改一次矩阵S,计数器S_counter加1;直到计数器S_counter等于L,转入步骤(15);
(15)此时的矩阵S如下:
其中对于m∈{1,2},n∈{1,2,...,L},有:sm,n∈{0,1};所有2L个sm,n中,有L个取值为0,L个取值为1;转入步骤(16);
(16)根据矩阵S的取值,进行传统基于LLR的SCL译码方法中的路径删除操作,得到译码到该估计比特时的L条存活路径。如果已经译码到最后一个估计比特uN,转入步骤(17),否则转入步骤(3);
2.根据权利要求1所述的低时延低复杂度极化码串行抵消列表译码方法,其特征在于,所述步骤(15)中,对于n∈{1,2,...,L},当出现s1,n=0且s2,n=1的情况时,则需调换两者的取值,使得s1,n=1且s2,n=0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010394215.1A CN111541457B (zh) | 2020-05-11 | 2020-05-11 | 一种低时延低复杂度极化码串行抵消列表译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010394215.1A CN111541457B (zh) | 2020-05-11 | 2020-05-11 | 一种低时延低复杂度极化码串行抵消列表译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541457A CN111541457A (zh) | 2020-08-14 |
CN111541457B true CN111541457B (zh) | 2022-11-18 |
Family
ID=71979214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010394215.1A Active CN111541457B (zh) | 2020-05-11 | 2020-05-11 | 一种低时延低复杂度极化码串行抵消列表译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541457B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162633B (zh) * | 2021-02-24 | 2023-09-05 | Oppo广东移动通信有限公司 | 极化码的译码方法及装置、译码器、设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063649A (zh) * | 2017-12-14 | 2018-05-22 | 东南大学 | 一种低时延低复杂度的极化码译码方法 |
CN108566213A (zh) * | 2018-04-25 | 2018-09-21 | 东南大学 | 极化码的串行抵消列表比特翻转译码方法 |
-
2020
- 2020-05-11 CN CN202010394215.1A patent/CN111541457B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063649A (zh) * | 2017-12-14 | 2018-05-22 | 东南大学 | 一种低时延低复杂度的极化码译码方法 |
CN108566213A (zh) * | 2018-04-25 | 2018-09-21 | 东南大学 | 极化码的串行抵消列表比特翻转译码方法 |
Non-Patent Citations (1)
Title |
---|
低复杂度极化码SCL译码算法;刘士平等;《哈尔滨工业大学学报》;20180425(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111541457A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108566213B (zh) | 极化码的串行抵消列表比特翻转译码方法 | |
CN109660264B (zh) | 高性能极化码译码算法 | |
CN106506009B (zh) | 一种极化码的译码方法 | |
US10084481B2 (en) | GLDPC soft decoding with hard decision inputs | |
CN107248866B (zh) | 一种降低极化码译码时延的方法 | |
US8122327B2 (en) | Symbol-level soft output viterbi algorithm (SOVA) and a simplification on SOVA | |
US10911070B2 (en) | Method and apparatus for decoding polar codes based on shared node | |
CN108833052B (zh) | 信道极化译码路径度量值排序方法 | |
CN111541457B (zh) | 一种低时延低复杂度极化码串行抵消列表译码方法 | |
Ercan et al. | Simplified dynamic SC-flip polar decoding | |
CN110830167A (zh) | 基于多比特翻转的极化码Fast-SSC译码算法 | |
CN112104412B (zh) | 一种适用于低轨卫星宽带通信的加速器 | |
CN111130567B (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
GB2403106A (en) | a turbo type decoder which performs decoding iterations on sub-blocks to improve convergence | |
CN113556135B (zh) | 基于冻结翻转列表的极化码置信传播比特翻转译码方法 | |
CN113285722B (zh) | 一种短极化码的多偏差分段冗余校验辅助统计译码方法 | |
CN113114274A (zh) | 一种基于分段关键集合的简化极化码连续消除列表译码器 | |
CN114598334A (zh) | 一种分段crc辅助的卷积极化码编译码方案 | |
Xia et al. | A two-staged adaptive successive cancellation list decoding for polar codes | |
Zhu et al. | An improved decoding of tail-biting convolutional codes for LTE systems | |
Dai et al. | Performance and implementation of enhanced multi CRC-LSC polar codes | |
Lv et al. | Modified successive cancellation flip decoder for polar codes based on gaussian approximation | |
Jin et al. | Location design of multiple cyclic redundancy checks for polar codes in successive cancellation list decoding | |
US20240157933A1 (en) | Acceleration of s-polar ecc throughput by scheduler | |
Li et al. | List Ordered Statistics Decoders for Polar 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |