CN113765622A - 分支度量初始化方法、装置、设备及存储介质 - Google Patents
分支度量初始化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113765622A CN113765622A CN202110992090.7A CN202110992090A CN113765622A CN 113765622 A CN113765622 A CN 113765622A CN 202110992090 A CN202110992090 A CN 202110992090A CN 113765622 A CN113765622 A CN 113765622A
- Authority
- CN
- China
- Prior art keywords
- branch metric
- length
- sub
- window
- initial value
- 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
- 238000011423 initialization method Methods 0.000 title claims abstract description 34
- 238000005259 measurement Methods 0.000 title description 7
- 238000012549 training Methods 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000007476 Maximum Likelihood Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 abstract description 22
- 238000004891 communication Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 10
- 230000009897 systematic effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 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
- 230000008054 signal transmission Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
- H04L1/0058—Block-coded modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种分支度量初始化方法、装置、设备及存储介质,属于通信技术领域。本发明通过尾比特长度及需求的引擎数量对信道中卷积码的码块进行切分,可根据用户需求自行增加计算引擎数量,得到若干子块,将子块的长度按照设定的窗口长度进行划分,并将不满足设定窗口长度的末尾子块与尾比特长度进行计算得到目标数量的子块窗口;通过引擎处理自身分配的窗口并根据初始化训练序列对子块窗口进行训练得到子块窗口的分支度量初始值并基于此分支度量初始值对卷积码进行解码,通过初始化训练序列得到可靠性更高的分支度量初始值,基于可靠性更高的分支度量初始值对卷积码进行解码,提高了解码的准确率,降低了误码率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种分支度量初始化方法、装置、设备及存储介质。
背景技术
并行级联卷积码在加性高斯白噪声(Additive White Gaussian Noise,AWGN)信道下能够接近理论上的香农限,广泛应用于2G、3G与4G的信道编码,但最大后验概率解码过程较为复杂,储存空间需求较大,吞吐率较低。
现有的解码器方案现有的解码器方案通常利用多个软输入软输出计算引擎同时解码来提高吞吐率,而每个引擎均采用滑动窗流水线解码方式,能够以误码率为代价降低实时计算需要的储存空间。由于最大后验概率解码的计算过程是递归式的,而应用最广泛的并行与加窗计算在时序上的特性导致绝大多数计算的分支度量初始化值未知,一定程度上增高了误码率。为了缓解这一缺点,目前是采用重复译码进行初始化或额外计算特定窗口的分支度量一次,得到的值储存并初始化下一次迭代的毗邻窗口,而这两种方法的分支度量初始化并不全面导致分支度量初始值不准确,提高了误码率。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种分支度量初始化方法、装置、设备及存储介质,旨在解决现有技术计算分支度量初始化值不准确的技术问题。
为实现上述目的,本发明提供了一种分支度量初始化方法,所述方法包括以下步骤:
在对信道的传输数据进行解码时,获取信道中卷积码的子块长度;
根据所述子块长度及预设尾比特长度得到目标数量的子块窗口;
根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值;
根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率。
可选地,所述根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值,包括:
获取预设训练数组的分支度量初始值;
根据所述预设训练数组的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值。
可选地,所述根据所述预设训练数组的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值,包括:
根据所述预设训练数组的分支度量初始值计算预设训练数组的分支度量结束值;
将所述预设训练数组的分支度量结束值作为目标子块窗口的分支度量初始值;
根据所述目标子块窗口的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值。
可选地,所述获取信道中卷积码的子块长度,包括:
获取信道中卷积码的长度;
根据所述卷积码的长度、预设尾比特长度及预设引擎数量得到信道中卷积码的子块长度。
可选地,所述根据所述卷积码的长度、预设尾比特长度及预设引擎数量得到信道中卷积码的子块长度,包括:
根据所述卷积码的长度及预设尾比特长度得到卷积码的目标长度;
将所述目标长度与预设长度进行比较;
根据比较结果及预设引擎数量对所述目标长度进行切分得到信道中卷积码的子块长度。
可选地,所述根据所述子块数量及预设尾比特长度得到目标数量的子块窗口,包括:
将所述子块数量中的每个子块按照预设窗口长度进行划分得到参考数量的子块窗口;
获取所述参考数量的子块窗口中的末尾子块窗口的长度;
将所述末尾子块窗口的长度与预设窗口长度进行比较;
根据比较结果及预设尾比特长度对所述子块窗口的数量进行更新,得到目标数量的子块窗口。
可选地,所述根据所述分支度量初始值对所述卷积码进行解码,包括:
获取所述卷积码的比特数据与外部信息;
根据所述分支度量初始值、比特数据以及外部信息计算目标分支度量数组;
根据所述目标分支度量数组及比特数据得到最大似然比数据;
根据所述最大似然比数据确定所述卷积码的解码结果。
此外,为实现上述目的,本发明还提出一种分支度量初始化装置,所述分支度量初始化装置包括:
获取模块,用于在对信道的传输数据进行解码时,获取信道中卷积码的子块长度;
所述获取模块,还用于根据所述子块长度及预设尾比特长度得到目标数量的子块窗口;
确定模块,用于根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值;
解码模块,用于根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率。
此外,为实现上述目的,本发明还提出一种分支度量初始化设备,所述分支度量初始化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分支度量初始化程序,所述分支度量初始化程序配置为实现如上文所述的分支度量初始化方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有分支度量初始化程序,所述分支度量初始化程序被处理器执行时实现如上文所述的分支度量初始化方法的步骤。
本发明通过在对信道的传输数据进行解码时,获取信道中卷积码的子块长度;根据所述子块长度及预设尾比特长度得到目标数量的子块窗口;根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值;根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率;通过尾比特长度及需求的引擎数量对信道中卷积码的码块进行切分,可根据用户需求自行增加计算引擎数量,得到若干子块,将子块的长度按照设定的窗口长度进行划分,并将不满足设定窗口长度的末尾子块与尾比特长度进行计算得到目标数量的子块窗口;通过引擎处理自身分配的窗口并根据初始化训练序列对子块窗口进行训练得到子块窗口的分支度量初始值并基于此分支度量初始值对卷积码进行解码,通过初始化训练序列得到可靠性更高的分支度量初始值,基于可靠性更高的分支度量初始值对卷积码进行解码,提高了解码的准确率,降低了误码率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的分支度量初始化设备的结构示意图;
图2为本发明分支度量初始化方法第一实施例的流程示意图;
图3为本发明分支度量初始化方法中卷积码码块切分示意图;
图4为本发明分支度量初始化方法中子块窗口切分示意图;
图5为本发明分支度量初始化方法中子块窗口切分举例示意图;
图6为本发明分支度量初始化方法第二实施例的流程示意图;
图7为本发明分支度量初始化方法初始化训练序列训练示意图;
图8为本发明分支度量初始化方法分支度量初始化计算示意图;
图9为本发明分支度量初始化方法第三实施例的流程示意图;
图10为本发明分支度量初始化方法卷积码解码过程图;
图11为本发明分支度量初始化装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的分支度量初始化设备结构示意图。
如图1所示,该分支度量初始化设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对分支度量初始化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分支度量初始化程序。
在图1所示的分支度量初始化设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明分支度量初始化设备中的处理器1001、存储器1005可以设置在分支度量初始化设备中,所述分支度量初始化设备通过处理器1001调用存储器1005中存储的分支度量初始化程序,并执行本发明实施例提供的分支度量初始化方法。
本发明实施例提供了一种分支度量初始化方法,参照图2,图2为本发明一种分支度量初始化方法第一实施例的流程示意图。
本实施例中,所述分支度量初始化方法包括以下步骤:
步骤S10:在对信道的传输数据进行解码时,获取信道中卷积码的子块长度。
应理解的是,本实施例的执行主体可以为实现对信道的传输数据进行解码的解码器或译码器,也可为其他能实现解码的解码设备,本实施例对此不做限定。
需要说明的是,解码是指将接受到的符号或代码还原为信息的过程;信道是指通信的通道,是信号传输的媒介。卷积码是信道编码的一种,信道编码被用于物理层,减少因信道传输造成的误码。
在具体实施中,通过在最大后验概率算法对并行级联卷积码解码过程的每次半迭代中,获取信道中卷积码的码长长度,对于所有3GPP标准(移动通信标准)码长的码块,减去尾比特长度,本实施例中预设尾比特长度为提前设定的尾比特长度,尾比特长度为3,对于小于等于128的码长,切分成等长的4块,由4个引擎分别计算,尾比特长度分配给引擎4;对于长于128的码长,切为等分长的8块,由8个引擎分别计算,尾比特长度分配给引擎8,如图3所示,图3展示了长度小于128的卷积码码块,切分为等长的4块,得到4个子块,长度大于128的卷积码码块,切为等分长的8块,得到8个子块,并将尾比特分配给最后一个子块的引擎即引擎8。
应理解的是,此码块切分方法可适用于任意并行级联卷积码,可以根据自己的需求增加计算引擎数量(2n),例如对于减去尾比特长度后,长度为120的码块,可选择引擎数量为4,则根据切分方法可得到4个子块,则每个子块的长度为30,再将尾比特长度分配给引擎4,则子块1至子块3的长度为30,尾比特长度为3,将尾比特分配给引擎4。再例如对于减去尾比特长度后,码长为1600的码块,8引擎,切分为8块,每个子块的长度为200,将尾比特分配给引擎8。相应地,将尾比特加入引擎4或者引擎8,表明此码块的切分结束,尾比特主要起到标识作用。
步骤S20:根据所述子块长度及预设尾比特长度得到目标数量的子块窗口。
应理解的是,预设尾比特长度在本实施例中指的是长度为3的尾比特,目标数量的子块窗口是指按照32个接收比特为窗口的最大长度将每个子块进行划分得到的若干数量的子块窗口。
进一步地,所述步骤S20,根据所述子块长度及预设尾比特长度得到目标数量的子块窗口具体包括:将所述子块数量中的每个子块按照预设窗口长度进行划分得到参考数量的子块窗口;获取所述参考数量的子块窗口中的末尾子块窗口的长度;将所述末尾子块窗口的长度与预设窗口长度进行比较;根据比较结果及预设尾比特长度对所述子块窗口的数量进行更新,得到目标数量的子块窗口。
应理解的是,预设窗口长度指的是32个接收比特为窗口最大长度,将子块长度按照32个比特窗口长度进行划分,划分为n个窗口即得到参考数量的子块窗口,例如非末尾子块长度为80,将长度为80的子块进行划分得到参考数量为3的子块窗口,窗口1和窗口2的长度为32,窗口3长度为16。末尾子块长度为80,则划分为参考数量为3的子块窗口,窗口3的长度为16,将16加上尾比特长度3之后小于32,则将尾比特并入该窗口3,即得到目标数量为3的子块窗口,窗口1和窗口2长度为32,窗口3长度为19。
在具体实施中,如图4所示,根据卷积码子块的长度,按照32个接收比特为窗口的最大长度进行划分,划分为n个窗口,对于每一个子块,可能存在末尾窗口n长度小于32的情况;根据尾比特长度判断当前需要划分窗口的子块是否为末尾子块,对于最后一个子块的末尾窗口n,如果其长度加上尾比特长度小于窗口最大长度32,则将尾比特的长度并入该窗口,否则尾比特部分将独立并单独作为一个窗口n+1进行处理。如图5所示,例如,减去尾比特长度后的卷积码的码块长度为752,按照8引擎进行切分,得到8个子块,每个子块长度为94;对于子块7,按照32个接收比特为窗口的最大长度进行划分,得到3个窗口,窗口1和窗口2长度为32,窗口3的长度为30,即目标数量的子块窗口为3;对于末尾子块即子块8,按照32个接收比特为窗口的最大长度进行划分,得到3个窗口,窗口1和窗口2长度为32,窗口3的长度为30,末尾窗口即窗口3的长度为30,长度小于32。将窗口3的长度加上尾比特长度得到长度为33,大于窗口的最大长度,则将尾比特部分独立出来,并单独作为一个窗口,得到子块8的目标窗口数量为4,窗口1和窗口2长度为32,窗口3长度为30,窗口4长度为3。
步骤S30:根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值。
应理解的是,初始化训练序列指的是训练每个子块窗口的Alpha(α)和Beta(β)的分支度量数组来计算初始化,并根据训练序列得到子块窗口的分支度量初始值。
需要说明的是,分支度量值指的是卷积码的网格结构的分支值。
在具体实施中,通过对子块窗口的α和β进行训练得到子块窗口的分支度量初始值。
步骤S40:根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率。
在具体实施中,通过获得窗口的分支度量初始值计算窗口内的有效分支度量值,并根据有效的分支度量值计算最大似然比数据,通过最大似然比数据判断迭代过程,并根据迭代过程输出卷积码的解码结果,可通过对卷积码的解码提高解码的准确率,降低了解码的误比特率。
本实施例通过在对信道的传输数据进行解码时,获取信道中卷积码的子块长度;根据所述子块长度及预设尾比特长度得到目标数量的子块窗口;根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值;根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率;通过尾比特长度及需求的引擎数量对信道中卷积码的码块进行切分,可根据用户需求自行增加计算引擎数量,得到若干子块,将子块的长度按照设定的窗口长度进行划分,并将不满足设定窗口长度的末尾子块与尾比特长度进行计算得到目标数量的子块窗口;通过引擎处理自身分配的窗口并根据初始化训练序列对子块窗口进行训练得到子块窗口的分支度量初始值并基于此分支度量初始值对卷积码进行解码,通过初始化训练序列得到可靠性更高的分支度量初始值,基于可靠性更高的分支度量初始值对卷积码进行解码,提高了解码的准确率,降低了误码率。
参考图6,图6为本发明一种分支度量初始化方法第二实施例的流程示意图。
基于上述第一实施例,本实施例分支度量初始化方法所述步骤S30,具体包括:
步骤S31:获取预设训练数组的分支度量初始值。
需要说明的是,预设训练数组指的是Alpha和Beta的分支度量初始值数组。
应理解的是,在初次迭代中,各个引擎以流水线的方式处理自身分配的窗口,Alpha和Beta分支度量的计算需要初始值,而在同一解码内(上或下解码器自身不同半迭代之间):对于Alpha,除了分块1起始窗口的分支度量初始值为已知外,其余全部窗口均为未知,对于Beta,除了最后一个引擎的最后一个窗口的Beta分支度量初始值为已知外,其余全部窗口均为未知,无法通过SMP获得训练序列初始化值。
在具体实施中,可通过计算Alpha和Beta训练路径获得分块2及其后的分块的起始窗口的Alpha和Beta的初始值。
在本实施例中,根据初次迭代,即通过计算训练序列,储存对应(训练序列起始位置)的分支度量结束值(选择计算路径最长的过程)作为下次迭代的分支初始值,本实施例中的SMP表示:在训练序列计算的基础上,对于窗口m,Alpha和Beta分别计算得到窗口m-2/m+2的Alpha和Beta的分支度量结束值,作为这次迭代对于Alpha/Beta训练序列的分支度量计算初始值,通过SMP传递的信息初始化训练序列分支度量计算,得到的结束值作为对应窗口计算的分支初始值。
步骤S32:根据所述预设训练数组的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值。
在具体实施中,对于同一引擎内的窗口,可以通过多计算一位Alpha的分支度量得到下一个窗口的起始Alpha,即同一引擎内窗口i的Alpha分支度量结束值可以作为窗口i+1的分支度量起始值。而由于窗口内的Beta时序上无法逆向传递分支度量,因此在初次迭代中采用训练序列Beta计算来初始化,即窗口m的Beta分支度量初始值由窗口m+1的Beta分支度量结束值为分支度量初始化。进一步地,步骤S32具体包括:根据所述预设训练数组的分支度量初始值计算预设训练数组的分支度量结束值;
将所述预设训练数组的分支度量结束值作为目标子块窗口的分支度量初始值;
根据所述目标子块窗口的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值。
需要说明的是,根据子块的位置n,子块窗口为子块n的起始窗口,目标子块窗口为子块n-1的起始窗口及子块n+1的末尾子块窗口。
应理解的是,Alpha训练路径(令其为分块n)计算的部分为上一个分块的末尾窗口,其初始值可以通过上一次迭代中分块n-1的Alpha结束值获得。窗口m的Beta初始值由窗口m+1的Beta的结束值为分支度量初始化的初始值。初始化训练过程(上或下解码器)如图7所示,其中窗口1和窗口2代表的是子块1和子块2,w1至w5表示子块中的每个窗口,由于w1的Alpha分支度量初始值是已知的,将w1的Alpha初始值通过递归式计算最终得到w4的分支度量结束值,基于SMP原理,将w4的分支度量结束值作为训练序列的分支度量初始值,并通过训练序列的分支度量初始值得到子块2的起始窗口w1的分支度量初始值;由于子块2的末尾窗口的Beta分支度量初始值是已知的,通过训练序列+SMP的Beta计算得到除了末尾子块的最后一个窗口的所有窗口的Beta分支度量初始值,并按需记录子块窗口的分支度量结束值,以根据特定索引用于下次迭代中。
在具体实施中,对于上下解码器传递的分支度量信息必须单独储存。
需要说明的是,根据分支度量计算的规律,SMP原理如图8所示,在训练序列Alpha或Beta的计算中,由于只需要对应的分支度量结束值作为相应Alpha或Beta计算的分支度量初始值因此不需要计算另一侧分支度量。
本实施例中,通过获取所述子块窗口中起始窗口的分支度量初始值及预设训练常数的分支度量初始值;将所述起始窗口的分支度量初始值以及预设训练常数的分支度量初始值计算得到所述子块窗口的分支度量初始值。根据起始窗口的状态度量初始值和训练序列Alpha或Beta的计算,通过多计算一位Alpha的分支度量得到下一个窗口的起始Alpha,并通过训练序列将下一窗口的Beta结束值作为当前窗口的Beta初始值,并将传递的分支度量信息单独储存,获得更为准确的子块窗口的分支度量初始值。
参考图9,图9为本发明一种分支度量初始化方法第三实施例的流程示意图。
基于上述第一实施例,本实施例分支度量初始化方法所述步骤S40,具体包括:
步骤S41:获取所述卷积码的比特数据与外部信息。
应理解的是,卷积码的比特数据指的是系统比特、校验比特及根据交织系统比特产生的校验比特数据,外部信息指的是第一次迭代时全部为0的一维数组,用以计算得到目标分支度量数组。
在具体实施中,具体解码过程如图10所示,x1为系统比特数据,z1位校验比特数据,z′1位根据交织系统比特产生的校验比特数据,由于迭代过程在时间上的特性,上解码器与下解码器使用的是同一套硬件进行计算并存储过程变量,上解码器指代处理系统码、校验码(x,z)时的解码器,下解码器指代处理交织系统码、(交织)校验码(x′,z′)时的解码器,仅用于过程上的区分便于表现迭代。
步骤S42:根据所述分支度量初始值、比特数据以及外部信息计算目标分支度量数组。
应理解的是,目标分支度量数组指的是根据分支度量初始值和比特数据及外部信息计算得到的窗口范围内的有效分支度量数组,分支度量初始值是根据上述训练序列Alpha和Beta计算得到的,有Alpha和Beta的分支度量:
有Gamma度量:
其中y与x分别为接收/发射比特,后者取值范围为[1,-1]。P与s上下标分别代表编码与系统比特。计算中N0一般取固定值,K为常数项,lnPr{Sk|Sk-1}为先验信息项。
则每个比特的对数似然比(Log likelihood Ratio,LLR)计算为:
分支度量推导计算中系统比特dk=1时:
分支度量推导计算中系统比特dk=0时:
其中,L(dk)为:
计算中,L(dk)为输出软比特减去输入的先验信息再减去对应的系统信息。
相应地,为了快速地计算得到每个比特的对数似然比数据,可将上述计算数据进行定点化和归一化处理,如表1所示,将输入/输出软比特、Alpha/Beta分支度量、SMP等相关数据进行定点化和归一化处理。
需要说明的是,在每个窗口计算中,Alpha,Beta除了在计算末尾时对输出的SMP值进行x=x-max(x)处理外,取决于递推顺序,分支度量第十六位需要分别减去上一位(Alpha,第15位)或后一位(Beta,第17位)的000状态对应的数据,如:Alphas(16,:)=Alphas(16,:)′Alphas(15,1),能够确保较大的动态范围和精确度。
表1定点化与归一化处理表
步骤S43:根据所述目标分支度量数组及比特数据得到最大似然比数据。
应理解的是,上解码器通过下解码器提供的先验信息、外界输入的系统软比特x1与校验软比特x2进行解码得到LLR(最大似然比数据)与(先验)外部信息,并将LLR与外部信息存储以供后续迭代解码,这部分先验外部信息经过交织器改变索引后输入到下解码器作为后者的先验信息;下解码器通过上解码器提供的先验信息,交织后的系统软比特x′与交织校验软比特z′2计算LLR与外部信息。
在具体实施中,通过训练序列得到每个窗口的部分LLR,根据目标分支度量数组及比特数据对每个窗口的部分LLR进行拼接,得到完整的LLR即最大似然比数据。
步骤S44:根据所述最大似然比数据确定所述卷积码的解码结果。
在具体实施中,上解码器通过LLR进行循环冗余校验(Cyclic RedundancyCheck,CRC)判决,正确则会提前终止迭代并输出,否则继续迭代;下解码器通过解交织后进行CRC判决,正确则会提前终止迭代并输出,否则继续迭代。迭代过程指的是上下解码器循环地交换外部信息从而逐渐降低误码率,组中在迭代次数达到上限或者CRC判决正确时输出。
继续如图10所示,通过硬判决和CRC对卷积码的解码过程进行确定,硬判决指的是将带小数的固定点对数似然比序列判决为包含1或0(或者-1)的二进制序列。当CRC成功时提前终止迭代和/或代次数达到上限时,输出解码的硬比特数据。
本实施例通过获取所述卷积码的比特数据与外部信息;根据所述分支度量初始值、比特数据以及外部信息计算目标分支度量数组;根据所述目标分支度量数组及比特数据得到最大似然比数据;根据所述最大似然比数据确定所述卷积码的解码结果,通过结合硬判决与CRC判决对解码结果进行判断,降低了解码的误比特率。
参照图11,图11为本发明分支度量初始化装置第一实施例的结构框图。
如图11所示,本发明实施例提出的分支度量初始化装置包括:
获取模块10,用于在对信道的传输数据进行解码时,获取信道中卷积码的子块长度。
所述获取模块10,还用于根据所述子块长度及预设尾比特长度得到目标数量的子块窗口。
确定模块20,用于根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值。
解码模块30,用于根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率。
本实施例通过在对信道的传输数据进行解码时,获取信道中卷积码的子块长度;根据所述子块长度及预设尾比特长度得到目标数量的子块窗口;根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值;根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率;通过尾比特长度及需求的引擎数量对信道中卷积码的码块进行切分,可根据用户需求自行增加计算引擎数量,得到若干子块,将子块的长度按照设定的窗口长度进行划分,并将不满足设定窗口长度的末尾子块与尾比特长度进行计算得到目标数量的子块窗口;通过引擎处理自身分配的窗口并根据初始化训练序列对子块窗口进行训练得到子块窗口的分支度量初始值并基于此分支度量初始值对卷积码进行解码,通过初始化训练序列得到可靠性更高的分支度量初始值,基于可靠性更高的分支度量初始值对卷积码进行解码,提高了解码的准确率,降低了误码率。
在一实施例中,所述确定模块20,还用于获取预设训练数组的分支度量初始值;根据所述预设训练数组的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值。
在一实施例中,所述确定模块20,还用于根据所述预设训练数组的分支度量初始值计算预设训练数组的分支度量结束值;将所述预设训练数组的分支度量结束值作为目标子块窗口的分支度量初始值;根据所述目标子块窗口的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值。
在一实施例中,所述获取模块10,还用于获取信道中卷积码的长度;根据所述卷积码的长度、预设尾比特长度及预设引擎数量得到信道中卷积码的子块长度。
在一实施例中,所述获取模块10,还用于根据所述卷积码的长度及预设尾比特长度得到卷积码的目标长度;将所述目标长度与预设长度进行比较;根据比较结果及预设引擎数量对所述目标长度进行切分得到信道中卷积码的子块长度。
在一实施例中,所述获取模块10,还用于将所述子块数量中的每个子块按照预设窗口长度进行划分得到参考数量的子块窗口;获取所述参考数量的子块窗口中的末尾子块窗口的长度;将所述末尾子块窗口的长度与预设窗口长度进行比较;根据比较结果及预设尾比特长度对所述子块窗口的数量进行更新,得到目标数量的子块窗口。
在一实施例中,所述解码模块30,还用于获取所述卷积码的比特数据与外部信息;根据所述分支度量初始值、比特数据以及外部信息计算目标分支度量数组;根据所述目标分支度量数组及比特数据得到最大似然比数据;根据所述最大似然比数据确定所述卷积码的解码结果。
此外,为实现上述目的,本发明还提出一种分支度量初始化设备,所述分支度量初始化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分支度量初始化程序,所述分支度量初始化程序配置为实现如上文所述的分支度量初始化方法的步骤。
由于本分支度量初始化设备采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有分支度量初始化程序,所述分支度量初始化程序被处理器执行时实现如上文所述的分支度量初始化方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的分支度量初始化方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种分支度量初始化方法,其特征在于,所述分支度量初始化方法包括:
在对信道的传输数据进行解码时,获取信道中卷积码的子块长度;
根据所述子块长度及预设尾比特长度得到目标数量的子块窗口;
根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值;
根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率。
2.如权利要求1所述的分支度量初始化方法,其特征在于,所述根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值,包括:
获取预设训练数组的分支度量初始值;
根据所述预设训练数组的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值。
3.如权利要求2所述的分支度量初始化方法,其特征在于,所述根据所述预设训练数组的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值,包括:
根据所述预设训练数组的分支度量初始值计算预设训练数组的分支度量结束值;
将所述预设训练数组的分支度量结束值作为目标子块窗口的分支度量初始值;
根据所述目标子块窗口的分支度量初始值及初始化训练序列确定所述子块窗口的分支度量初始值。
4.如权利要求1所述的分支度量初始化方法,其特征在于,所述获取信道中卷积码的子块长度,包括:
获取信道中卷积码的长度;
根据所述卷积码的长度、预设尾比特长度及预设引擎数量得到信道中卷积码的子块长度。
5.如权利要求4所述的分支度量初始化方法,其特征在于,所述根据所述卷积码的长度、预设尾比特长度及预设引擎数量得到信道中卷积码的子块长度,包括:
根据所述卷积码的长度及预设尾比特长度得到卷积码的目标长度;
将所述目标长度与预设长度进行比较;
根据比较结果及预设引擎数量对所述目标长度进行切分得到信道中卷积码的子块长度。
6.如权利要求1至5中任一项所述的分支度量初始化方法,其特征在于,所述根据所述子块数量及预设尾比特长度得到目标数量的子块窗口,包括:
将所述子块数量中的每个子块按照预设窗口长度进行划分得到参考数量的子块窗口;
获取所述参考数量的子块窗口中的末尾子块窗口的长度;
将所述末尾子块窗口的长度与预设窗口长度进行比较;
根据比较结果及预设尾比特长度对所述子块窗口的数量进行更新,得到目标数量的子块窗口。
7.如权利要求1至5中任一项所述的分支度量初始化方法,其特征在于,所述根据所述分支度量初始值对所述卷积码进行解码,包括:
获取所述卷积码的比特数据与外部信息;
根据所述分支度量初始值、比特数据以及外部信息计算目标分支度量数组;
根据所述目标分支度量数组及比特数据得到最大似然比数据;
根据所述最大似然比数据确定所述卷积码的解码结果。
8.一种分支度量初始化装置,其特征在于,所述分支度量初始化装置包括:
获取模块,用于在对信道的传输数据进行解码时,获取信道中卷积码的子块长度;
所述获取模块,还用于根据所述子块长度及预设尾比特长度得到目标数量的子块窗口;
确定模块,用于根据初始化训练序列对所述子块窗口进行初始值确定,得到所述子块窗口的分支度量初始值;
解码模块,用于根据所述分支度量初始值对所述卷积码进行解码,并根据解码结果降低解码的误比特率。
9.一种分支度量初始化设备,其特征在于,所述分支度量初始化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分支度量初始化程序,所述分支度量初始化程序配置为实现如权利要求1至7中任一项所述的分支度量初始化方法。
10.一种存储介质,其特征在于,所述存储介质上存储有分支度量初始化程序,所述分支度量初始化程序被处理器执行时实现如权利要求1至7中任一项所述的分支度量初始化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110992090.7A CN113765622B (zh) | 2021-08-26 | 2021-08-26 | 分支度量初始化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110992090.7A CN113765622B (zh) | 2021-08-26 | 2021-08-26 | 分支度量初始化方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113765622A true CN113765622A (zh) | 2021-12-07 |
CN113765622B CN113765622B (zh) | 2024-01-23 |
Family
ID=78791461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110992090.7A Active CN113765622B (zh) | 2021-08-26 | 2021-08-26 | 分支度量初始化方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113765622B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807971A (zh) * | 2010-03-08 | 2010-08-18 | 上海华为技术有限公司 | Turbo码译码方法及系统 |
CN101951266A (zh) * | 2010-08-24 | 2011-01-19 | 中国科学院计算技术研究所 | Turbo并行译码的方法及译码器 |
CN103595424A (zh) * | 2012-08-15 | 2014-02-19 | 重庆重邮信科通信技术有限公司 | 分量译码方法、译码器及Turbo译码方法、装置 |
CN103916141A (zh) * | 2012-12-31 | 2014-07-09 | 华为技术有限公司 | Turbo码译码方法及装置 |
CN104796161A (zh) * | 2015-04-01 | 2015-07-22 | 中国科学院自动化研究所 | 一种Turbo译码中的滑窗划分方法及装置 |
CN106788899A (zh) * | 2016-12-29 | 2017-05-31 | 中国科学院微电子研究所 | 高可靠的Turbo译码器后向边界初始化方法 |
US10084486B1 (en) * | 2017-09-29 | 2018-09-25 | Intel Corporation | High speed turbo decoder |
CN109462407A (zh) * | 2018-12-13 | 2019-03-12 | 锐捷网络股份有限公司 | 维特比译码方法、设备及存储介质 |
CN112398487A (zh) * | 2020-12-14 | 2021-02-23 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 一种降低Turbo并行译码复杂度的实现方法及系统 |
-
2021
- 2021-08-26 CN CN202110992090.7A patent/CN113765622B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807971A (zh) * | 2010-03-08 | 2010-08-18 | 上海华为技术有限公司 | Turbo码译码方法及系统 |
CN101951266A (zh) * | 2010-08-24 | 2011-01-19 | 中国科学院计算技术研究所 | Turbo并行译码的方法及译码器 |
CN103595424A (zh) * | 2012-08-15 | 2014-02-19 | 重庆重邮信科通信技术有限公司 | 分量译码方法、译码器及Turbo译码方法、装置 |
CN103916141A (zh) * | 2012-12-31 | 2014-07-09 | 华为技术有限公司 | Turbo码译码方法及装置 |
CN104796161A (zh) * | 2015-04-01 | 2015-07-22 | 中国科学院自动化研究所 | 一种Turbo译码中的滑窗划分方法及装置 |
CN106788899A (zh) * | 2016-12-29 | 2017-05-31 | 中国科学院微电子研究所 | 高可靠的Turbo译码器后向边界初始化方法 |
US10084486B1 (en) * | 2017-09-29 | 2018-09-25 | Intel Corporation | High speed turbo decoder |
CN109462407A (zh) * | 2018-12-13 | 2019-03-12 | 锐捷网络股份有限公司 | 维特比译码方法、设备及存储介质 |
CN112398487A (zh) * | 2020-12-14 | 2021-02-23 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 一种降低Turbo并行译码复杂度的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113765622B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101323444B1 (ko) | 반복적 디코더 및 반복적 디코딩 방법 | |
US9214958B2 (en) | Method and decoder for processing decoding | |
EP1314254B1 (en) | Iteration terminating for turbo decoder | |
JP4227481B2 (ja) | 復号装置および復号方法 | |
KR102136428B1 (ko) | 코드의 워드들의 확장된 스펙트럼의 분석에 의해, 정정 코드, 예를 들면, 터보 코드를 디코딩하는 방법 | |
CN1327653A (zh) | 移动通信系统中的分量解码器及其方法 | |
US8196006B2 (en) | Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder | |
RU2571597C2 (ru) | Способ и устройство для декодирования турбокода | |
US7391826B2 (en) | Decoding method and apparatus | |
US7925964B2 (en) | High-throughput memory-efficient BI-SOVA decoder architecture | |
US6877125B2 (en) | Devices and methods for estimating a series of symbols | |
CN113258940B (zh) | turbo译码方法、装置、译码设备及存储介质 | |
CN109672498B (zh) | 译码方法和装置 | |
US20030154441A1 (en) | Method and apparatus for producing path metrics in trellis | |
US6614858B1 (en) | Limiting range of extrinsic information for iterative decoding | |
US10084486B1 (en) | High speed turbo decoder | |
CN1741614A (zh) | 使用冗余对视/音频和语音数据进行解码的方法和系统 | |
CN113765622B (zh) | 分支度量初始化方法、装置、设备及存储介质 | |
KR20010092900A (ko) | 터보 복호기에서 반복 복호를 중지하는 장치 및 이를구비한 터보 복호기 | |
KR100973097B1 (ko) | 이진 컨벌루션 코드를 사용하여 인코딩된 데이터 시퀀스를디코딩하기 위한 방법 | |
JP2001352256A (ja) | 復号装置及び復号方法 | |
CN113258937B (zh) | 分量译码器、外信息存储单元以及Turbo码译码器 | |
CN112398486B (zh) | 利用多种纠错方式进行优化的Turbo码交织参数识别方法及系统 | |
CN118138061A (zh) | 一种咬尾Turbo码的译码方法及装置 | |
CN2884696Y (zh) | 用于Turbo码译码器中的归一化装置 |
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 |