CN114430279A - 一种列表维特比译码方法、装置、译码器和存储介质 - Google Patents
一种列表维特比译码方法、装置、译码器和存储介质 Download PDFInfo
- Publication number
- CN114430279A CN114430279A CN202210066858.2A CN202210066858A CN114430279A CN 114430279 A CN114430279 A CN 114430279A CN 202210066858 A CN202210066858 A CN 202210066858A CN 114430279 A CN114430279 A CN 114430279A
- Authority
- CN
- China
- Prior art keywords
- list
- code words
- path metrics
- decoding
- candidate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 87
- 125000004122 cyclic group Chemical group 0.000 claims description 18
- 230000002441 reversible effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000007704 transition Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000007476 Maximum Likelihood Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241000169170 Boreogadus saida Species 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/413—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
-
- 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/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本公开实施例提供一种列表维特比译码方法、装置、译码器和存储介质。其中,所述方法包括:根据环绕次数m和列表大小L,初始化N个列表路径度量;根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;其中,N=L*2M,M为咬尾卷积译码中的编码存储度;M,m,L,k为大于0的整数。本公开实施例提出的列表维特比译码方法能够有效提高译码准确性,并合理控制计算时延。
Description
技术领域
本发明涉及但不限于通信领域,具体涉及一种列表维特比译码方法、装置、译码器和存储介质。
背景技术
现代数字通信系统中,信道编码及译码是重要一环。数字信号在信道的传输过程中,由于实际信道的数字传输特性不理想以及存在加性噪声,在接收端可能产生误码。为了控制差错,增加接收端接收数据的可靠性,在发送端进行信道编码。相应地,接收端进行译码。
咬尾卷积码在信道编码中广泛使用,相应的咬尾卷积码译码方法主要包括两种方法:方法一,维特比方法(Viterbi Algorithm,VA);方法二,环绕维特比方法(Wrap-aroundViterbi Algorithm,WAVA),也称为改进的维特比方法。维特比方法是一种最大似然的动态规划算法,它在每个状态节点选择最优路径,通过降低节点保留的路径数目降低算法搜索的复杂度。
不断改进译码方法,是提高译码准确性的探索方向。
发明内容
本公开实施例提供一种列表维特比译码方法、装置、译码器和存储介质,通过列表方式增加每个状态的保留路径数目,对输出一系列码字进行候选校验,显著增加了译码成功的概率。
本公开实施例提供一种列表维特比译码方法,包括:
根据环绕次数m和列表大小L,初始化N个列表路径度量;
根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码中的编码存储度;M,m,L,k为大于0的整数。
本公开实施例还提供一种列表维特比译码装置,包括:
初始化模块,设置为根据环绕次数m和列表大小L,初始化N个列表路径度量;
前向追踪模块,设置为根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
反向追踪模块,设置为根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
校验模块,设置为对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
选择模块,设置为根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码法中的编码存储度;M,m,L,k为大于0的整数。
本公开实施例还提供一种译码器,包括处理器,所述处理器配置成执行:
根据环绕次数m和列表大小L,初始化N个列表路径度量;
根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码法中的编码存储度;M,m,L,k为大于0的整数。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任一实施例所述的列表维特比译码方法。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为通信系统基本结构示意图;
图2为信道编码流程示意图;
图3为一种4G系统中咬尾卷积编码示意图;
图4为一种M=2的寄存器状态转移过程示意图;
图5为一种维特比译码方法流程图;
图6为一种环绕维特比译码方法流程图;
图7为本公开实施例中一种列表维特比译码方法流程图;
图8为本公开实施例中另一种列表维特比译码方法流程图;
图9为本公开实施例中另一种列表维特比译码方法流程图;
图10为本公开实施例中一实施例仿真结果对比示意图;
图11为本公开实施例中一种列表维特比译码装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在具体记载实施例前,先就本公开涉及的相关术语的缩写说明如下:
现代数字通信系统的基本结构通常如图1所示:
信源:产生待传输信息的二进制比特流。
信道编码器:数字信号在信道的传输过程中,由于实际信道的数字传输特性不理想以及存在加性噪声,在接收端可能产生误码。为了控制差错,现代数字通信系统的信道编码器通常将自动请求重发(Automatic Request,ARQ)检错技术和前向纠错(Forward ErrorCorrection,FEC)编码技术相结合,接收端经过信道译码,提高通信系统信息传输的可靠性。在实际通信系统中,信道编码器包括两个部分,1)添加循环冗余检查(CRC,CyclicRedundancy Check),2)信道编码,其框图如图2所示。
在图2中,D是数据比特的长度,C是循环冗余的长度,R是码率。循环冗余检查在数据比特的根据特定的规则生成长度为的C校验比特,用以检查译码后的接收比特是否正确。信道编码对添加循环冗余检查的数据进一步编码,通过添加冗余信息增加译码的可靠性。现代数字通信系统最常用FEC编码技术有:卷积码、TURBO码、低密度奇偶校验(Low DensityParity Check,LDPC)码、极化码等。
调制器:调制器将信道编码后的二进制比特流映射到(承载于)载波上,其目的是为了提高频谱效率。现代数字通信系统通常采用IQ调制技术,常用的调制方式包括:二进制相移键控(Binary Phase Shift Keying,BPSK)、正交相移键控(Quadrature Phase ShiftKeying,QPSK)、正交幅度调制(Quadrature Amplitude Modulation,QAM)等。
信道:信道即电磁波传播的媒介。无线通信系统的信道即自由空间。
噪声源:噪声源按其来源一般可以分为外部噪声和内部噪声两大类。外部噪声包括自然界存在的各种电磁波干扰;内部噪声指电子器件本身产生的各种噪声。
解调器:解调器根据发送端调制器的调制方式,利用一定的准则,检测出发送端所发送的二进制比特。现代数字通信系统通常采用软解调,从而得到发送比特对应的软比特,即发送比特的对数似然比(Log Likelihood Ratio,LLR),其定义如下:
其中:LLR(vn)表示发送比特vn对应的软比特;pr(yn|vn=a)表示发送比特vn=a时接收到符号yn的条件概率,a∈{0,1};ln(·)表示取对数操作。
信道译码器:信道译码器根据发送端信道编码器所采用的FEC编码技术,采用一定的译码准则,利用解调得到的软比特信息,进行译码,得到发送端发送的二进制比特信息。常见的译码准则包括最大似然(Maximum Likelihood,ML)准则和最大后验概率(Maximum APriori Probability,MAP)准则。通过特定的译码准则译码后获得的码字需要经过循环冗余检查,如果循环冗余检查通过,则说明译码码字正确。
为了方便表述,在本公开实施例中,码字是指信道编码之前的比特序列,发送码字是指信道编码后的比特序列,译码码字是指信道译码后的比特序列,如果译码正确,译码码字应与发送码字相同。
咬尾卷积码(Tail-biting Convolutional Code,TBCC)码是长期演进(LTE,LongTerm Evolution)方案移动通信物理下行控制信道(Physical Downlink ControlChannel,PDCCH)和物理广播信道(Physical Downlink Broadcast,PBCH)的信道编码方案。设计高效准确的咬尾卷积码译码算法对保证LTE系统的通信质量至关重要。同时,由于咬尾卷积码对于短包传输性能良好,它也可能被应用于第五代(Fifth Generation,5G)移动通信或未来移动通信中的机器类型通信(Machine-type Communication,MTC)中。
卷积码通过将当前输入比特和存储在寄存器中的先前比特做异或,获得编码序列。卷积码通常用(M,N,K)来表示,其中K表示发送码字长度,N表示编码码字长度,M为编码储存度,表示寄存器存储比特的数目。咬尾卷积码将发送码字的最后几比特作为存储在寄存器中的初始状态。
根据LTE协议TS 36.212,4G中的咬尾卷积码编码的码率为1/3,其编码生成器如图3所示,在图3中,当输入比特是ck,寄存器状态为a1a2a3a4a5a6时,编码的3个比特分别为: 其中,^表示异或操作。
卷积码的状态转移可以通过网格图表示,对于图3,由于其状态过多,不方便展示,使用一个简单的卷积码来展示状态转移。
考虑一个M=2的卷积码,其状态转移如图4所示。在状态转移的过程中,寄存器右移1比特,并将输入比特填入寄存器最左边的比特位。
以4G方案为例,一种可实现的维特比译码方法,如图5所示,包括:
510)初始化路径度量
将64个路径度量全部初始化为0,其计算公式如下:
520)分支度量计算
分支度量指的是从前一个状态转移到后一个状态的软比特的增量,分支度量的计算公式如下:
其中,表示第k步从状态a转移到状态b的编码序列在第i个数据流上的比特,sgni,k表示第k步第i个数据流上LLR的符号,表示第i个数据流上LLR的绝对值,BMk,a→b表示第k步从状态a转移到状态b的的分支度量。
530)路径度量计算
路径度量是路径上分支度量的累加值。每一步的每一个状态有一个路径度量值,总共有64k个路径度量值。对于特定状态,有两条路径从两个先前状态到达当前状态。将两个先前状态的路径度量分别加上这两条路径上的分支度量,获得两个候选路径度量。从这两个候选路径度量选择最大的路径度量作为当前状态的路径度量,其计算过程如下:
PMk,s=max(PMk-1,a+BMk-1,a→s,PMk-1,b+BMk-1,b→s)
其中,PMk-1,a表示第第k-1步状态a的路径度量,BMk-1,a→s是分支度量,PMk-1,b表示第k-1步状态b的路径度量,BMk-1,b→s是分支度量。
在路径度量计算过程中,会将更新的路径度量存储在路径度量内存中,同时,把选择路径的先前状态的最后一个比特存储在反向追踪内存中。反向追踪内存中存储的比特是路径的编号。
540)选择最佳状态
从64个状态中选择路径度量最大的状态作为最佳状态。
550)反向追踪
从最佳状态开始,向前反向追踪k比特。当追踪第i个比特时,将第i个状态的第1位作为输出比特,将第i个状态的后5位作为第i+1个状态的前5位,将反向追踪内存第k-i+1个比特作为第i+1个状态的最后位比特。
560)反向排序
将反向追踪获得的比特序列反向排序,获得译码码字。
一些示例性实施例中,步骤分支度量计算和路径度量计算合并称为为前向追踪。
进一步地,一种可实现的环维特比译码方法,也称为改进的维特比译码方法或扩展的维特比译码方法。相比于维特比译码方法,需要额外添加软比特扩展和码字选取:首先重复软比特获得扩展接收序列,对扩展接收序列使用维特比算法译码,获得扩展译码码字,之后选取扩展译码码字的中间部分作为最终的译码码字。如图6所示,包括:
610)扩展接收软比特
将接收软比特重复I次,获得扩展接收软比特,其中,I为环绕系数。
620)维特比算法
630)比特选取
选择维特比算法输出的长度为Ik的比特序列的中间k比特作为输出译码码字。
研究发现,上述可实现的译码算法存在以下缺点:1)译码码字不一定是咬尾卷积码的,而发送码字是咬尾卷积的,因而译码码字可能不是发送码字;2)译码算法仅产生一个最大似然的码字,但是由于噪声的影响,最大似然的码字可能不是发送码字。也就是,这些译码算法并不能有效而准确地获得发送码字,其译码性有待进一步提高。
本公开实施例提供一种列表维特比译码方法,按列表大小(数量)扩展状态转移路径,利用列表译码,产生多组码字,保证不是最大似然的发送码字有可能被译码,利用咬尾卷积校验,保证译码码字是咬尾卷积的。
需要说明的是,为了与相关方案中的维特比译码方法相区别,本公开实施例提出的译码方案称为列表维特比译码方案。对于咬尾卷积码,本文所指维特比方法和传统意义上的维特比方法有所差异。传统维特比方法需要从特定的一个状态出发,而咬尾卷积码不清楚初始状态,故本文所提到的维特比方法会从所有状态出发。
本公开实施例提供一种列表维特比译码方法,如图7,包括:
步骤710,根据环绕次数m和列表大小L,初始化N个列表路径度量;
步骤720,根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
步骤730,根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
步骤740,对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
步骤750,根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码中的编码存储度;M,m,L,k为大于0的整数。
其中,M也称为咬尾卷积编码中状态寄存器的比特位数,例如,如图3所示的咬尾卷积编码中,M=6,状态寄存器6位a1a2a3a4a5a6。如图4所示的咬尾卷积编码中的状态寄存器的比特位数为2位,M=2。相应地,状态寄存器中的状态有2M种。
可以理解的是,本公开实施例提供的译码方案中按照列表大小L对状态转移路径进行了L倍的扩展,故此称为列表维特比译码方法,相关路径称为列表路径,路径上各状态的度量称为列表路径度量。因为对状态转移路径进行了L倍的扩展,因此,步骤710进行了N=L*2M个列表路径的路径度量的初始化。
例如,如图3所述的编码对应的译码方法中,N=L*26=64L。
一些示例性实施例中,所述环绕次数m初始值为1;
所述步骤710中N个列表路径度量PM根据以下方法初始化:
其中,G为环绕次数阈值,G为大于或等于2的整数,G根据需要预先设定,表示最多执行多少次环绕。
一些示例性实施例中,步骤720包括:对于每一个当前状态,按照以下方法确定该当前状态的列表路径度量:
确定能到达该当前状态的两个先前状态;
根据两个先前状态的各L个列表路径度量和两个先前状态到达该当前状态的分支度量,确定该当前状态的2L个候选列表路径度量;
按照路径度量降序排列,从所述2L个候选列表路径度量中选择前L个路径度量,作为该当前状态的L个列表路径度量,并保存到路径度量内存中。
可以看到,本公开实施例提供的译码方案,进行L倍的路径扩展,初始化了L*2M个列表路径的路径度量,即对2M个状态各初始化了L个列表路径度量,因此,在进行前向追踪的过程中对于每一个当前状态对应计算L个列表路径度量,这L个列表路径度量根据2个先前状态的各L个列表路径度量和先前状态到当前状态的分支度量计算得到2L个候选列表路径度量,从中选择L个路径度量最大的作为当前状态的列表路径度量。
需要说明的是,上述步骤中当前状态为相对概念,根据如图4所示的篱笆图,可以理解当前状态和先前状态,均是指与某一相同时刻而言的当前状态和先前状态。所述先前状态指列表路径上当前状态(节点)的上一个状态(节点)。步骤720中,根据接收到的软比特数据进行前向追逐,每个时刻对应更新N个列表路径度量,软比特数据对应k个时刻,则对应k*N个列表路径。例如,如图3所述的编码对应的译码方法中,每个时刻更新N=L*26=64L个列表路径度量,k个时刻则更新64*k*L个列表路径度量。
一些示例性实施例中,所述更新k个时刻对应的k*N个列表路径度量,还包括:
对每一个当前状态,将所述L个列表路径度量对应的列表路径上的先前状态的最后一比特数据保存到反向追踪内存中;将所述L个列表路径度量对应的列表路径上的先前状态归属的列表编号保存到列表编号内存中。
一些示例性实施例中,步骤730包括:
在第k个时刻,根据所述反向追踪内存中保存的数据进行反向追踪,更新2M个状态对应在所述反向追踪内存中的数据,并同步更新2M个状态对应在所述列表编号内存中的数据;
根据所述反向追踪内存中的数据,将2M个状态对应的N个第一比特位作为输出,得到所述N个初始码字。
需要说明的是,在一个确定的时刻,每一个状态对应在反追踪内存中有L个数据,对应在在所述列表编号内存中也有L个数据,故每一个时刻共有2M*L=N个状态数据(即状态寄存器的结果)。
一些示例性实施例中,步骤730包括:
根据所述环绕次数m,从所述候选码字中选择一个或多个码字进行循环冗余校验,将校验成功的码字进行比特反向排序,获得所述译码结果。
一些示例性实施例中,所述根据所述环绕次数m,从所述候选码字中选择一个或多个码字进行循环冗余校验,包括:
在m等于1的情况下,从所述候选码字中选择列表路径度量最大的码字进行循环冗余校验;
在m大于1的情况下,对所述候选码字按照列表路径度量降序排序,对排序后的候选码字依次进行循环冗余校验。
可以看到,在环绕次数为1的情况下,选择路径度量最大的码字作为生成码字进行循环冗余CRC校验;在环绕次数大于1的情况下,对列表路径度量排序,按照从大到小的顺序,依此作为生成码字进行CRC校验。如果校验成功,则以校验成功的码字进行反向排序,得到译码结果,译码成功;如果校验失败,则本轮列表维特比译码失败。其中,对于环绕次数大于1的情况,至少一个候选码字校验成功,则至少可得到一个译码码字,译码成功。
一些示例性实施例中,所述方法,如图8所示,还包括:
步骤760,在所述一个或多个码字进行循环冗余校验都失败,且所述环绕次数m小于环绕次数阈值的情况下,将所述环绕次数m加1后,根据新的环绕次数m和列表大小L,再次执行所述列表维特比译码方法。
可以看到,环绕次数m初始为1,在第一次环绕生成的码字CRC校验成功后,则不需要再次执行步骤710-740,在第一次环绕生成的码字CRC校验失败后,则环绕次数m+1,再次执行步骤710-740,相关步骤根据新的环绕次数对应执行即可。考虑到译码效率问题,译码系统设定环绕次数阈值G,最多执行G次环绕,即在环绕次数m小于G的情况下,如果CRC校验失败,才执行m+1,再次环绕,如果环绕次数已经达到G,则不继续环绕,确定译码失败。例如,G等于2,则所述方法最多支持进行2次环绕,如果第二次环绕后CRC校验仍失败,则确定译码失败。
一些示例性实施例中,所述步骤720包括:
按照环绕系数I对接收到的软比特数据进行扩展;
根据扩展后的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
相应地,步骤730包括:
根据第k个时刻的所有状态进行反向追踪,从N个输出长度为I*k的比特序列中分别选择中间k比特得到N个初始码字。
可以看到,上述实施例中,按照环绕维特比译码方法对接收到的软比特数据进行扩展后进行前向追踪和反向追踪,并相应进行比特选取,获得初始码字。具体实施步骤根据相关环绕维特比译码方法执行即可,本申请中不进一步讨论。需要说明的是,一些示例性实施例中,步骤720和步骤730按照环绕维特比相关步骤执行时,所述列表维特比译码方法又称为环绕列表维特比方法。
本公开实施例还提供一种列表维特比译码方法,其中,编码存储度M=6,环绕次数阈值G=2,环绕次数m初始值为1,如图9所示,包括:
步骤910,输入接收到的软比特数据;
步骤920,初始化环绕次数m为1;
步骤930,初始化列表路径度量;
列表大小为L,列表路径度量数目为64L。将编号为65到64L的列表路径度量赋值为-1,如果m=1,将编号为1到64的列表度量赋值为0,如果m>1,编号为1到64的列表路径度量不变,为第1次环绕的分支度量累加后的列表路径度量。列表路径度量初始化公式如下:
其中,G为环绕次数阈值。
步骤940,分支度量计算;
与维特比译码方案中分支度量计算方法一致。一些示例性实施例中,具体方面如步骤520所记载。
步骤950,列表路径度量计算;
每一步每一个状态有L个路径度量值,总共有64L*k个路径度量值。对于确定的当前状态,两个先前状态共有2L个列表路径到达当前状态,该当前状态有2L个候选列表路径度量。从2L个候选路列表径度量中选择最大的L个列表路径度量作为当前状态的列表路径度量,存储于路径度量内存中。将所选择列表路径的先前状态的最后一个比特存储在反向追踪内存中,同时将所选择列表路径的先前状态的列表编号储存在列表编号内存中。
步骤960,反向追踪
从所有状态反向追踪,产生64L个码字(初始码字)。反向追踪的状态更新与维特比方法一致,并且,需要从列表编号内存获取先前状态的列表编号,更新状态的列表编号。
步骤970,咬尾校验
校验反向追踪产生的64L个码字(初始码字)是否是咬尾的,即反向追踪的最开始状态是否与最终状态相同。将咬尾校验通过的码字作为候选码字。
步骤980,码字生成
根据环绕次数的不同,有两种不同的码字生成方法:i)对于第一次环绕,从候选码字中选择路径度量最大的码字,作为生成码字;ii)对于第二次环绕,对候选码字按照路径度量排序,并按路径度量从大到小的顺序,一次选择码字作为生成码字。对生成码字做CRC校验,如果有码字CRC校验通过,则对该码字反向排序后输出,此时,译码成功;如果没有码字CRC校验通过,则译码失败。需要注意的是,如果第一次环绕的码字通过CRC校验,则不需要进入第二次环绕。
可以看到,本公开实施例提供的列表维特比译码方案1)利用咬尾卷积校验,确保译码码字是咬尾卷积的;2)利用列表译码,产生多组码字,使得不是最大似然的发送码字有可能被译码。
一些示例性实施例中,当环绕系数为I=2,列表大小L=2时,与相关方案中的维特比译码方法相比,采用本公开实施例提供的列表维特比译码方法可以将误块率提高0.4-0.5dB;列表大小L=4时,可以将误块率提高0.7-0.8dB。
一些示例性实施例中,相比于环绕维特比译码方法,与本公开实施例中提供的(环绕)列表维特比方法的性能对比如图10所示。其中,仿真参数如下:码块大小K=32,码率为1/3,环绕维特比译码算法的环绕系数I为3,采用本公开实施例提供的(环绕)列表维特比译码方法的环绕系数I为2,列表大小L分别为2和4。
本公开实施例还提供一种列表维特比译码装置1100,如图11所示,包括:
初始化模块1110,设置为根据环绕次数m和列表大小L,初始化N个列表路径度量;
前向追踪模块1120,设置为根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
反向追踪模块1130,设置为根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
校验模块1140,设置为对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
选择模块1150,设置为根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码法中的编码存储度;M,m,L,k为大于0的整数。
本公开实施例还提供一种移动终端,包括如上所述的列表维特比译码装置1100。
本公开实施例还提供一种译码器,包括处理器,所述处理器配置成执行:
根据环绕次数m和列表大小L,初始化N个列表路径度量;
根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码法中的编码存储度;M,m,L,k为大于0的整数。
本公开实施例还提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例中所述的列表维特比译码方法。
本公开实施例还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一实施例中所述的列表维特比译码方法。
本公开实施例提供的列表维特比译码方法,通过列表增加每个(L)状态的保留路径数目,最终输出一系列码字进行CRC校验,相对于传统输出单一码字进行CRC校验的方法,本方法可以增加译码成功的概率;通过咬尾校验选择满足编码特性的码字,排除不满足要求的输出码字;通过环绕增加CRC校验的码字数目,增加译码成功概率;通过对第一次环绕的码字进行CRC校验,提供提前终止算法的可能性,降低时延和功耗。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (11)
1.一种列表维特比译码方法,其特征在于,包括:
根据环绕次数m和列表大小L,初始化N个列表路径度量;
根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码中的编码存储度;M,m,L,k为大于0的整数。
3.如权利要求1所述的方法,其特征在于,
所述根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量,包括:
对于每一个当前状态,按照以下方法确定该当前状态的列表路径度量:
确定能到达该当前状态的两个先前状态;
根据两个先前状态的各L个列表路径度量和两个先前状态到达该当前状态的分支度量,确定该当前状态的2L个候选列表路径度量;
按照路径度量降序排列,从所述2L个候选列表路径度量中选择前L个路径度量,作为该当前状态的L个列表路径度量,并保存到路径度量内存中。
4.如权利要求1-3任一项所述的方法,其特征在于,
所述更新k个时刻对应的k*N个列表路径度量,还包括:
对每一个当前状态,将所述L个列表路径度量对应的列表路径上的先前状态的最后一比特数据保存到反向追踪内存中;将所述L个列表路径度量对应的列表路径上的先前状态归属的列表编号保存到列表编号内存中。
5.如权利要求4所述的方法,其特征在于,
所述根据第k个时刻的所有状态进行反向追踪,得到N个初始码字,包括:
在第k个时刻,根据所述反向追踪内存中保存的数据进行反向追踪,更新2M个状态对应在所述反向追踪内存中的数据,并同步更新2M个状态对应在所述列表编号内存中的数据;
根据所述反向追踪内存中的数据,将2M个状态对应的N个第一比特位作为输出,得到所述N个初始码字。
6.如权利要求1-3任一项所述的方法,其特征在于,
所述根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果,包括:
根据所述环绕次数m,从所述候选码字中选择一个或多个码字进行循环冗余校验,将校验成功的码字进行反向排序,获得所述译码结果。
7.如权利要求6所述的方法,其特征在于,
所述根据所述环绕次数m,从所述候选码字中选择一个或多个码字进行循环冗余校验,包括:
在m等于1的情况下,从所述候选码字中选择列表路径度量最大的码字进行循环冗余校验;
在m大于1的情况下,对所述候选码字按照列表路径度量降序排序,对排序后的候选码字依次进行循环冗余校验。
8.如权利要求6所述的方法,其特征在于,
还包括:
在所述一个或多个码字进行循环冗余校验都失败,且所述环绕次数m小于环绕次数阈值的情况下,将所述环绕次数m加1后,根据新的环绕次数m和列表大小L,再次执行所述列表维特比译码方法。
9.一种列表维特比译码装置,其特征在于,包括:
初始化模块,设置为根据环绕次数m和列表大小L,初始化N个列表路径度量;
前向追踪模块,设置为根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
反向追踪模块,设置为根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
校验模块,设置为对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
选择模块,设置为根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码法中的编码存储度;M,m,L,k为大于0的整数。
10.一种译码器,其特征在于,包括处理器,所述处理器配置成执行:
根据环绕次数m和列表大小L,初始化N个列表路径度量;
根据接收到的软比特数据,对N个列表路径进行前向追踪,更新k个时刻对应的k*N个列表路径度量;
根据第k个时刻的所有状态进行反向追踪,得到N个初始码字;
对所述N个初始码字进行咬尾校验,确定通过咬尾校验的码字为候选码字;
根据所述环绕次数m,从所述候选码字中确定一个或多个码字为译码结果;
其中,N=L*2M,M为咬尾卷积译码法中的编码存储度;M,m,L,k为大于0的整数。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的列表维特比译码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210066858.2A CN114430279B (zh) | 2022-01-20 | 2022-01-20 | 一种列表维特比译码方法、装置、译码器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210066858.2A CN114430279B (zh) | 2022-01-20 | 2022-01-20 | 一种列表维特比译码方法、装置、译码器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114430279A true CN114430279A (zh) | 2022-05-03 |
CN114430279B CN114430279B (zh) | 2024-06-07 |
Family
ID=81313828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210066858.2A Active CN114430279B (zh) | 2022-01-20 | 2022-01-20 | 一种列表维特比译码方法、装置、译码器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114430279B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115498999A (zh) * | 2022-09-16 | 2022-12-20 | 武汉市聚芯微电子有限责任公司 | 基于分频和时钟加速的相位追踪环路和方法及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161210A (en) * | 1998-04-03 | 2000-12-12 | Lucent Technologies Inc. | List Viterbi algorithms for tailbiting convolutional codes |
CN101667840A (zh) * | 2009-09-08 | 2010-03-10 | 华为技术有限公司 | 一种咬尾译码方法及装置 |
CN102904667A (zh) * | 2011-07-27 | 2013-01-30 | 杰脉通信技术(上海)有限公司 | 一种用于lte中pbch解码的咬尾卷积码译码方法 |
US20160065245A1 (en) * | 2014-08-29 | 2016-03-03 | Samsung Electronics Co., Ltd. | Electronic system with viterbi decoder mechanism and method of operation thereof |
CN107667495A (zh) * | 2015-04-08 | 2018-02-06 | 瑞典爱立信有限公司 | 对具有已知或假设差异的消息解码 |
GB202116537D0 (en) * | 2020-11-18 | 2021-12-29 | Nvidia Corp | Control data bandwidth allocation for fifth generation (5g) new radio communications |
-
2022
- 2022-01-20 CN CN202210066858.2A patent/CN114430279B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161210A (en) * | 1998-04-03 | 2000-12-12 | Lucent Technologies Inc. | List Viterbi algorithms for tailbiting convolutional codes |
CN101667840A (zh) * | 2009-09-08 | 2010-03-10 | 华为技术有限公司 | 一种咬尾译码方法及装置 |
CN102904667A (zh) * | 2011-07-27 | 2013-01-30 | 杰脉通信技术(上海)有限公司 | 一种用于lte中pbch解码的咬尾卷积码译码方法 |
US20160065245A1 (en) * | 2014-08-29 | 2016-03-03 | Samsung Electronics Co., Ltd. | Electronic system with viterbi decoder mechanism and method of operation thereof |
CN107667495A (zh) * | 2015-04-08 | 2018-02-06 | 瑞典爱立信有限公司 | 对具有已知或假设差异的消息解码 |
GB202116537D0 (en) * | 2020-11-18 | 2021-12-29 | Nvidia Corp | Control data bandwidth allocation for fifth generation (5g) new radio communications |
Non-Patent Citations (1)
Title |
---|
JAE-WON KIM: "A New List Decoding Algorithm for Short-Length TBCCs With CRC", IEEE, no. 6, 14 July 2018 (2018-07-14), pages 35105 - 35111 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115498999A (zh) * | 2022-09-16 | 2022-12-20 | 武汉市聚芯微电子有限责任公司 | 基于分频和时钟加速的相位追踪环路和方法及电子设备 |
CN115498999B (zh) * | 2022-09-16 | 2023-08-29 | 武汉市聚芯微电子有限责任公司 | 基于分频和时钟加速的相位追踪环路和方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114430279B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10917112B2 (en) | Apparatus and methods for error detection coding | |
US11025278B2 (en) | Polar coding encoding/decoding method and apparatus | |
US6085349A (en) | Method for selecting cyclic redundancy check polynomials for linear coded systems | |
WO2014059780A1 (zh) | 一种编译码的方法、装置及系统 | |
US9444494B2 (en) | Systems and methods for network coding using convolutional codes | |
US20190379484A1 (en) | Low Complexity Blind Detection of Code Rate | |
EP2599228A1 (en) | Decoding technique for tail-biting codes | |
CN109428670A (zh) | 一种数据差错校验方法及装置、计算机存储介质 | |
KR20210006807A (ko) | 통신 시스템에서 신호 송수신 장치 및 방법 | |
KR101612294B1 (ko) | 통신 시스템에서 복호화를 위한 장치 및 방법 | |
CN112953569B (zh) | 译码方法及装置、存储介质、电子设备、译码器 | |
CN114430279B (zh) | 一种列表维特比译码方法、装置、译码器和存储介质 | |
CN108134612B (zh) | 纠正同步与替代错误的级联码的迭代译码方法 | |
CN112152638A (zh) | 一种基于Q学习算法的Spinal码编译码交织策略及装置 | |
CN112953561B (zh) | 基于极化码的空间耦合编码方法及系统、译码方法及系统 | |
CN102291198B (zh) | 信道译码方法和装置 | |
CN114499548B (zh) | 一种译码方法、装置及存储介质 | |
CN112994704B (zh) | 译码提前终止方法、存储介质、电子设备 | |
CN114448448B (zh) | 一种基于ca-scl的极化码编译码方法 | |
KR20190016296A (ko) | 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법 | |
CN114567334A (zh) | 一种译码方法、装置、译码器和存储介质 | |
CN114785451B (zh) | 上行图像分割多址接入传输的接收方法、装置及存储介质 | |
CN102916707A (zh) | 兼容卷积码生成多项式确定方法、编码方法及编码器 | |
JP2001257602A (ja) | データ誤り訂正方法及び装置 | |
KR102706925B1 (ko) | 통신 시스템에서 극부호의 복호화 장치 및 방법 |
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 |