CN109450459B - 一种基于深度学习的极化码fnsc译码器 - Google Patents
一种基于深度学习的极化码fnsc译码器 Download PDFInfo
- Publication number
- CN109450459B CN109450459B CN201910040178.1A CN201910040178A CN109450459B CN 109450459 B CN109450459 B CN 109450459B CN 201910040178 A CN201910040178 A CN 201910040178A CN 109450459 B CN109450459 B CN 109450459B
- Authority
- CN
- China
- Prior art keywords
- decoding
- dnn
- nodes
- algorithm
- 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.)
- 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/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
本发明提出了一种改进的基于深度学习的极化码FNSC译码器。它主要在已有的F‑SSC算法与NSC算法上进行改进。该译码器通过一种新的训练策略来获得一个适用于一般节点的DNN网络代替NSC算法中的多个DNN网络,并且引入F‑SSC算法中对特殊节点的处理方式来进一步优化本发明中的译码算法。该译码算法FNSC相比于NSC算法在减低了译码延迟的同时也减少了资源消耗。实验证明,当码长为128,码率为0.5时FNSC的译码延迟比NSC的译码延迟降低21%,且节省了7个DNN网络的资源消耗。
Description
技术领域
本发明属于信道编译码技术领域,涉及一种基于DNN的SC译码器,特别是一种结合训练单一DNN网络与特殊节点并行计算的SC译码改进算法。
背景技术
Arikan教授在2009年提出了基于信道极化现象的极化码,该信道纠错码首次被严格证明了在码长趋近于无穷大时,信道容量可以达到香浓极限。由Arikan教授提出的SC译码算法是极化码的基础译码算法。该算法采用的是连续按位译码,其译码延迟较大,码字间的相关性较强,这将会导致前面译码出错的位置影响后续译码的结果。极大的限制了SC译码算法的性能。学者们为了解决这个问题,分别提出了SCL和SCF两种算法。SCL算法通过搭建搜索树来计算SC译码的多种可能性,并通过减枝来保留可能性较高的L个分支,减枝的数量直接决定了SCL算法的性能。而SCF则是通过比特翻转,来对比较可能出错的信息位进行比特反转,然后从翻转位开始接着进行SC译码。以上两种SC的改进算法都是为了解决码间出错对后续译码的影响,两者都取得了较好的性能提升,但其依然存在译码延迟大、短码译码性能较差等缺陷。随着5G时代的到来,当下的通信技术已经越来越无法满足网络流量日益增长的需求。极化码作为5G的控制信道编码方案,其译码延迟与短码的性能将更受关注。
近年来,随着人工智能的发展,深度学习已经作为人工智能的一个重要的方法被应用到科学研究的各个领域,并且为这些领域带来了巨大的革新和突破。深度学习在信道编码领域的应用成果也逐渐增多,DNN网络用于极化码译码时可以看作是一个多标签分类器。当码长为16、码率为1/2时,其分类的类别有28个。但由于DNN对训练集中不包含的码字的预测能力非常差,若当码字长度大于等于32时,此时DNN总类别数十分巨大,这使得DNN无法通过遍历所有种类的码字来提高译码器的性能。另外,由于类别的指数增长而造成的维数灾难将严重影响DNN网络的性能。
在已有的技术中,传统的F-SSC算法对4种冻结位与信息位存在特殊关系的节点进行并行运算以减少SC译码的延迟,然而对于SC中的一般节点,F-SSC依旧采用的是串行译码方式。当码长越长,每个节点包含的码字越多时,一般节点的个数就越多,这不利于低延迟SC译码器的设计。NSC算法从第S层之后的译码开始使用不同的小型DNN网络对不同分组的LLR值进行直接译码,这虽然大大降低了SC译码的译码延时,但还存在以下两个不足。(1)NSC算法DNN网络的数量取决于LLR的分组数,而分组数将随码长的增加而增加,这无疑增加了系统的资源消耗与设计复杂度。(2)SC译码树中的特殊节点采用F-SSC的计算方法比DNN网络更快,对特殊节点使用DNN将造成额外的系统延迟与资源消耗。
发明内容
本发明为了解决已有技术所存在的问题,提出了一种基于DNN网络的FNSC译码器,该译码器训练了一个适用于某一层所有一般节点的DNN译码网络,将该网络应用于所有的一般节点,而在特殊节点处采用F-SSC中已有的更简便的方法,该译码器在保证不损失性能的前提下具有降低译码延迟、减少资源消耗等特点。
基于以上技术问题,本发明所采用的技术方案为:本发明提供一种训练一个DNN网络适用于SC码树中某一层所有一般节点的方法。SC码树中同一层的每个节点历经的后续译码树是完全相同的,但其最后判决输出的判决方法却不尽相同(与冻结位的分布有关),为了训练出一个适应所有节点的DNN网络,本发明采取的方法是去掉冻结位判决的影响,直接对最后一层的LLR进行硬判决并将其作为训练网络的期望值。
设编码码长为N,码率为1/2,假如DNN将与SC译码树的第S层连接,对于一个样本的制作可以分为以下步骤:
1.随机生成一个N/2的码字并对其进行编码;
2.添加高斯白噪声并计算其各位的对数似然比(LLR)值;
3.将LLR值输入一个完整的SC译码树中进行译码;
将上述步骤4中的αs和组成训练集与NSC中训练集制作的方法不同的是,本发明采用的为最后一层α的直接硬判决,而NSC中是对最后一层硬判决的同时把冻结位都置0,NSC所得到的是最终的译码输出码字β,这种方法使得每个网络都必须单独训练,而本发明采用的是子译码树的输出结果,由于每个子译码树的结构相同,故可以训练出一个适用于所有节点的DNN网络。
本发明将DNN网络与F-SSC中的特殊节点Rate-0、Rate-1、Spc、Rep结合共同完成SC译码的部分并行译码。F-SSC中的4种特殊节点能够采用优于DNN的并行计算的方式对相应的节点进行计算,但整个SC译码码树中,一般节点的数量比四种特殊节点数量更多,比如128码长的极化码中,SC译码码树的第4层共有8个节点,而特殊节点仅有3个。故采用DNN对一般节点进行并行译码是一个可行的方案。8个节点中,将剩下的5个节点按顺序接入已训练完成的DNN译码器中进行并行译码。保证该层的所有节点都接入到相应的并行计算器中,最终达到译码的部分并行,降低译码延迟的效果。
本发明相对现有技术具有的优点和有益效果为:
1)本发明通过新的方法训练了一个适用于所有一般子节点的DNN网络,相比于已有的NSC网络节省了大量的资源。
2)本发利用F-SSC中特殊节点并行计算的特性,结合DNN网络设计了一种特殊节点与DNN共同并行译码的方案,进一步降低了极化码译码的系统延迟。
附图说明
图1 FNSC极化码系统结构图;
图2 FNSC译码结构图;
图3 DNN网络训练流程图;
具体实施方式
下面结合附图,对本发明作进一步详细描述,以下实施例子有助于对本发明的理解,是比较好的应用实例,但不应看作是对本发明的限制。
如图1所示,本发明的整体系统结构包括有随机序列发生器、编码器、模拟信道、SC译码器、DNN网络以及特殊节点运算器。该图中,信噪比为2.5db、码长为128、码率为1/2,下列是系统的具体运行步骤:
1.随机序列发生器产生64位随机二进制信号u并加入相应的冻结位p,获得初始信息序列x。
4.将LLR值输入SC译码树的根节点并开始译码。
如图2所示,令图中第4层的节点序号从上到下依次为1、2…8,黑色节点为一般节点。在SC译码树中,每个节点须计算其相应的α值与β值,并由当前节点的β与下一节点的α计算下个节点的LLR值,FNSC译码器的具体流程为:
1.当译到第4层的第一个节点时,此时判定该节点为Rate-0节点直接获得最后一层的判决结果并输出相应的硬判决值β1(包含冻结位判定),并结合β1与第二个节点的α值计算第二个节点中间LLR值,由于该节点为Rep节点,故可直接根据LLR计算获得最终硬判决结果β2。
2.由于3-7节点为一般节点,当译码器计算这些节点时,首先根据步骤5中计算中间LLR值的方法计算当前节点的LLR值,并将其作为DNN网络的输入,计算最终输出此处的为最后一层LLR的直接判决值,不包括冻结位判决,故应进行冻结位判决获得相应的βi。
3.最后一个节点为Rate-1,故直接进行简便的并行计算获得。即β1-8为最终的译码输出值。
图3所示为DNN译码器的训练集制作流程图,设训练集为(Xdnn,Ydnn)其中Xdnn为DNN网络的输入值,而Ydnn为Xdnn所对应的期望值。本发明中的Xdnn采用第4层的5个一般节点的中间LLR值作为Xdnn,并以最后一层的作为Ydnn。由此训练集训练得出的网络将忽略冻结位的特性,DNN所学习的是一个N=16的SC译码树结构。
表1 DNN网络参数配置
表1所示为网络的训练参数配置。本实例采用大小为256-128-64的三隐藏层DNN网络,制作了700000个样本作为数据集,训练时batch设置为8,epoch为212,并以随机梯度下降法的改进算法Adadelta作为该DNN网络的参数优化算法对网络进行训练。
实验结果表明,当码长为128、码率为1/2时,FNSC的译码延迟比NSC的译码延迟降低约20%,且节省了7个DNN网络的资源消耗。
上述实施例不以任何形式限制本发明,凡采用本发明的相似结构、方法及其相似变化方式所获得的技术方案,均在本发明的保护范围。
Claims (1)
1.一种改进的DNN与SC算法结合的极化码译码结构;设SC译码码树包含L层,所述的译码结构包括前S层的SC译码树(S<L)、以及一个适用于所有F-SSC中特殊节点Rate-0,Rate-1,Rep,Spc以外的节点的DNN网络;所述译码结构引入F-SSC算法中的四种特殊节点Rate-0,Rate-1,Rep,Spc来简化译码计算过程;所述的DNN网络为深度学习全连接网络,其输入输出层的节点数由其所处的SC译码数的层数S所决定;所述的改进是通过在SC译码树的第S层处对所有节点进行分类,对所述四种特殊节点采用F-SSC特殊节点处理方法,对所述四种特殊节点以外的节点使用同一个DNN网络进行并行运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910040178.1A CN109450459B (zh) | 2019-01-16 | 2019-01-16 | 一种基于深度学习的极化码fnsc译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910040178.1A CN109450459B (zh) | 2019-01-16 | 2019-01-16 | 一种基于深度学习的极化码fnsc译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450459A CN109450459A (zh) | 2019-03-08 |
CN109450459B true CN109450459B (zh) | 2023-04-28 |
Family
ID=65544177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910040178.1A Active CN109450459B (zh) | 2019-01-16 | 2019-01-16 | 一种基于深度学习的极化码fnsc译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450459B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138390A (zh) * | 2019-06-12 | 2019-08-16 | 中国计量大学 | 一种基于深度学习的极化码sscl算法译码器 |
CN110113057B (zh) * | 2019-06-12 | 2023-06-13 | 中国计量大学 | 一种利用深度学习的极化码译码器 |
CN111614362A (zh) * | 2020-06-10 | 2020-09-01 | 重庆邮电大学 | 一种基于均匀量化的极化码快速简化串行抵消译码算法 |
CN112953552A (zh) * | 2021-02-07 | 2021-06-11 | 南京信息工程大学滨江学院 | Q-learning辅助的连续消除翻转译码器及其译码方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106571831A (zh) * | 2016-10-28 | 2017-04-19 | 华南理工大学 | 一种基于深度学习的ldpc硬判决译码方法及译码器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2714600B2 (ja) * | 1988-08-12 | 1998-02-16 | 衛 田中 | 連想型ニューロコンピュータ |
US9176927B2 (en) * | 2011-11-08 | 2015-11-03 | The Royal Institution For The Advancement Of Learning/Mcgill University | Methods and systems for decoding polar codes |
CN108777584A (zh) * | 2018-07-06 | 2018-11-09 | 中国石油大学(华东) | 一种极化码译码参数的快速优化方法 |
CN108964672A (zh) * | 2018-07-06 | 2018-12-07 | 中国石油大学(华东) | 一种基于深度神经网络的极化码译码方法 |
CN108880568A (zh) * | 2018-07-06 | 2018-11-23 | 中国石油大学(华东) | 一种基于卷积神经网络的串行抵消列表译码参数优化方法 |
-
2019
- 2019-01-16 CN CN201910040178.1A patent/CN109450459B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106571831A (zh) * | 2016-10-28 | 2017-04-19 | 华南理工大学 | 一种基于深度学习的ldpc硬判决译码方法及译码器 |
Also Published As
Publication number | Publication date |
---|---|
CN109450459A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450459B (zh) | 一种基于深度学习的极化码fnsc译码器 | |
CN105187073B (zh) | 一种极化码的bp译码方法及装置 | |
CN110278002B (zh) | 基于比特翻转的极化码置信传播列表译码方法 | |
CN105515590B (zh) | 一种有效低复杂度串行抵消列表极化码译码方法 | |
CN106849960B (zh) | 基于极化码的分段crc校验堆栈译码方法及架构 | |
CN110233628B (zh) | 极化码的自适应置信传播列表译码方法 | |
CN110113057B (zh) | 一种利用深度学习的极化码译码器 | |
CN111327332B (zh) | Ldpc码的噪声梯度下降多比特翻转译码早停方法 | |
CN110138390A (zh) | 一种基于深度学习的极化码sscl算法译码器 | |
CN110430013B (zh) | 一种基于深度学习的rcm方法 | |
CN112332864B (zh) | 一种自适应有序移动剪枝列表的极化码译码方法及系统 | |
CN103929210A (zh) | 一种基于遗传算法与神经网络的硬判决译码方法 | |
CN111726202B (zh) | 一种极化码置信传播译码的提前终止迭代方法 | |
CN109194338A (zh) | 一种混合节点多比特处理的极化码译码方法 | |
CN111130567B (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
Qingle et al. | A low complexity model-driven deep learning ldpc decoding algorithm | |
CN113014271B (zh) | 一种缩小翻转集的极化码bp译码方法 | |
Qin et al. | Convolutional neural network-based polar decoding | |
Judson et al. | Efficient construction of successive cancellation decoding of polar codes using logistic regression algorithm | |
CN113131950A (zh) | 一种极化码的自适应连续消除优先译码方法 | |
Li et al. | A rate-compatible punctured Polar code decoding scheme based on deep learning | |
Nachmani et al. | A gated hypernet decoder for polar codes | |
Li et al. | A denoiser for correlated noise channel decoding: Gated-neural network | |
Zhang et al. | Neural network based successive cancellation decoding algorithm for polar codes in URLLC | |
CN110719112A (zh) | 一种基于深度学习的参数自适应rs码译码方法 |
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 |