CN110138390A - 一种基于深度学习的极化码sscl算法译码器 - Google Patents
一种基于深度学习的极化码sscl算法译码器 Download PDFInfo
- Publication number
- CN110138390A CN110138390A CN201910505532.3A CN201910505532A CN110138390A CN 110138390 A CN110138390 A CN 110138390A CN 201910505532 A CN201910505532 A CN 201910505532A CN 110138390 A CN110138390 A CN 110138390A
- Authority
- CN
- China
- Prior art keywords
- decoding
- node
- computing module
- rate
- code
- 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
- 230000010287 polarization Effects 0.000 title claims abstract description 17
- 238000013135 deep learning Methods 0.000 title abstract description 5
- 238000004422 calculation algorithm Methods 0.000 title description 12
- 238000013528 artificial neural network Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims 2
- 239000000284 extract Substances 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000013461 design Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种与深度学习结合的低时延极化码译码器,特别是相比于简化的连续取消列表(Simplified Successive Cancellation List,SSCL)译码器具有更少的计算次数。该装置包含5个模块,分别是正常SCL计算模块、Rate‑0计算模块、Rep计算模块、Rate‑1计算模块和普通节点的DNN计算模块。这种与深度神经网络结合的SSCL译码器除了保留原有的Rate‑0、Rate‑1和Rep节点的低译码延迟特性外,还用深度神经网络对普通节点译码来降低译码时延,最后达到降低整体译码延时的目的。实验计算得出,当码长为64、码率为1/2时,本发明的译码延迟比SSCL的译码延迟降低约27%。
Description
技术领域
本发明属于通信信道编码的译码技术领域,涉及一种与深度学习结合的极化码译码器,特别是一种相比于传统的SSCL算法的译码器具有更少的计算次数,达到利用深度学习来降低译码延迟效果的极化码译码器。
背景技术
自信道编码理论建立之后,信道编码技术已经经历了几十年的发展和革新。极化码作为近十年来提出的一种编码技术,它具备了像代数编码那样特定的编译码结构,同时也采用了信道极化的方式来建立编译码的理论基础。极化码通过信道联合和信道分裂两种操作得到了若干分裂信道,它们的容量呈现出两极分化的趋势,即随着码长的增加或者趋向于完全噪声信道,或者趋向于完全无噪声信道,并以此为基础证明了极化码可以达到任意二进制输入离散无记忆信道的对称容量。极化码所采用的信道极化的编码思想和之前已经出现的编码技术完全不同,因此引起了人们的广泛关注。
Seyyed A.H.等人提出了SSCL译码的算法,这个算法为了降低SCL解码的时间复杂度,也提出了基于Rate-1、Rate-0和Rep节点的路径度量计算方法,这些节点的计算是源于原始的SCL算法。简化的路径度量依赖于由各自节点标识的根节点的LLR值。因此,可以不需要遍历所有节点来正确计算它们的LLR值。对于这三种节点,他们证明了所提出的计算与原始SCL中所提出的计算完全等价。而且还提出了一种硬件友好的Rate-1节点的路径度量计算方法,并证明它与遍历解码树的方法是等价的。
虽然SSCL相对于SCL具有更好的译码时延,但是对于这几种节点之外的情况仍使用原始SCL的计算方法,这样还会产生较高的译码延迟。本发明是对SSCL算法的进一步优化。
发明内容
本发明为了解决SSCL对于特殊节点以外的节点有较高延迟的问题,提供了一种结合深度学习神经网络的SSCL译码算法的译码器,主要包含5个计算模块,正常SCL计算模块、Rate-0计算模块、Rep计算模块、Rate-1计算模块和普通节点的DNN计算模块。对于一般节点也能减少译码延迟;同时用深度神经网络(DNN)进行极化码译码,其性能能够达到最大后验概率,这样相比于传统的译码会有一定的性能提升。
本发明的基本构思:针对SSCL无法应对的其他类型节点,采用一种深度神经网络的译码模块进行译码。但由于深度神经网络应用于极化码的译码有着一定的限制,因为在训练深度神经网络时,所采用的训练集要包含所用的译码可能,这样才能训练一个拟合较好的网络。当在译码过程中遇到上述提到的三种特殊节点以外的节点时,采用深度神经网络来进行译码。然后根据译码出的结果计算更新后的路径度量值,再继续进行译码。这种与深度神经网络结合的SSCL译码器除了保留原有的Rate-0、Rate-1和Rep节点的低译码延迟特性外,还用深度神经网络对普通节点译码来降低译码时延,最后达到一个降低整体译码延时效果。
基于以上的设计构思,本发明所采用的设计方案为:译码器的译码原理结构主要分为三个部分,在遇到不同节点之前的SCL树型译码部分、使用三种特殊节点的译码部分和使用深度神经网络译码的部分。对于第一部分,也就是在遇到不同节点之前的SCL树型译码部分,由于SCL译码算法相当于有L条路径的SC译码,所以在这一部分也采用SC译码的树型译码方式,这种方式就是用二叉树图来表示SCL译码的过程。对于第s层,节点v(s,k)表示第s层的第k个节点,该节点包含了对数似然比(LLR)信息和回传信息 这其中的βi、αi都是L维的向量,表示L条路径全部信息。令节点v的左右子节点分别为vl和vr。vl和vr的LLR信息αl、αr可通过递归式(1)、(2)计算得到,
αr[i]=αv[i](1-2βl[i])+αv[i+2s-1] (2)
其中,0≤i≤2l-1,βl为节点vl的回传信息。对于节点v,
得出βv的唯一途径是由其左右子节点的βl和βr根据式(3)计算得来。当这个计算过程计算到最下面一层,就要计算对应路径的路径度量值(PM),通过公式(4)来进行计算得到,
这其中,l是路径的索引,代表的是第l条路径,是路径l上第j位码字的估计值。所以这部分的计算时间步长消耗2Nv-2步,其中Nv代表以v为根节点所对应的叶子节点个数。
通过第一部分计算后,向下传递的LLR值会根据节点类型的不同使用不同的计算方法。这就进入第二部分或者第三部分,若接下来的节点是属于第二部分内的那三种节点,就会使用对应特殊节点的计算方式。对于Rate-1节点,能够在Nv个时间步长中译码极化码部分码字,避免了完整的树搜索,而SCL译码则需要3Nv-2步。最后计算路径度量值如公式(5)所示。
对于Rate-0节点来说,其对应的叶子节点全是冻结位,所以这种节点的计算最多可以在log2 Nv个时间步长内完成,因为简化后的Rate-0节点最多只需要将Nv个数字相加即可。
对于Rep节点,译码最多可以在1+log2 Nv的时间步长中完成,而不是在3Nv-2步长中完成,因为简化的Rep节点只需要将最多Nv个数字相加,并从得到的2L个候选中选择最好的L个。其计算路径度量值如公式(7)所示。
若从第一部分传递下来的LLR值遇到的是普通节点,就进入到译码器的第三部分,在这一部分里将使用深度神经网络进行译码。在此之前有人得出用深度神经网络模拟SC译码的过程,一个节点所消耗的时间步长为网络层数加1,这里假设深度神经网络的层数为n,则译码所需的时间步长为n+1,然后再进行路径度量值的计算,这里所消耗的总时间步长为n+1+Nv。这相比于没有使用DNN来计算普通节点有着很大的译码时延的降低。最后把所有译码信息处理后作为译码输出。
本发明相对现有技术具有的优点和有益效果为:
1)本发明相比于原先的SSCL译码器降低了一定的译码时延,且在性能上没有损耗。
2)本发明所涉及到的DNN网络只会在译码器设计时需要大量的计算,但在之后的生产和使用中只是固定参数的矩阵,不再需要训练网络所带来的资源消耗。
3)本发明针对于非特殊节点来说,只需要一个DNN网络的参数矩阵即可,所以在生产的时候不会占用太多的存储资源。
附图说明
图1为本发明译码器功能结构图;
图2为本发明译码算法结构图;
图3为极化码的64码长的译码树形图;
图4为本发明数据集获取流程图;
具体实施方式
下面结合附图对本发明作进一步详细描述,以下实施例有助于对本发明的理解,是比较好的应用实例,但不应看作是对本发明的限制。
如图1所示,本发明包含5个计算模块,正常SCL计算模块、Rate-0计算模块、Rep计算模块、Rate-1计算模块和普通节点的DNN计算模块,在SCL译码过程中使用树型译码方式,从根节点到中间某层使用正常SCL计算,再在该层对码字进行分类,引入了4种计算,达到提前译出码字,停止剩下的树搜索的目的。
如图2所示,在这里为了方便说明,采用码长为64比特,码率为0.5,对节点的分类是采取八个一组进行分类。令图中s=1的那层的节点序号从上到下依次为1,2,…,8,其中,黑色圆环节点为Rate-0节点,灰色节点为Rep节点,黑色节点为Rate-1节点,白色节点为普通节点。在SCL译码树型译码中,每个节点须计算与L条相对应的α与β值,并由当前节点的α值与左子节点的βl值来计算右子节点的αr值,也就是LLR值。本译码器的具体译码过程如下:
1)信道传递过来的信息到s=4层进入树型译码的根节点,这时译码器进入正常SCL计算模块,在此模块中以递归的方式向下计算α值,也就是LLR值。
2)当译码译到s=1的那层的第一个节点时,此时判定该节点为Rate-0节点,就进入Rate-0计算模块,直接获得最后一层的判决结果并输出相应的硬判决值β1,再更新路径度量值,并结合β1与s=2那层的第一个节点的α值计算s=1层的第二个节点的α2值,由于该节点为Rep节点,就进入Rep计算模块,故可直接获得最终硬判决结果β2和相应的路径度量值。然后计算这一层的第三个节点,由于它是Rep节点,所以计算方式与前一个节点一样。
3)由于第4到第7节点为普通节点,当译码器计算这些节点时,进入DNN计算模块,获取最终的判决值,然后再计算对应的路径度量值。
4)最后一个节点为Rate-1,这样就进入Rate-1计算模块,故直接计算获得β8,然后再计算路径度量值。最后选取路径度量值最大的一条路径的β1-8,即为最终的译码输出值。
如图3所示,这是一个64码长的译码树形图,在此将使用此例来说明本发明改进后的性能提升。对于SCL,需要2N-2+k个时间步长来完成译码计算,其中k是代码中的信息位的数量。在SSCL中,Rate-0节点最多可以在log2 Nv时间步长内完成计算,这里的Nv代表当前节点的所有叶子节点,Rep节点最多可以在1+log2 Nv时间步长内完成计算,Rate-1节点能够在Nv个时间步长内完成计算。而在本发明的译码器中,其他节点的计算时间步长和SSCL一样,但在对于普通节点的DNN计算模块来说,只需要在网络层数加一个时间步长就可以完成计算。本实施例提出的译码器与其他译码方式的时间步长比较,如表1所示。
表1不同极化码译码方式的时间步长消耗的比较
如图4所示,DNN译码器的训练集是成对生成的,训练集中的LLR值为训练时网络的输入,而包含冻结位和原始信息的信息作为训练的对比集,对网络进行有监督的训练。本发明中网络的输入采用所需层的普通节点的LLR值作为训练时输入的LLR值,并以最后一层的译码值作为训练的对比集。由该训练集训练得出的网络就可以适用于普通节点,本发明中的DNN所学习的是一个N=16的SCL译码树结构。
本实例采用大小为256-128-64的三隐藏层DNN网络,制作了1000000个样本作为数据集,训练时的并行度设置为8,epoch为212,并以随机梯度下降法的改进算法Adadelta作为该DNN网络的参数优化算法对网络进行训练。
结合实验结果与表1得出,当码长为64、码率为1/2时,本发明的译码延迟比SSCL的译码延迟降低约27%。
上述实施例不以任何形式限制本发明,凡采用本发明的相似结构、方法及其相似变化方式所获得的技术方案,均在本发明的保护范围。
Claims (2)
1.一种改进的深度神经网络(deep neural network,DNN)与SCL结合的极化码的译码器,该装置包含5个模块,正常SCL计算模块、Rate-0计算模块、Rep计算模块、Rate-1计算模块和普通节点的DNN计算模块,在SCL译码过程中使用树型译码方式,从根节点到中间某层使用正常SCL计算,再在该层对码字进行分类,引入了4种计算,达到提前译出码字,停止剩下的树搜索的目的。
2.根据权利要求1所述译码器的DNN计算模块的训练方法需要涉及到深度神经网络的训练集提取。其中深度神经网络的训练集提取是有一定要求的,由于深度神经网络在极化码译码方面上的局限性,DNN在训练极化码的译码过程中需要使用包含所有编码情况的训练集来进行训练,所以当极化码的码长太长时,训练是很难进行的,所消耗的资源是巨大的。故本发明的训练集是提取倒数第k层的普通节点的LLR值向量作为DNN网络的输入,DNN网络的输出样本选择SCL译码树对应该节点的正确译码向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910505532.3A CN110138390A (zh) | 2019-06-12 | 2019-06-12 | 一种基于深度学习的极化码sscl算法译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910505532.3A CN110138390A (zh) | 2019-06-12 | 2019-06-12 | 一种基于深度学习的极化码sscl算法译码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110138390A true CN110138390A (zh) | 2019-08-16 |
Family
ID=67581428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910505532.3A Pending CN110138390A (zh) | 2019-06-12 | 2019-06-12 | 一种基于深度学习的极化码sscl算法译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110138390A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111181573A (zh) * | 2020-03-09 | 2020-05-19 | 北京华力创通科技股份有限公司 | 数据译码方法、装置及电子设备 |
CN111224680A (zh) * | 2019-11-29 | 2020-06-02 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111614362A (zh) * | 2020-06-10 | 2020-09-01 | 重庆邮电大学 | 一种基于均匀量化的极化码快速简化串行抵消译码算法 |
CN112994840A (zh) * | 2021-02-03 | 2021-06-18 | 白盒子(上海)微电子科技有限公司 | 一种基于神经网络的译码器 |
CN114553372A (zh) * | 2022-02-11 | 2022-05-27 | Oppo广东移动通信有限公司 | 数字信号的译码方法、装置、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506009A (zh) * | 2016-10-31 | 2017-03-15 | 中国石油大学(华东) | 一种极化码的译码方法 |
CN107248866A (zh) * | 2017-05-31 | 2017-10-13 | 东南大学 | 一种降低极化码译码时延的方法 |
CN108462558A (zh) * | 2018-03-01 | 2018-08-28 | 西安电子科技大学 | 一种极化码scl译码方法、装置及电子设备 |
CN108847850A (zh) * | 2018-06-13 | 2018-11-20 | 电子科技大学 | 一种基于crc-sscl的分段极化码编译码方法 |
CN109450459A (zh) * | 2019-01-16 | 2019-03-08 | 中国计量大学 | 一种基于深度学习的极化码fnsc译码器 |
-
2019
- 2019-06-12 CN CN201910505532.3A patent/CN110138390A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506009A (zh) * | 2016-10-31 | 2017-03-15 | 中国石油大学(华东) | 一种极化码的译码方法 |
CN107248866A (zh) * | 2017-05-31 | 2017-10-13 | 东南大学 | 一种降低极化码译码时延的方法 |
CN108462558A (zh) * | 2018-03-01 | 2018-08-28 | 西安电子科技大学 | 一种极化码scl译码方法、装置及电子设备 |
CN108847850A (zh) * | 2018-06-13 | 2018-11-20 | 电子科技大学 | 一种基于crc-sscl的分段极化码编译码方法 |
CN109450459A (zh) * | 2019-01-16 | 2019-03-08 | 中国计量大学 | 一种基于深度学习的极化码fnsc译码器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224680A (zh) * | 2019-11-29 | 2020-06-02 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111224680B (zh) * | 2019-11-29 | 2022-02-22 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111181573A (zh) * | 2020-03-09 | 2020-05-19 | 北京华力创通科技股份有限公司 | 数据译码方法、装置及电子设备 |
CN111181573B (zh) * | 2020-03-09 | 2023-08-18 | 北京华力创通科技股份有限公司 | 数据译码方法、装置及电子设备 |
CN111614362A (zh) * | 2020-06-10 | 2020-09-01 | 重庆邮电大学 | 一种基于均匀量化的极化码快速简化串行抵消译码算法 |
CN112994840A (zh) * | 2021-02-03 | 2021-06-18 | 白盒子(上海)微电子科技有限公司 | 一种基于神经网络的译码器 |
CN112994840B (zh) * | 2021-02-03 | 2021-11-02 | 白盒子(上海)微电子科技有限公司 | 一种基于神经网络的译码器 |
CN114553372A (zh) * | 2022-02-11 | 2022-05-27 | Oppo广东移动通信有限公司 | 数字信号的译码方法、装置、电子设备 |
CN114553372B (zh) * | 2022-02-11 | 2024-05-03 | Oppo广东移动通信有限公司 | 数字信号的译码方法、装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110138390A (zh) | 一种基于深度学习的极化码sscl算法译码器 | |
CN101777924B (zh) | 一种Turbo码译码方法和装置 | |
CN106452460A (zh) | 一种极化码与重复码级联的纠错编码方法 | |
CN106849960B (zh) | 基于极化码的分段crc校验堆栈译码方法及架构 | |
CN105515590B (zh) | 一种有效低复杂度串行抵消列表极化码译码方法 | |
CN104025459A (zh) | 译码处理方法及译码器 | |
CN108847850A (zh) | 一种基于crc-sscl的分段极化码编译码方法 | |
CN109450459B (zh) | 一种基于深度学习的极化码fnsc译码器 | |
CN107896137B (zh) | 一种适用于极化码译码路径分裂的排序方法 | |
CN104242957B (zh) | 译码处理方法及译码器 | |
CN112332864B (zh) | 一种自适应有序移动剪枝列表的极化码译码方法及系统 | |
CN109547034A (zh) | 译码方法及设备、译码器 | |
CN109525254B (zh) | 基于深度学习的卷积码软判决译码方法 | |
CN110113057A (zh) | 一种利用深度学习的极化码译码器 | |
CN110535477A (zh) | 并行的极化码译码方法 | |
CN108833052A (zh) | 信道极化译码路径度量值排序方法 | |
CN111130567B (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
CN110830167A (zh) | 基于多比特翻转的极化码Fast-SSC译码算法 | |
CN103124181A (zh) | 一种基于余弦相似度的Turbo码译码迭代停止方法 | |
CN109194338A (zh) | 一种混合节点多比特处理的极化码译码方法 | |
CN102832954B (zh) | 一种基于软信息平均最小值的Turbo码译码迭代停止方法 | |
Li et al. | Deep Learning-Assisted Adaptive Dynamic-SCLF Decoding of Polar Codes | |
CN105610550B (zh) | 一种用于电力线载波通信的Viterbi译码方法 | |
CN103475378B (zh) | 一种适用于光通信的高吞吐率ldpc译码器 | |
CN102377438B (zh) | 信道译码方法和咬尾卷积译码器 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190816 |
|
WD01 | Invention patent application deemed withdrawn after publication |