CN110278001A - 基于深度学习的极化码分区译码方法 - Google Patents
基于深度学习的极化码分区译码方法 Download PDFInfo
- Publication number
- CN110278001A CN110278001A CN201910532774.1A CN201910532774A CN110278001A CN 110278001 A CN110278001 A CN 110278001A CN 201910532774 A CN201910532774 A CN 201910532774A CN 110278001 A CN110278001 A CN 110278001A
- Authority
- CN
- China
- Prior art keywords
- sub
- block
- decoding
- code
- information
- 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.)
- Granted
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
本发明提供了一种基于深度学习的极化码分区译码方法。该方法包括:将待译码的极化码划分为多个子块,将各个子块依次串联连接,利用基于深度学习的神经网络译码器通过SC译码算法分别计算出每个子块的译码结果,将各个子块的译码结果按照顺序连接起来,得到所述待译码的极化码的译码结果。本发明通过将深度学习应用到码长较长的极化码译码中,且经过一次训练可以对任意码长任意码率的极化码进行译码,不再受到训练码长与码率与实际译码码长和码率必须相同的限制。本发明实施例的方法利用深度学习的计算优势,提高极化码SC译码算法的译码效率,从而提高通信系统的吞吐率。
Description
技术领域
本发明涉及信道编码技术领域,尤其涉及一种基于深度学习的极化码分区译码方法。
背景技术
在信道编码方案中,极化码的编译码复杂度低,并且已经被严格证明能达到香农极限,因此,具有极高的研究意义。极化码一经提出,立刻受到了众多学者的关注,成为信息领域的研究热点。在近些年的研究中,极化码的译码算法主要有SC(SuccessiveCancelation,连续删除)译码算法、最大似然译码算法、线性规划译码算法及置信传播译码算法。其中,SC译码算法的复杂度最低,且被证明极化码在SC译码算法下可以达到香农极限,因此SC译码算法一直备受学者们的关注,如何改进SC译码算法是目前研究的重点。
近年来,随着深度学习开源库的出现和计算能力的提升,深度学习发展迅猛。深度学习经过不断地发展与完善,如今在人工智能领域已经拥有了举足轻重的地位,在各个应用领域中都表现得十分出色,并且仍然具有广阔的应用前景。深度学习的并行分布式处理、学习及容错能力,在信号处理方面具有巨大的潜力。利用深度学习的计算优势,将其应用于信道译码领域,可以有效降低译码延时,提高通信系统的吞吐率。
现有技术中的一种极化码的SC译码算法的方案为:对于参数为的极化码,其中AC表示冻结比特集,信息序列分为两部分,信息部分uA,即信息位,和固定比特部分即冻结位。信息序列由信道WN传输后,输出被译码器接收,且转移概率SC译码器根据得出的估计值
按照接收的顺序依次进行判决,当i∈Ac时,ui是约定好的固定比特,所以判决到第i个元素时,直接令此判决比特将用于后面比特的判决。当i∈A时,要基于接收到的和前面判决出的i-1个估计值计算当和时的转移概率最后通过判决函数来进行判决。各比特的判决规则为:
式(1-1)直观来说就是当i∈Ac时,判决的位置是冻结位,直接判决当i∈A时,判决的位置是信息位,此时需要计算判决函数:
其中和的转移概率的比值为似然比(Likelihood Ratio,LR),表示为
因此,信息比特的判决规则可以写成
接下来,给出极化信道的似然比的递归计算公式:
SC译码算法是单项传递的,不会再对估算值进行修正,因此SC算法的复杂性在很大程度上取决于LRs的计算复杂度。式(1-5)和式(1-6)表示,长度为N的LR计算可以递归为长度为N/2的两个LRs的计算,当LR递归至长度为1时停止。当N=1时,可以由信道转移概率直接计算出LR,即:
现有技术中的一种SC译码的译码过程示意图如图1所示,为一个参数分别为(8,5,{3,5,6,7,8},(0,0,0))的极化码SC译码的示意图,每个节点均具有两个标签,分别为该节点相对应的似然比和译码的顺序号。所有节点按照图1中标记的1到32的顺序进行译码。译码时,最左边的列为第一列,它需要计算长度等于8的似然比,左边第二列需要计算的似然比的长度等于4,第三列为2,第四列为1。按照图1中标注的译码顺序,译码是从判决节点1开始进行的,因此需要计算节点l的似然比 是根据节点2的似然比和节点9的似然比计算而得。节点2的似然比是根据节点3的似然比和节点6的似然比计算而得。节点3的似然比是根据用到节点4的似然比和节点5的似然比计算而得。节点4和节点5的似然比可以直接计算,将其反向回溯计算,可以得到节点1的似然比,根据其正负来得出u1的估计值若ui为冻结位,则直接判定,类似地,可以得到全部的估计值。
若极化码在编码时,生成矩阵GN经过了比特翻转处理,那么译码就可以到此为止,目前的结果可以直接输出。若编码时没有进行比特翻转,此时的译码结果顺序是错误的,必须要对得出的判决比特进行一次比特翻转计算,从而得到正确的比特顺序。
上述现有技术中的极化码的SC译码算法的缺点为:在译码时需要按照接收比特的顺序依次进行译码,计算过程中需要递归计算,在具有冻结比特的分支上的计算在一定程度上会造成计算上的冗余,所以,该SC译码算法的计算速度不高。
发明内容
本发明的实施例提供了一种基于深度学习的极化码分区译码方法,以克服现有技术的问题。
为了实现上述目的,本发明采取了如下技术方案。
一种基于深度学习的极化码分区译码方法,包括:
将待译码的极化码划分为多个子块,将各个子块依次串联连接;
利用基于深度学习的神经网络译码器通过SC译码算法分别计算出每个子块的译码结果;
将各个子块的译码结果按照顺序连接起来,得到所述待译码的极化码的译码结果。
优选地,所述的将待译码的极化码划分为多个子块,将各个子块依次串联连接,包括:
根据所述待译码的极化码的编码过程获取所述待译码的极化码的信息位位置,根据所述待译码的极化码的信息位位置将所述待译码的极化码划分为多个子块,保证每个子块的神经网络译码器的训练复杂度在实际可行的范围内,所有子块的码长总和等于所述待译码的极化码的码长,所有子块的信息位个数总和等于所述待译码的极化码的信息位个数;
将各个子块按照SC译码算法的顺序从左到右依次串联连接。
优选地,所述的利用基于深度学习的神经网络译码器通过SC译码算法分别计算出每个子块的译码结果,包括:
根据各个子块的码长和信息位分别选择不同的深度学习模型来实现各个子块对应的神经网络译码器,使用训练集对神经网络译码器进行训练;
将训练好的各个子块对应的基于深度学习的神经网络译码器通过SC译码算法进行耦合,将所述待译码的极化码根据第一个子块的码长和信息位采用递归算法计算出所述第一个子块的LLR信息,将所述第一个子块的LLR信息作为所述第一个子块对应的基于深度学习的神经网络译码器NND1的输入,NND1输出所述第一个子块的译码结果;根据所述第一个子块的译码结果通过SC译码算法计算出所述第二个子块的LLR信息,将所述第二个子块的LLR信息作为所述第二个子块对应的基于深度学习的神经网络译码器NND2的输入,NND2输出所述第二个子块的译码结果;根据所述第二个子块的译码结果通过SC译码算法计算出所述第三个子块的LLR信息,将所述第三个子块的LLR信息作为所述第三个子块对应的基于深度学习的神经网络译码器NND3的输入,NND3输出所述第三个子块的译码结果;依此类推,直到得到所有子块的译码结果。
优选地,所述的使用训练集对神经网络译码器进行训练,包括:
确定神经网络译码器的网络规模及各个参数,使用2k个码字作为训练集,将训练集码字调制,模拟信道传输添加干扰,模拟接收过程计算对数似然比LLR,将LLR传入神经网络译码器中,得出判决结果,根据判决结果与正确结果之间的误差来调整神经网络译码器的参数,通过训练集的迭代进行多次训练,直到神经网络译码器的参数趋于收敛时,神经网络译码器训练完成。
优选地,所述的根据第一个子块的码长和信息位采用递归算法计算出所述第一个子块的LLR信息,包括:
第一个子块的LLR信息αl的计算公式如下:
αl[i]=sgn(α[i])sgn(α[i+2s-1])min(|α[i]|,|α[i+2s-1]|)
其中,s表示SC译码树的层数,α[i]表示SC译码树中αl所在节点的父节点包含的LLR信息,α[i+2s-1]表示SC译码树中αl所在节点的父节点包含的LLR信息。
优选地,所述的根据所述第一个子块的译码结果通过SC译码算法计算出所述第二个子块的LLR信息,包括:
αr[i]=α[i+2s-1]+(1-2βl[i])α[i]
其中,αr表示SC译码树的右分支的LLR信息,它的计算需要根据父节点的LLR信息α和左分支节点的βl信息,而每个节点的β信息的计算需要该节点的左分支节点的β信息βl和右分支节点的β信息βr。按照SC译码算法的过程依次进行各个子块的译码。
优选地,所述的方法还包括:
将待译码的极化码划分为多个子块时,各个子块的码长相等,各个子块的信息位个数分别为1,2,…,2i,i为子块的顺序编号;
根据各个子块的码长和信息位分别设计各个子块对应的基于深度学习的神经网络译码器,将各个子块对应的基于深度学习的神经网络译码器进行训练;
在译码时根据信息位的位置信息,计算每2ibits中信息位的比特数,将该比特数作为码率,在译码器选择模块中根据不同的码率选择对应的基于深度学习的神经网络译码器,将前一个子块的神经网络译码器的译码结果传输到下一个子块的神经网络译码器,直到完成所有子块的译码处理,将各个子块的译码结果按照顺序连接起来,得到所述待译码的极化码的译码结果。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过将深度学习应用到码长较长的极化码译码中,且经过一次训练可以对任意码长任意码率的极化码进行译码,不再受到训练码长与码率与实际译码码长和码率必须相同的限制。本发明实施例的方法利用深度学习的计算优势,提高极化码SC译码算法的译码效率,从而提高通信系统的吞吐率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的一种SC译码的译码过程示意图;
图2为本发明实施例提供的一种具有两个分区的PNND的示意图;
图3为本发明实施例提供的一种将PNND分为四个子块进行译码的示意图;
图4为本发明实施例提供的一种定长分区的PNND的基本结构示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例根据极化码的基本原理可知,对于码长N=2n,信息位为k的极化码,码率为R=k/N,可以看作是由两个长度为N/2的极化码串联而得。极化码的编码过程概括来说就是找到k个最可靠的极化信道来传输信息位,其余N-k个最不可靠的信道来传输冻结位,通常将冻结位设置为0。以一个N=8,k=4的极化码为例,编码后的码字经过调制进入噪声信道传输,噪声信道输出的为极化码译码器的输入。
根据输入前面的判决比特和冻结位的位置AC,得到每个比特的估计值判决规则为:若该比特为冻结位,直接判决为0;若该比特为信息位,当最大似然比大于等于0时,判决为1,小于0时,判决为0。
译码器的输入为N比特的LLR信息,首先根据式(2-1)一直计算到第一个子块的LLR信息α,将此信息作为NND1的输入,将第一分区的译码结果根据式(2-3)进行处理,此处需要特别注意,第一分区的译码结果并不是经过一次式(2-3)中的运算,而是一个递归计算的过程。然后根据SC译码算法的计算过程直到计算出第二分区的LLR信息α,将此信息作为NND2的输入,得到第二分区译码结果后,继续上述过程,直到所有子块全部完成译码。
1.分区神经网络译码器
根据所述待译码的极化码的编码过程获取所述待译码的极化码的信息位位置,根据所述待译码的极化码的信息位位置将所述待译码的极化码划分为多个子块,保证每个子块的神经网络译码器的训练复杂度在实际可行的范围内,所有子块的码长总和等于所述待译码的极化码的码长,所有子块的信息位个数总和等于所述待译码的极化码的信息位个数;
将各个子块按照SC译码算法的顺序从左到右依次串联连接。各子块码长和信息位个数选择不是固定的,越长越好,但是因为信息位个数增加时,神经网络译码器的训练集(为2k个全部可能的码字)会呈指数增长,导致难以实现训练,所以需要在硬件条件允许的情况下尽量增加每个子块的长度。
将传统的SC译码算法进行分区,各个分区使用神经网络译码器,然后再将各子块进行串联,在本发明实施例中将这种译码器称为PNND(Partitioned Neural NetworkDecoder,分区神经网络译码器)。本发明实施例提供的一种具有两个分区的PNND的示意图如图2所示,在图2中所示的两个分区的码树结构中,按照SC译码的步骤,先计算出左边的子节点的含有2n-1bits的LLR(Log Likelihood Ratio,对数似然比)信息α,然后使用NND1进行该分支的译码,译码得出的估计值经过式(2-4)处理后传回第n层的节点中,再利用式(2-3)计算出右边的子节点的含有2n-1bits的LLR信息α,再使用NND2进行右边分支的译码,得到估计值从而得到所有的估计值:
包含比特码字的信息,这两种信息分别为:含有2s比特的LLR值的软信息,记作α。由一个节点的α向下一层计算左右两个分支的α需要不同的计算方式,左分支的αl见式(2-1)和(2-2),式中的α[i]与α[i+2s-1]的意义为:将α分为按原顺序等长的两个向量,两个向量中的相同的位置;例如,α=[0,1,1,1],此时s=2,则当i=0时,α[i]与α[i+2s-1]分别为:α[0]=0,α[2]=1;当i=1时,α[i]与α[i+2s-1]分别为:α[1]=1,α[3]=1。
右分支的αr的计算方式见式(2-3),即当左分支的β信息的相应位置βl[i]=0时,αr[i]=α[i+2s-1]+α[i];当βl[i]=1时,αr[i]=α[i+2s-1]-α[i]。
αl[i]=sgn(α[i])sgn(α[i+2s-1])min(|α[i]|,|α[i+2s-1]|) (2-1)
αr[i]=α[i+2s-1]+(1-2βl[i])α[i] (2-2)
其中,2s比特码字的硬比特估计值,记作β,计算公式为式(4-4)。β的前半段为βl与βr的模2加,后半段直接为βr。例如βl=[0,1,1,0],βr=[1,0,1,1],则β=[1,1,0,1,1,0,1,1]。
其中,αl[i],αr[i]中的分别表示相对于父节点的左右两个节点的信息,βl[i],βr[i]同理。并且β[i]被称为部分和。
上述为一个具有两个分区的PNND的计算原理,在对极化码进行分区时可以根据具体需要进行灵活的分区,各个子块也可以不在码树的同一层中。实现PNND的算法过程为:
以码长N=128,码率R=0.5的极化码为例,实现上述PNND,对于码长N=128,码率R=0.5的极化码的PNND的结构,本发明实施例提供的一种将PNND分为四个子块进行译码的示意图如图3所示。
具体的实现过程如下:
(1)确定信息位与冻结位所在位置。
使用统一的方式确定出信息位所在位置,通常为通过计算巴氏参数Z(W)来选择巴氏参数最大的k个最佳信道来传送信息比特,其余信道传送冻结比特。经过计算得到的信息位信息A,此处为了方便展示将信息位信息A表示为一个8×16的矩阵,记为B,第i行表示1≤i≤16,则
(2)根据信息位的个数将码字分区。
在一定的训练复杂度下,对极化码分区,使各子块的码字长度可以实现神经网络译码。根据(1)中计算出的信息位位置信息矩阵B,在一定的训练复杂度的条件下,将码长N=128,码率R=0.5的极化码的译码分为四个子块进行,第一个子块为码长N=64,信息位个数k=15的极化码,第二个子块为码长N=32,信息位个数k=18的极化码,第三个子块为码长N=16,信息位个数k=15的极化码,第四个子块码长N=16,信息位个数k=16的极化码,四个子块需要分别对其设计适当的神经网络译码器来对其进行译码。
(3)为每一个子块设计不同的NND,对各译码器进行训练。根据各个子块的码长和信息位分别设计各个子块对应的基于深度学习的神经网络译码器,将各个子块对应的基于深度学习的神经网络译码器进行训练。可以选择不同的深度学习模型来实现神经网络译码器,设计模型的网络规模及各个参数,使用2k个全部可能的码字作为训练集,将训练集码字调制,模拟信道传输添加干扰,模拟接收过程计算LLR,最后将LLR传入神经网络译码器中,得出判决结果,根据判决结果与正确结果之间的误差来调整网络中的参数,通过训练集的迭代,基于深度学习的神经网络译码器的误码性能越来越好,直到趋于收敛时训练完成。
(4)将训练好的NND通过SC译码算法进行耦合,利用基于深度学习的神经网络译码器通过SC译码算法分别计算出每个子块的译码结果。
译码器的输入为N比特的LLR信息,首先根据式(2-1)一直计算到第一个子块的LLR信息α,将此信息作为NND1的输入,将第一分区的译码结果根据式(2-3)进行处理,此处需要特别注意,第一分区的译码结果并不是经过一次式(2-3)中的运算,而是一个递归计算的过程。然后根据SC译码算法的计算过程直到计算出第二分区的LLR信息α,将此信息作为NND2的输入,得到第二分区译码结果后,继续上述过程,直到所有子块全部完成译码。
(5)各分区的译码结果按照顺序连接起来得到最终的译码结果,将各个子块的译码结果按照顺序连接起来,得到所述待译码的极化码的译码结果。
2.定长分区的分区神经网络译码器
为了对不同码长不同码率的极化码通用,在对极化码分区时各个分区采用固定的长度,本发明实施例提供的一种定长分区的PNND的基本结构如图4所示。其中NND1,NND2,…,NND2i分别代表码长为2ibits,信息位分别为1,2,…,2i的神经网络译码器。在译码树的第i层开始采用神经网络译码,此时的LLR信息为2ibits,也就是说要对码长为2i的极化码进行译码,因此需要对码长为2i,信息位为1至2i的极化码分别设计神经网络译码器,并预先训练好,在译码时根据信息位的位置信息,计算每2ibits中信息位的比特数,即码率,在译码器选择模块中根据不同的码率选择适当的NND。另外,当全部为冻结比特时,直接输出全0码字。各分区间并不是独立的,当每个分区的神经网络译码器译码完成后,要将译码结果返回至第i层节点中,并根据式(2-3)进行处理后继续向上传递到父节点中。
本发明实施例的定长分区的PNND的译码算法过程为:
(1)根据极化码的码长N和信息位个数k计算出每2i比特码字的码率
(2)定义变量L=N
(3)根据式(2-3)定义任意层数通用的比特转换函数trans(x);
(4)若此时L=2i+1,即此时L等于两倍的定长分区的长度,此时利用当前节点的α信息计算左分支的α信息αl,将其传入与码率匹配的基于深度学习的神经网络译码器中,得到译码结果,将该结果经过trans(x)后得到该左分支节点的β信息,然后当前节点的α信息与左分支的β信息计算出右分支的α信息αr,并将其传入与码率匹配的基于深度学习的神经网络译码器中,得出两个子块判决结果。
若此时L大于两倍的定长分区的长度,此时需要继续左分支的α信息αl的计算,将αl作为α递归执行(4),直到L=2i+1,得到两个子块的译码结果。然后,逐层跳出递归过程,每一层中利用父节点α信息与左分支的β信息计算右分支的α信息αr,将αr作为α信息递归执行(4),直到L=2i+1,得到两个子块的译码结果。
(5)最后,将各个子块的译码结果依次连接,得到最终的译码结果。
综上所述,本发明实施例提供的基于深度学习的极化码分区译码方法是在SC译码算法的基础上,对极化码进行分区译码,各个分区利用神经网络译码器译码,分区间利用SC译码算法耦合。其中各个子块使用NND进行译码,深度学习模型经过训练后是静态的,译码时只需通过神经网络中参数的处理,不需要递归计算,且深度学习可以实现分布式并行计算,在计算速度方面具有强大的优势。因此,本发明的方法可以降低SC译码算法的译码延时,提高极化码的译码效率,从而提升整个通信系统的吞吐率。并且当i的值越大,即每个分区的码长越长时,能够越有效地提高整个译码器的译码速度。
本发明实施例可以将深度学习应用到码长较长的极化码译码中,且经过一次训练可以对任意码长任意码率的极化码进行译码,不再受到训练码长与码率与实际译码码长和码率必须相同的限制。
本发明实施例的方法利用深度学习的计算优势,提高极化码SC译码算法的译码效率,从而提高通信系统的吞吐率。本发明解决了神经网络译码器在适用码长方面的限制,本发明实施例中的方案经过一次训练,可以将基于深度学习的译码器应用到任意码长任意码率的译码过程中。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (7)
1.一种基于深度学习的极化码分区译码方法,其特征在于,包括:
将待译码的极化码划分为多个子块,将各个子块依次串联连接;
利用基于深度学习的神经网络译码器通过SC译码算法分别计算出每个子块的译码结果;
将各个子块的译码结果按照顺序连接起来,得到所述待译码的极化码的译码结果。
2.根据权利要求1所述的方法,其特征在于,所述的将待译码的极化码划分为多个子块,将各个子块依次串联连接,包括:
根据所述待译码的极化码的编码过程获取所述待译码的极化码的信息位位置,根据所述待译码的极化码的信息位位置将所述待译码的极化码划分为多个子块,保证每个子块的神经网络译码器的训练复杂度在实际可行的范围内,所有子块的码长总和等于所述待译码的极化码的码长,所有子块的信息位个数总和等于所述待译码的极化码的信息位个数;
将各个子块按照SC译码算法的顺序从左到右依次串联连接。
3.根据权利要求1所述的方法,其特征在于,所述的利用基于深度学习的神经网络译码器通过SC译码算法分别计算出每个子块的译码结果,包括:
根据各个子块的码长和信息位分别选择不同的深度学习模型来实现各个子块对应的神经网络译码器,使用训练集对神经网络译码器进行训练;
将训练好的各个子块对应的基于深度学习的神经网络译码器通过SC译码算法进行耦合,将所述待译码的极化码根据第一个子块的码长和信息位采用递归算法计算出所述第一个子块的LLR信息,将所述第一个子块的LLR信息作为所述第一个子块对应的基于深度学习的神经网络译码器NND1的输入,NND1输出所述第一个子块的译码结果;根据所述第一个子块的译码结果通过SC译码算法计算出所述第二个子块的LLR信息,将所述第二个子块的LLR信息作为所述第二个子块对应的基于深度学习的神经网络译码器NND2的输入,NND2输出所述第二个子块的译码结果;根据所述第二个子块的译码结果通过SC译码算法计算出所述第三个子块的LLR信息,将所述第三个子块的LLR信息作为所述第三个子块对应的基于深度学习的神经网络译码器NND3的输入,NND3输出所述第三个子块的译码结果;依此类推,直到得到所有子块的译码结果。
4.根据权利要求3所述的方法,其特征在于,所述的使用训练集对神经网络译码器进行训练,包括:
确定神经网络译码器的网络规模及各个参数,使用2k个码字作为训练集,将训练集码字调制,模拟信道传输添加干扰,模拟接收过程计算对数似然比LLR,将LLR传入神经网络译码器中,得出判决结果,根据判决结果与正确结果之间的误差来调整神经网络译码器的参数,通过训练集的迭代进行多次训练,直到神经网络译码器的参数趋于收敛时,神经网络译码器训练完成。
5.根据权利要求3所述的方法,其特征在于,所述的根据第一个子块的码长和信息位采用递归算法计算出所述第一个子块的LLR信息,包括:
第一个子块的LLR信息αl的计算公式如下:
αl[i]=sgn(α[i])sgn(α[i+2s-1])min(|α[i]|,|α[i+2s-1]|)
其中,s表示SC译码树的层数,α[i]表示SC译码树中αl所在节点的父节点包含的LLR信息,α[i+2s-1]表示SC译码树中αl所在节点的父节点包含的LLR信息。
6.根据权利要求5所述的方法,其特征在于,所述的根据所述第一个子块的译码结果通过SC译码算法计算出所述第二个子块的LLR信息,包括:
αr[i]=α[i+2s-1]+(1-2βl[i])α[i]
其中,αr表示SC译码树的右分支的LLR信息,它的计算需要根据父节点的LLR信息α和左分支节点的βl信息,而每个节点的β信息的计算需要该节点的左分支节点的β信息βl和右分支节点的β信息βr。按照SC译码算法的过程依次进行各个子块的译码。
7.根据权利要求3所述的方法,其特征在于,所述的方法还包括:
将待译码的极化码划分为多个子块时,各个子块的码长相等,各个子块的信息位个数分别为1,2,…,2i,i为子块的顺序编号;
根据各个子块的码长和信息位分别设计各个子块对应的基于深度学习的神经网络译码器,将各个子块对应的基于深度学习的神经网络译码器进行训练;
在译码时根据信息位的位置信息,计算每2ibits中信息位的比特数,将该比特数作为码率,在译码器选择模块中根据不同的码率选择对应的基于深度学习的神经网络译码器,将前一个子块的神经网络译码器的译码结果传输到下一个子块的神经网络译码器,直到完成所有子块的译码处理,将各个子块的译码结果按照顺序连接起来,得到所述待译码的极化码的译码结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910532774.1A CN110278001B (zh) | 2019-06-19 | 2019-06-19 | 基于深度学习的极化码分区译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910532774.1A CN110278001B (zh) | 2019-06-19 | 2019-06-19 | 基于深度学习的极化码分区译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110278001A true CN110278001A (zh) | 2019-09-24 |
CN110278001B CN110278001B (zh) | 2020-12-01 |
Family
ID=67961751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910532774.1A Active CN110278001B (zh) | 2019-06-19 | 2019-06-19 | 基于深度学习的极化码分区译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110278001B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110752893A (zh) * | 2019-10-17 | 2020-02-04 | 网络通信与安全紫金山实验室 | 一种用于极化码的置信传播的近似译码方法及装置 |
CN110798228A (zh) * | 2019-10-29 | 2020-02-14 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于深度学习的极化码翻转译码方法及系统 |
CN111490796A (zh) * | 2020-04-24 | 2020-08-04 | 北京交通大学 | 基于动态翻转比特的置信传播译码方法 |
CN111835364A (zh) * | 2020-08-03 | 2020-10-27 | 辽宁工程技术大学 | 一种极化码的低复杂度神经bp译码方法 |
CN113610216A (zh) * | 2021-07-13 | 2021-11-05 | 上海交通大学 | 基于极性转变软信息辅助的多任务神经网络及多磁道检测方法 |
US12015479B2 (en) | 2019-11-22 | 2024-06-18 | Samsung Electronics Co., Ltd. | Method and apparatus to decode packets to compute log likelihood ratio in wireless network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911124A (zh) * | 2017-11-29 | 2018-04-13 | 哈尔滨工业大学 | 一种非递归的sc译码部分和确定方法及装置 |
CN108494523A (zh) * | 2018-01-31 | 2018-09-04 | 北京航空航天大学 | 一种Polar码的多CRC编码方法 |
WO2018201481A1 (en) * | 2017-05-05 | 2018-11-08 | Huawei Technologies Co., Ltd. | Method and device for incremental redundancy hybrid automatic repeat request (ir-harq) re-transmission |
-
2019
- 2019-06-19 CN CN201910532774.1A patent/CN110278001B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018201481A1 (en) * | 2017-05-05 | 2018-11-08 | Huawei Technologies Co., Ltd. | Method and device for incremental redundancy hybrid automatic repeat request (ir-harq) re-transmission |
CN107911124A (zh) * | 2017-11-29 | 2018-04-13 | 哈尔滨工业大学 | 一种非递归的sc译码部分和确定方法及装置 |
CN108494523A (zh) * | 2018-01-31 | 2018-09-04 | 北京航空航天大学 | 一种Polar码的多CRC编码方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110752893A (zh) * | 2019-10-17 | 2020-02-04 | 网络通信与安全紫金山实验室 | 一种用于极化码的置信传播的近似译码方法及装置 |
CN110752893B (zh) * | 2019-10-17 | 2022-05-03 | 网络通信与安全紫金山实验室 | 一种用于极化码的置信传播的近似译码方法及装置 |
CN110798228A (zh) * | 2019-10-29 | 2020-02-14 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于深度学习的极化码翻转译码方法及系统 |
US12015479B2 (en) | 2019-11-22 | 2024-06-18 | Samsung Electronics Co., Ltd. | Method and apparatus to decode packets to compute log likelihood ratio in wireless network |
CN111490796A (zh) * | 2020-04-24 | 2020-08-04 | 北京交通大学 | 基于动态翻转比特的置信传播译码方法 |
CN111490796B (zh) * | 2020-04-24 | 2022-05-20 | 北京交通大学 | 基于动态翻转比特的置信传播译码方法 |
CN111835364A (zh) * | 2020-08-03 | 2020-10-27 | 辽宁工程技术大学 | 一种极化码的低复杂度神经bp译码方法 |
CN111835364B (zh) * | 2020-08-03 | 2023-11-14 | 辽宁工程技术大学 | 一种极化码的低复杂度神经bp译码方法 |
CN113610216A (zh) * | 2021-07-13 | 2021-11-05 | 上海交通大学 | 基于极性转变软信息辅助的多任务神经网络及多磁道检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110278001B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110278001A (zh) | 基于深度学习的极化码分区译码方法 | |
EP3400675B1 (en) | Concatenated and sliding-window polar coding | |
CN105187073B (zh) | 一种极化码的bp译码方法及装置 | |
Choukroun et al. | Error correction code transformer | |
CN106888026B (zh) | 基于lsc-crc译码的分段极化码编译码方法及系统 | |
CN111294058B (zh) | 一种信道编码和纠错译码方法、设备以及存储介质 | |
Be’Ery et al. | Active deep decoding of linear codes | |
CN103929210B (zh) | 一种基于遗传算法与神经网络的硬判决译码方法 | |
CN107517095A (zh) | 一种非均匀分段校验的极化码编译码方法 | |
CN110278002A (zh) | 基于比特翻转的极化码置信传播列表译码方法 | |
CN109921803B (zh) | 基于神经网络的高密度线性分组码译码方法 | |
CN111130567B (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
CN110233698A (zh) | 极化码的编码及译码方法、发送设备、接收设备、介质 | |
Raviv et al. | Crc-aided learned ensembles of belief-propagation polar decoders | |
Doan et al. | Fast SC-flip decoding of polar codes with reinforcement learning | |
CN101552613B (zh) | 基于外信息符号变化的低密度校验码译码方法 | |
Hashemi et al. | Deep-learning-aided successive-cancellation decoding of polar codes | |
Bioglio et al. | Flexible design of Multi-Kernel Polar Codes by reliability and distance properties | |
CN105515588B (zh) | 一种ldpc‑cc高速译码器 | |
CN107276596B (zh) | 一种基于分段Hash序列的极化码译码方法 | |
CN114401016B (zh) | 速率兼容缩短极化码的两阶段构造方法 | |
Judson et al. | Efficient construction of successive cancellation decoding of polar codes using logistic regression algorithm | |
Ma et al. | Deep Learning-Based Detection for Marker Codes over Insertion and Deletion Channels | |
Zhang et al. | Adaptive ProductAE: SNR-Aware Adaptive Decoding of Neural Product Codes | |
CN115276668A (zh) | 一种基于crc的ldpc码混合译码方法 |
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 |