CN112511172B - 一种译码方法、装置、设备及存储介质 - Google Patents
一种译码方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112511172B CN112511172B CN202011256573.2A CN202011256573A CN112511172B CN 112511172 B CN112511172 B CN 112511172B CN 202011256573 A CN202011256573 A CN 202011256573A CN 112511172 B CN112511172 B CN 112511172B
- Authority
- CN
- China
- Prior art keywords
- decoding
- attention
- maximum possible
- error code
- training
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明公开了一种译码方法、装置、设备及存储介质,包括:对目标码按照BF算法进行译码,得到最大可能错误码字的信息;如果所述最大可能错误码字的数量为1个,则直接进行相应的翻转;如果所述最大可能错误码字的数量大于1个,则调用注意力模型计算所述最大可能错误码字的注意力值,利用预先训练得到的seq2seq模型的解码器对所述注意力值及所述最大可能错误码字进行计算,得到相应的正确码字;返回执行对目标码按照BF算法进行译码的步骤,直至确定实现对所述目标码的正确译码为止。可见,本申请能够减少译码的迭代次数和死锁几率,提高译码准确率。
Description
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种译码方法、装置、设备及存储介质。
背景技术
BF算法通过寻找最可能受到噪声干扰而错误的码字进行翻转,当所有错误码字翻转正确,则译码成功。因为错误的码字数量有限,每轮迭代找到独热码进行翻转,然后重新判断译码正确与否以及对应的新的独热码,最终能够翻转得到正确的码字,因此BF译码算法简单有效,对于SNR较为理想的环境可以得到较好的表现。但是这种方法,当出现两个或更多码字的错误几率相同的情况,BF的译码算法就会无法工作,只能通过轮询等方式尝试得到正确译码,增加迭代次数甚至可能进入死锁。
发明内容
本发明的目的是提供一种译码方法、装置、设备及存储介质,能够降低迭代次数和死锁几率,提高译码准确率。
为了实现上述目的,本发明提供如下技术方案:
一种译码方法,包括:
对目标码按照BF算法进行译码,得到最大可能错误码字的信息;
如果所述最大可能错误码字的数量为1个,则直接进行相应的翻转;如果所述最大可能错误码字的数量大于1个,则调用注意力模型计算所述最大可能错误码字的注意力值,利用预先训练得到的seq2seq模型的解码器对所述注意力值及所述最大可能错误码字进行计算,得到相应的正确码字;
返回执行对目标码按照BF算法进行译码的步骤,直至确定实现对所述目标码的正确译码为止。
优选的,调用注意力模型计算所述最大可能错误码字的注意力值,包括:
调用所述注意力模型计算所述最大可能错误码字的初始注意力值;
通过所述最大可能错误码字对应的LDPC编码矩阵行关系、按照mask_fill的方式实现所述初始注意力值的归一化运算,得到所述注意力值。
优选的,预先训练得到所述seq2seq模型,包括:
为不同SNR环境下的模拟噪声添加随机码字得到对应的训练样本;
利用包含所述训练样本的训练集对初始的seq2seq模型进行训练,得到所述seq2seq模型。
优选的,利用包含所述训练样本的训练集对初始的seq2seq模型进行训练,包括:
对所述训练集中每个所述训练样本分别操作得到满足通信编码的信号;
为满足所述通信编码的每个信号加噪声,得到包含噪声的码字信号;
对包含噪声的每个码字信号进行对数似然比的计算,得到相应的计算结果,并利用该计算结果对初始的seq2seq模型进行训练。
优选的,利用预先训练得到的seq2seq模型的解码器对所述注意力值及所述最大可能错误码字进行计算,得到相应的正确码字,包括:
利用所述seq2seq模型的解码器,按照beam search的方法基于所述注意力值对所述最大可能错误码字进行处理,得到相应的正确码字。
优选的,返回执行对目标码按照BF算法进行译码的步骤之前,还包括:
判断执行对目标码按照BF算法进行译码的步骤的次数是否达到预设次数,如果是,则确定无需返回执行对目标码按照BF算法进行译码的步骤,如果否,则确定需要返回执行对目标码按照BF算法进行译码的步骤。
优选的,确定实现对所述目标码的正确译码之后,还包括:
将对所述目标码实现正确译码之后所得的源码,输出至指定终端。
一种译码装置,包括:
定位模块,用于:对目标码按照BF算法进行译码,得到最大可能错误码字的信息;
译码模块,用于:如果所述最大可能错误码字的数量为1个,则直接进行相应的翻转;如果所述最大可能错误码字的数量大于1个,则调用注意力模型计算所述最大可能错误码字的注意力值,利用预先训练得到的seq2seq模型的解码器对所述注意力值及所述最大可能错误码字进行计算,得到相应的正确码字;
循环模块,用于:返回执行对目标码按照BF算法进行译码的步骤,直至确定实现对所述目标码的正确译码为止。
一种译码设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述译码方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述译码方法的步骤。
本发明提供了一种译码方法、装置、设备及存储介质,包括:对目标码按照BF算法进行译码,得到最大可能错误码字的信息;如果所述最大可能错误码字的数量为1个,则直接进行相应的翻转;如果所述最大可能错误码字的数量大于1个,则调用注意力模型计算所述最大可能错误码字的注意力值,利用预先训练得到的seq2seq模型的解码器对所述注意力值及所述最大可能错误码字进行计算,得到相应的正确码字;返回执行对目标码按照BF算法进行译码的步骤,直至确定实现对所述目标码的正确译码为止。本申请在每次利用BF算法对目标码进行译码得到最大可能错误码字的信息后,如果其数量为1个,则可以直接进行翻转,否则,利用注意力模型计算最大可能错误码字的注意力值,进而利用预先训练的seq2seq模型的解码器对注意力值及最大可能错误码字进行计算,得到对应的正确码字,并通过相应步骤的循环,实现目标码中错误的码字的修正,可见,本申请在出现两个或者更多码字的错误几率相同的情况,结合注意力模型及seq2seq模型对这些码字进行修正,从而基于BF算法的特性,在不添加过多额外判断操作的前提下,针对性的改进BF算法译码时的非理想情况操作,实现多比特正确翻转,减少译码的迭代次数和死锁几率,提高译码准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种译码方法的第一种流程图;
图2为本发明实施例提供的一种译码方法中Seq2seq的结构示意图;
图3为本发明实施例提供的一种译码方法中三层预处理的示意图;
图4为本发明实施例提供的一种译码方法中译码方式的示意图;
图5为本发明实施例提供的一种译码方法的第二种流程图;
图6为本发明实施例提供的一种译码装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种译码方法的流程图,具体可以包括:
S11:对目标码按照BF算法进行译码,得到最大可能错误码字的信息。
本发明实施例提供的一种译码方法的执行主体可以为对应的译码装置,且本申请提供的技术方案可以应用于5G(5G:5th generation mobile networks,第五代移动通信技术)环境中。
5G标准规定,LDPC(Low density parity check,低密度校验码)作为5G信道数据编译码的码字标准。具体来说,LDPC是一类线性分组码,可用一个稀疏的非系统的校验矩阵H(n-k)×n定义,该校验矩阵中n为码长、k为信息个数,码字C均满足C×HT=0。校验矩阵中除了少数元素为“1”外,其余大部分元素均是“0”。设校验矩阵为H(n,k),其中行数为m,列数为n;LDPC未编码的源码为s=(s1,s2,s3,…,sk),k=n-m,编码需要求出的是后面m位的校验位p=(p1,p2,…,pm)。
如上式所示,此处m=4,n=8,则源码s长度为4,即k=4,需要求出的校验位p=(p1,p2,p3,p4),编码后码字为c={s;p};按照LDPC的编码策略,以上式为例,数据传输s=(1,1,1,1)时,对应的校验码即为p=(0,1,0,0)。其中,H是协议规定的,在不同的环境下有能够保证任意数据集合有且只有唯一校验码集合的关系矩阵,数据传输时同时发送s、p以及对应的H,收到的数据收到噪声干扰后通过LLR(Log-Likelihood-Ratio,对数似然比)求得可能的0或1的解,然后利用H矩阵校验是否满足H需求的关系,如果满足说明译码正确,否则利用不同的译码算法进行迭代译码。
BF(Bit-Flipping,比特翻转算法)是LDPC的一种经典译码算法,实现简单,对硬件非常友好,在理想情况下可以单向收敛在有限翻转次数内得到正确解。具体来说,BF算法通过寻找最可能受到噪声干扰而错误的码字并对其进行翻转,当所有错误码字翻转正确,则译码成功。以一段码字C(N;K)为例,其中K表示待编码的源码长度为K,N表示对源码进行编码后总码长为N,编码用的LDPC矩阵为Hmn,m表示LDPC矩阵的行数为m,n表示LDPC矩阵的列数为n,利用BF算法实现译码可以提前设定一个最大翻转次数,如果达到最大翻转次数没有译码成功,则要求重传。经典BF算法实现译码如下所示:
(1)译码判定:
Si=S1,S2,...,Sm;Si=H[i,:]*C(i∈m)
(2)错误码字计算:
Ej=E1,E2,...,En;Ej=H[:,j].*Sm(j∈n)
(3)错误码字位置判断:
Ex=max{En}
(4)基于求出的错误码字位置进行翻转。
顺序完成以上(1)至(4)的步骤为一次翻转,然后重新检验译码是否成功,成功则输出,否则重新进入迭代。
需要说明的是,本申请实施例中的目标码为需要实现译码的码字,或者说对源码进行编码所得码字,而对目标码按照BF算法进行译码,即为按照上述步骤(1)至步骤(3)中的公式对目标码进行计算;最大可能错误码字为错误的可能性最大的码字,而得到的最大可能错误码字的信息也即为上述步骤(3)中公式所得结果,即为错误的可能性最大的码字的位置。
S12:如果最大可能错误码字的数量为1个,则直接进行相应的翻转;如果最大可能错误码字的数量大于1个,则调用注意力模型计算最大可能错误码字的注意力值,利用预先训练得到的seq2seq模型的解码器对注意力值及最大可能错误码字进行计算,得到相应的正确码字。
如果基于最大可能错误码字的信息可以确定出最大可能错误码字的数量为1个,则可以直接按照现有技术中的方式对该最大可能错误码字进行翻转,实现此轮译码,进入下一轮迭代,即返回执行步骤S11;如果基于最大可能错误码字的信息可以确定出最大可能错误码字的数量大于1个,则无法按照现有技术中的方式实现相应的翻转,因此则需要调用注意力模型(Attention,NLP中的注意力机制)计算最大可能错误码字的注意力值,进而利用seq2seq(sequence to sequence,序列到序列模型)模型的解码器部分通过注意力值对最大可能错误码字进行处理,则可以得到最大可能错误码字对应的正确的码字,也即为正确码字,从而实现此轮译码,进入下一轮迭代,即返回执行步骤S11。
S13:返回执行对目标码按照BF算法进行译码的步骤,直至确定实现对目标码的正确译码为止。
在每轮迭代之后,还可以判断是否实现对目标码的正确译码,如果是,则可以确定完成对目标码的正确译码,停止迭代,否则,需要继续进入下一轮迭代。其中,在确定是否实现对目标码的正确译码时,可以是按照现有技术的方式基于LDPC译码标准判断对目标码的译码是否正确的,也即将译码所得到的0、1输入到LDPC矩阵去做乘法,然后异或,如果最终结果为0则译码正确,如果为1则有误。
本申请在每次利用BF算法对目标码进行译码得到最大可能错误码字的信息后,如果其数量为1个,则可以直接进行翻转,否则,利用注意力模型计算最大可能错误码字的注意力值,进而利用预先训练的seq2seq模型的解码器对注意力值及最大可能错误码字进行计算,得到对应的正确码字,并通过相应步骤的循环,实现目标码中错误的码字的修正,可见,本申请在出现两个或者更多码字的错误几率相同的情况,结合注意力模型及seq2seq模型对这些码字进行修正,从而基于BF算法的特性,在不添加过多额外判断操作的前提下,针对性的改进BF算法译码的非理想情况操作,实现多比特正确翻转,减少译码的迭代次数和死锁几率,提高译码准确率。
本发明实施例提供的一种译码方法,预先训练得到seq2seq模型,可以包括:
为不同SNR环境下的模拟噪声添加随机码字得到对应的训练样本;
利用包含训练样本的训练集对初始的seq2seq模型进行训练,得到seq2seq模型。
作为AI(Artificial Intelligence,人工智能)中NLP(Natural LanguageProcessing,自然语言处理)的重要模型之一,seq2seq(也可称之为seq2seq模型)一般解决的是从定长到定长或不定长的一种语义向量判断问题,Seq2seq模型属于encoder-decoder结构的一种,基本思想就是利用两个RNN(Recurrent Neural Network,循环神经网络)实现相应的功能,一个RNN作为Encoder,另一个RNN作为Decoder;Encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的输入语义,此过程称为编码,输入序列内相关的关系传递至最后一级C,向量C作为关键参数参与了输出序列的所有时刻节点的运算,以得到满足节点之间相互关系的输出。Seq2seq模型的结构可以如图2所示,图2中的圆圈表示每一个RNN运算单元,单元可以选择LSTM(Long Short-Term Memory,长短期记忆人工神经网络)或GRU(Gated Recurrent Unit,门控循环单元),也可以选择其他RNN单元;本申请实施例中的seq2seq模型可以选择定长对定长的模型,以降低复杂度,提高准确率。
本申请对现有SNR环境下以随机码字为训练集进行基于seq2seq模型结构进行训练,并将训练完成的seq2seq模型进行保存,以在需要时进行使用。具体来说,训练集通过基于SNR(SNR:Signal-Noise-Rate,信噪比)环境下的模拟噪声(如模拟高斯噪声)添加产生的随机码字获得,由于针对不同SNR划分后产生的噪声的影响具有对不同SNR段的体现能力,因此本申请基于大量的模拟噪声添加后的码字情况实现seq2seq模型的训练,能够使得训练所得seq2seq模型可以较好的体现出在此SNR下的噪声和实际码字的关系,进而提高其实现译码时的准确性及有效性。
在实现seq2seq模型的训练时,通过计算获取添加模拟噪声后的码字的LLR关系,该LLR关系能够直接体现信号“0”“1”在噪声影响下的表现关系,因此通过训练可得到实际“0”“1”的关系,具体来说,如图3所示,利用包含训练样本的训练集对初始的seq2seq模型进行训练,可以包括:
对训练集中每个训练样本分别操作得到满足通信编码的信号;
为满足通信编码的每个信号加噪声,得到包含噪声的码字信号;
对包含噪声的每个码字信号进行对数似然比的计算,得到相应的计算结果,并利用该计算结果对初始的seq2seq模型进行训练。
本申请可以对训练集中每个训练样本,基于BPSK或QPSK等不同的需求,对输入的原始0、1码字(训练样本)进行操作得到满足通信编码的信号,此过程可以称之为星座映射;然后基于SNR的环境,得到受到噪声干扰后的码字信号,其中,噪声主要为高斯噪声(高斯白噪声),添加噪声后的关系可表示为:y=x+n,x是星座映射后的信号,n表示基于SNR得到的噪声,最终的输出为y;按照下列公式对y进行相应的计算,得到最终计算结果:
其中,y表示包含噪声的码字信号,p表示码字信号不同值的概率,LLR(y)表示计算所得的y的LLR关系,σ为在此SNR下的方差。图2中Encoder的x1到xn即是得到的LLR输出,通过计算得到语义变量C;然后如图2所示传给Decoder层,按照相关关系计算y1到yn输出0和1分别的概率。
本发明实施例提供的一种译码方法,调用注意力模型计算最大可能错误码字的注意力值,可以包括:
调用注意力模型计算最大可能错误码字的初始注意力值;
通过最大可能错误码字对应的LDPC编码矩阵行关系、按照mask_fill的方式实现初始注意力值的归一化运算,得到注意力值。
本申请在实现注意力值的计算时,通过LDPC编码矩阵行关系影响注意力值的归一化计算,进而得到最终的注意力值。具体来说,在建立attention时,则可以按照下列方式基于LDPC的编码阵建立attention:可知LDPC在编码时基于的是Gallager的编码方法,所构建的矩阵目的是为了保证通过矩阵得到的校验码具有唯一性,且能够恢复唯一且正确的译码数据,因此从attention的注意力机制角度而言,LDPC的编码阵每行的编码有效元(c)本身就具有对于本行的校验码元(p)的相互强相关性,将此作为attention的注意力强化seq2seq模型的译码机制。
如图4所示为本发明基于此所提出的的译码方式,具体来说,在上述的seq2seq模型中加入了attention机制,attention机制的注意力计算方式基于本身的RNN单元获取,并且,在所得到的注意力值上增加了利用LDPC编码矩阵对应码元相互关系的注意力影响。如图4中对于attention放大所示,在计算注意力值时,会通过LDPC编码矩阵行关系,按照mask_fill的方式影响attention的归一化运算。以一个H4,8的LDPC矩阵为例,编码数据为c1~c4,得到的校验码为p1~p4,则对应的本发明运算关系如图4所示。
考虑LDPC编码矩阵对应的mask_fill运算以1为参与attention运算,0为mask掉而不参与attention运算的关系表示为MaskLDPC,则本发明的attention的计算关系为:
eij=a(si-1,hj) (1)
上述公式中,利用MaskLDPC取代了attention的计算关系中的相应参数,具体来说,公式(1)的e计算的是seq2seq模型中encoder(编码器)的对应值,也即通过s和h通过基本的RNN单元计算所得值,s及h分别表示不同的state及对应的值;公式(2)对应的是mask_fill后的attention计算,MaskLDPC为0或1的编码矩阵所表现的有效关系;公式(3)表示最终attention传入seq2seq的context,并运用于seq2seq模型中decoder(译码器)的计算。
本申请调用注意力模型通过最大可能错误码字对应的LDPC编码矩阵行关系、按照mask_fill的方式注意力值的归一化运算,从而使得计算所得注意力值更加准确有效。
本发明实施例提供的一种译码方法,利用预先训练得到的seq2seq模型的解码器对注意力值及最大可能错误码字进行计算,得到相应的正确码字,可以包括:
利用seq2seq模型的解码器,按照beam search的方法基于注意力值对最大可能错误码字进行处理,得到相应的正确码字。
其中,在利用seq2seq模型的解码器部分实现最大可能错误码字的处理时,可以是按照beam search的方法实现的,也即注意力值可以看为相应的几率,然后通过beamsearch选择需要使用的几率实现正确码字的运算;以n=8、k=4的LDPC编码为例,当判断码字为y={1,1,0,1,1,1,1,0}时,假如正确码字应该是c={0,1,1,0,1,0,1,0},可知其中含有三个码字,而通过BF算法判定得到对应码字y1~y8的Ex中E1,E3,E4的值都为最大值,即为最大可能错误码字,在按照beam search的方法基于注意力值对最大可能错误码字进行处理,得到相应的正确码字时,对于seq2seq模型的Decoder部分,首先判断y1,其前后没有相连接的待beam search码字,因此设置k=1,在初始值下搜索最大值进行判断;然后判断y3和y4,因为y3和y4是相连接的两个码字,因此设k=2,首先对y2=1的前提下判断y3和y4组合最大的几率;以下表为例,可知y2=1且y3=1的几率最高,因此判断得到y1和y2的解码为1,完成一轮译码。
y<sub>2</sub>=1情况下 | y<sub>4</sub>=1 | y<sub>4</sub>=0 |
y<sub>3</sub>=1 | 0.15 | 0.63 |
y<sub>3</sub>=0 | 0.2 | 0.02 |
本发明实施例提供的一种译码方法,返回执行对目标码按照BF算法进行译码的步骤之前,还可以包括:
判断执行对目标码按照BF算法进行译码的步骤的次数是否达到预设次数,如果是,则确定无需返回执行对目标码按照BF算法进行译码的步骤,如果否,则确定需要返回执行对目标码按照BF算法进行译码的步骤。
需要说明的是,为了避免由于某些原因导致无论迭代多少次都无法实现目标码的正确译码,进而导致迭代无法停止、浪费资源的情况,本申请可以根据实际需要设置相应的预设次数,从而在迭代次数(即执行对目标码按照BF算法进行译码的步骤的次数是否达到预设次数)达到预设次数时,无论是否实现目标码的正确译码,均停止迭代,也即不再返回执行对目标码按照BF算法进行译码的步骤的次数是否达到预设次数。
本发明实施例提供的一种译码方法,确定实现对目标码的正确译码之后,还可以包括:
将对目标码实现正确译码之后所得的源码,输出至指定终端。
在一些具体应用场景下,可以在实现对目标码的正确译码之后,将译码所得的码字,也即源码,输出给指定终端,以供指定终端对应的人员进行源码的获取及分析等操作。
在一种具体应用场景下,本发明实施例提供的一种译码方法如图5所示,具体可以包括以下步骤:
(1)对目标码进行BF算法的首次译码,得到第一次判断的最大可能错误码字Ex的位置判断。
(2)对BF算法的译码状态进行判断,实现相应的译码:
针对上述运算得到的Ex进行判断,当Ex存在唯一一个最大值时,直接进行翻转,按照BF算法的标准译码,然后开始第二轮迭代及判断。
当Ex存在两个或更多最大值时,记录最大值Ex所在位置和数量以及非最大值位置的译码结果,引入seq2seq模型的Decoder部分,基于Ex的数量和位置开始进行基于连续最大错误码字的beam search。以n=8,k=4的LDPC编码为例,当判断码字为y={1,1,0,1,1,1,1,0}时,假如正确码字应该是c={0,1,1,0,1,0,1,0},可知三个错误的码字,而通过BF的算法判定得到对应码字y1~y8的Ex中E1,E3,E4的值都为最大值。
调用attention通过所判断的Ex进行mask_fill,利用Ex对应的LDPC编码矩阵行关系以及mask_fill计算所得的attention值,按照上述公式(1)-(3)更新归一化后的y得到对应的几率关系,也即注意力值,然后利用beam search基于此几率关系进行译码。再以上述n=8,k=4的LDPC编码为例进行说明对于seq2seq的Decoder部分,对于seq2seq模型的Decoder部分,首先判断y1,其前后没有相连接的待beam search码字,因此设置k=1,在初始值下搜索最大值进行判断;然后判断y3和y4,因为y3和y4是相连接的两个码字,因此设k=2,首先对y2=1的前提下判断y3和y4组合最大的几率。以下表为例,可知y2=1且y3=1的几率最高,因此判断得到y1和y2的解码为1,完成一轮译码。
y<sub>2</sub>=1情况下 | y<sub>4</sub>=1 | y<sub>4</sub>=0 |
y<sub>3</sub>=1 | 0.15 | 0.63 |
y<sub>3</sub>=0 | 0.2 | 0.02 |
(3)迭代并完成译码:
基于LDPC译码标准判断对目标码的译码是否正确,如果正确,则停止迭代,输出结果,如果对目标码的译码不正确,也即不能满足LDPC译码矩阵,则重复第(1)步到(2)步,直至迭代次数达到设置的预设次数,或是对目标码的译码正确,则完成输出。
本发明提出基于attention和seq2seq的LDPC改进BF的译码方法,利用seq2seq模型特性,对编码和译码的关系首先进行判断,得到一个初始的译码判断信息,然后利用attention的机制,结合LDPC编码矩阵对译码的单一有效性,对译码的几率信息进行归一化处理,得到结合LDPC译码特性的更准确的译码判断,以改善BF译码优势无法体现的特殊情况下的译码;从而利用attention的机制,结合LDPC的编码原理,改善attention情况,然后构建深度结合LDPC特性的seq2seq解码模型,可以基于BF的特性,在不添加太多额外判断操作的前提下,针对性的改进BF的非理想情况操作,实现多比特有效翻转,减少译码次数,提高译码准确率。
本发明实施例还提供了一种译码装置,如图6所示,可以包括:
定位模块11,用于:对目标码按照BF算法进行译码,得到最大可能错误码字的信息;
译码模块12,用于:如果最大可能错误码字的数量为1个,则直接进行相应的翻转;如果最大可能错误码字的数量大于1个,则调用注意力模型计算最大可能错误码字的注意力值,利用预先训练得到的seq2seq模型的解码器对注意力值及最大可能错误码字进行计算,得到相应的正确码字;
循环模块13,用于:返回执行对目标码按照BF算法进行译码的步骤,直至确定实现对目标码的正确译码为止。
本发明实施例提供的一种译码装置,译码模块可以包括:
注意力模块,用于:调用注意力模型计算最大可能错误码字的初始注意力值;通过最大可能错误码字对应的LDPC编码矩阵行关系、按照mask_fill的方式实现初始注意力值的归一化运算,得到注意力值。
本发明实施例提供的一种译码装置,还可以包括:
训练模块,用于:为不同SNR环境下的模拟噪声添加随机码字得到对应的训练样本;利用包含训练样本的训练集对初始的seq2seq模型进行训练,得到seq2seq模型。
本发明实施例提供的一种译码装置,训练模块可以包括:
训练单元,用于:对训练集中每个训练样本分别操作得到满足通信编码的信号;为满足通信编码的每个信号加噪声,得到包含噪声的码字信号;对包含噪声的每个码字信号进行对数似然比的计算,得到相应的计算结果,并利用该计算结果对初始的seq2seq模型进行训练。
本发明实施例提供的一种译码装置,译码模块可以包括:
译码单元,用于:利用seq2seq模型的解码器,按照beam search的方法基于注意力值对最大可能错误码字进行处理,得到相应的正确码字。
本发明实施例提供的一种译码装置,还可以包括:
判断模块,用于:返回执行对目标码按照BF算法进行译码的步骤之前,判断执行对目标码按照BF算法进行译码的步骤的次数是否达到预设次数,如果是,则确定无需返回执行对目标码按照BF算法进行译码的步骤,如果否,则确定需要返回执行对目标码按照BF算法进行译码的步骤。
本发明实施例提供的一种译码装置,还可以包括:
输出模块,用于:确定实现对目标码的正确译码之后,将对目标码实现正确译码之后所得的源码,输出至指定终端。
本发明实施例还提供了一种译码设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任一项译码方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项译码方法的步骤。
需要说明的是,本发明实施例提供的一种译码装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种译码方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种译码方法,其特征在于,包括:
对目标码按照BF算法进行译码,得到最大可能错误码字的信息;
如果所述最大可能错误码字的数量为1个,则直接进行相应的翻转;如果所述最大可能错误码字的数量大于1个,则调用注意力模型计算所述最大可能错误码字的注意力值,利用预先训练得到的seq2seq模型的解码器对所述注意力值及所述最大可能错误码字进行计算,得到相应的正确码字;
返回执行对目标码按照BF算法进行译码的步骤,直至确定实现对所述目标码的正确译码为止;
调用注意力模型计算所述最大可能错误码字的注意力值,包括:
调用所述注意力模型计算所述最大可能错误码字的初始注意力值;
通过所述最大可能错误码字对应的LDPC编码矩阵行关系、按照mask_fill的方式实现所述初始注意力值的归一化运算,得到所述注意力值。
2.根据权利要求1所述的方法,其特征在于,预先训练得到所述seq2seq模型,包括:
为不同SNR环境下的模拟噪声添加随机码字得到对应的训练样本;
利用包含所述训练样本的训练集对初始的seq2seq模型进行训练,得到所述seq2seq模型。
3.根据权利要求2所述的方法,其特征在于,利用包含所述训练样本的训练集对初始的seq2seq模型进行训练,包括:
对所述训练集中每个所述训练样本分别操作得到满足通信编码的信号;
为满足所述通信编码的每个信号加噪声,得到包含噪声的码字信号;
对包含噪声的每个码字信号进行对数似然比的计算,得到相应的计算结果,并利用该计算结果对初始的seq2seq模型进行训练。
4.根据权利要求3所述的方法,其特征在于,利用预先训练得到的seq2seq模型的解码器对所述注意力值及所述最大可能错误码字进行计算,得到相应的正确码字,包括:
利用所述seq2seq模型的解码器,按照beam search的方法基于所述注意力值对所述最大可能错误码字进行处理,得到相应的正确码字。
5.根据权利要求4所述的方法,其特征在于,返回执行对目标码按照BF算法进行译码的步骤之前,还包括:
判断执行对目标码按照BF算法进行译码的步骤的次数是否达到预设次数,如果是,则确定无需返回执行对目标码按照BF算法进行译码的步骤,如果否,则确定需要返回执行对目标码按照BF算法进行译码的步骤。
6.根据权利要求5所述的方法,其特征在于,确定实现对所述目标码的正确译码之后,还包括:
将对所述目标码实现正确译码之后所得的源码,输出至指定终端。
7.一种译码装置,其特征在于,包括:
定位模块,用于:对目标码按照BF算法进行译码,得到最大可能错误码字的信息;
译码模块,用于:如果所述最大可能错误码字的数量为1个,则直接进行相应的翻转;如果所述最大可能错误码字的数量大于1个,则调用注意力模型计算所述最大可能错误码字的注意力值,利用预先训练得到的seq2seq模型的解码器对所述注意力值及所述最大可能错误码字进行计算,得到相应的正确码字;
循环模块,用于:返回执行对目标码按照BF算法进行译码的步骤,直至确定实现对所述目标码的正确译码为止;
所述译码模块,包括:
注意力模块,用于:调用注意力模型计算最大可能错误码字的初始注意力值;通过最大可能错误码字对应的LDPC编码矩阵行关系、按照mask_fill的方式实现初始注意力值的归一化运算,得到注意力值。
8.一种译码设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述译码方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述译码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011256573.2A CN112511172B (zh) | 2020-11-11 | 2020-11-11 | 一种译码方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011256573.2A CN112511172B (zh) | 2020-11-11 | 2020-11-11 | 一种译码方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112511172A CN112511172A (zh) | 2021-03-16 |
CN112511172B true CN112511172B (zh) | 2023-03-24 |
Family
ID=74957897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011256573.2A Active CN112511172B (zh) | 2020-11-11 | 2020-11-11 | 一种译码方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511172B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162632B (zh) * | 2021-04-29 | 2022-08-09 | 东方红卫星移动通信有限公司 | 智能qc-ldpc译码方法、译码器及低轨卫星通信系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965705B2 (en) * | 2015-11-03 | 2018-05-08 | Baidu Usa Llc | Systems and methods for attention-based configurable convolutional neural networks (ABC-CNN) for visual question answering |
CN109901945A (zh) * | 2017-12-07 | 2019-06-18 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN110321567B (zh) * | 2019-06-20 | 2023-08-11 | 四川语言桥信息技术有限公司 | 基于注意力机制的神经机器翻译方法及装置、设备 |
-
2020
- 2020-11-11 CN CN202011256573.2A patent/CN112511172B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112511172A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282264B (zh) | 基于比特翻转串行消除列表算法的极化码译码方法 | |
CN108462558B (zh) | 一种极化码scl译码方法、装置及电子设备 | |
TWI663839B (zh) | 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法 | |
KR101330132B1 (ko) | 랩터 코드의 디코딩 | |
CN109075803B (zh) | 具有打孔、缩短和扩展的极化码编码 | |
CN107248866B (zh) | 一种降低极化码译码时延的方法 | |
CN109981112A (zh) | 一种部分循环冗余校验辅助的排序统计译码方法 | |
CN112953554B (zh) | 一种基于分层置信度传播的ldpc译码方法、系统和介质 | |
CN110233698B (zh) | 极化码的编码及译码方法、发送设备、接收设备、介质 | |
CN110995279B (zh) | 一种极化码联合scf球形列表翻转译码方法 | |
CN112511172B (zh) | 一种译码方法、装置、设备及存储介质 | |
Lu et al. | Deep learning aided SCL decoding of polar codes with shifted-pruning | |
CN112953569B (zh) | 译码方法及装置、存储介质、电子设备、译码器 | |
CN112367086B (zh) | 一种基于ldpc的译码方法、装置、设备及存储介质 | |
CN112491422A (zh) | 基于高斯优化的比特翻转串行消除列表译码方法和系统 | |
JP2008544639A (ja) | 復号方法と装置 | |
CN116707707A (zh) | 联合极化检测译码方法及相关设备 | |
CN109560819A (zh) | 一种通用于ldpc码比特翻转译码算法的翻转准则 | |
CN112953568B (zh) | 一种用于删除信道的前向纠错码及其构造方法 | |
CN114430279A (zh) | 一种列表维特比译码方法、装置、译码器和存储介质 | |
Fazeli et al. | Convolutional decoding of polar codes | |
CN110212924B (zh) | 一种lt码编解码方法及系统 | |
CN112332866A (zh) | 一种基于dvb-s与dvb-s2信号的级联码参数识别方法 | |
CN113872609B (zh) | 一种部分循环冗余校验辅助的自适应置信传播译码方法 | |
CN114337691A (zh) | 一种基于Chase-Pyndiah算法的Zipper码软译码方法 |
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 |