CN112332868A - 一种基于DVB-RCS2的turbo并行译码方法 - Google Patents
一种基于DVB-RCS2的turbo并行译码方法 Download PDFInfo
- Publication number
- CN112332868A CN112332868A CN202011124816.7A CN202011124816A CN112332868A CN 112332868 A CN112332868 A CN 112332868A CN 202011124816 A CN202011124816 A CN 202011124816A CN 112332868 A CN112332868 A CN 112332868A
- Authority
- CN
- China
- Prior art keywords
- state metric
- data
- sequence
- length
- decoding
- 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 33
- 230000008707 rearrangement Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 244000099523 Schinus terebinthifolius Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种基于DVB‑RCS2的turbo并行译码方法,包括:S1、接收待译码输入序列;S2、对所述待译码输入序列进行分段重排,得到重排序列;S3、初始化前向状态度量和后向状态度量,根据所述前向状态度量和所述后向状态度量对所述重排序列进行迭代,并更新前向状态度量和后向状态度量;S4、判断迭代次数是否达到预设最大迭代次数条件,若否,则迭代执行S3,若是,则结束译码。本发明克服了现有技术中对数据分段要并行处理时需要多个处理器配合处理的缺点,使得本发明在降低硬件资源依赖的同时大幅提升了译码并行度,且同时降低了译码时延,并且本发明具有更低的复杂度,且译码性能不会降低。
Description
技术领域
本发明属于卫星通信领域,具体涉及一种基于DVB-RCS2的turbo并行译码方法。
背景技术
Turbo码,又称并行级联卷积码(PCCC),最早由C.Berrou和Glavieux于1993年共同提出。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想;同时采用软输出迭代译码来逼近最大似然译码。模拟结果表明,码率为1/2的Turbo码在采用大小为65535的随机交织器,并迭代18次,在AWGN信道可以达到接近Shannon限的性能。随后于1999年C.Berrou等人又提出了非二进制卷积Turbo码,常见的是双二元卷积Turbo码(DoubleBinary Convolutional Turbo Code,DB-CTC),编码器每个时钟节拍编码2个比特,相较于经典Turbo码,具有编码效率高、译码延时小、更大的最小自由距离、降低误码平层等优点。所以DVB-RCS2标准将双二元卷积Turbo作为物理层FEC的选用码型,提高系统吞吐量。
Turbo码的主流译码算法包括最大后验概率算法(Maximum A Posteriori,MAP)以及Max-Log-MAP算法。其中,MAP算法译码性能最优但计算复杂度很高,MAX-Log-MAP算法是最大似然MAP算法的改进算法,由于省略了修正项的计算,计算复杂度大大降低,但相应的译码性能也有一定的损失。随着卫星通信的发展,对于通信质量的要求越来越高,并且对通信时延的要求也越来越严格,这就需要在通信接收端上进行改进优化,因此必须提高译码器的译码速度,以适应卫星通信的要求。
传统的Turbo译码时延主要有译码计算时延和译码等待时延,串行译码器要等到整个数据块结束后方可译码,导致串行译码的缺点就是译码时延很大。在降低译码时延的研究中,除了降低运算复杂度,并行译码也是一种行之有效的方法,目前已有的比较典型的并行译码方案主要集中在三个层面:1)迭代译码结构中两个分量译码器的并行迭代;2)分量译码器内部,正向递归和反向递归计算的并行,即双向并行迭代;3)分量译码器内部译码信息序列的分段并行译码。
对于上述三点,其中1)分量译码器级的并行是同时使用多个Turbo译码器进行译码,每个译码器对不同的帧进行译码,对单个的数据帧而言,该方法并未提高计算效率。2)双向并行译码根据前向状态度量和后向状态度量的递归计算相对独立的特点,可以将状态度量的正向递归和反向递归并行处理,提高译码速度。目前在硬件实现上均采用这种双向并行的译码算法,但并行度受限译码效率最大只能提升2倍。3)译码器内部信息序列的分段并行是指将一个完整的数据帧划分为多个交叠或不交叠的数据子帧,由多个处理器同时对子帧进行解码运算,最终得到整个数据帧的译码结果,且已有发明多采用滑动窗的基本思想,在计算量、译码延时方面有折衷,但折衷方案的译码性能较经典MAP方法有近乎1dB的损失。
因此现有技术的译码效率和译码性能均未达到较好的改善。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于DVB-RCS2的turbo并行译码方法。本发明要解决的技术问题通过以下技术方案实现:
一种基于DVB-RCS2的turbo并行译码方法,包括:
S1、接收待译码输入序列;
S2、对所述待译码输入序列进行分段重排,得到重排序列;
S3、初始化前向状态度量和后向状态度量,根据所述前向状态度量和所述后向状态度量对所述重排序列进行迭代,并更新前向状态度量和后向状态度量;
S4、判断迭代次数是否达到预设最大迭代次数条件,若否,则迭代执行S3,若是,则结束译码。
在一个具体实施方式中,所述步骤S2具体包括:
S21、将长度为n的译码输入序列r(i)=(r0,r1,…,rn-1),0≤i≤n-1分成m段独立的数据,使得每段长度相等,其中,当不能被等分时,最后一段的长度可与前面不同;
S22、构建分段索引序列,分段索引的构造公式如下;
其中,d(i)表示原译码器输入序列r(i)分段之后重新排列时所处的位置下标,表示范围是0到n-1,i表示原译码输入序列r(i)所处的位置下标,k表示分段序列号,表示范围是0到m-1,m表示分段的段数,n表示译码器输入序列的长度:
S23、根据分段索引下标对译码器输入数据进行分段重新排列,重排后的序列作为后续并行译码的输入序列,重排规则公式如下:
s(j)=s(d(i))=r(i),0≤i≤n-1,0≤j≤n-1
其中,s(j)表示根据分段索引进行数据重排后的重排序列,j表示重新排列序列对应的下标,d(i)表示原译码器输入序列r(i)分段之后重新排列时所处的位置下标,i表示原译码输入序列r(i)所处的位置下标,表示译码器输入序列的长度。
在一个具体实施方式中,所述步骤S21中,当译码器输入数据长度不能等分时,对最后一段数据的长度进行补零处理,具体包括:
S211、计算前m-1段数据的长度l=floor(n,m-1),保证其数据长度相等,floor(n,m-1)表示向下取整,最后一段数据长度为l-v,其中v=mod(n,m),mod(n,m)表示取余;
S212、对长度不足l的最后一段数据进行补零处理,使最后一段数据长度与前面m-1段数据长度一致,确保每次并行计算m组数据。
在一个具体实施方式中,所述步骤S3具体包括:
S31、首次迭代时,以等概率状态初始化每段的前向状态度量α和后向状态度量β,认为编码器等概率停留在M个状态中的任一个,其中,M为状态数;
S32、后续迭代时,前向状态度量α的初始值将由状态度量递归所得到的新的边界状态度量进行更新,即更新为上一次迭代时前一段数据的前向状态度量的最终值;
S33、后续迭代时,后向状态度量β的初始值将由状态度量递归所得到的新的边界状态度量进行更新,即更新为上一次迭代时前一段数据的后向状态度量的最终值;
在一个具体实施方式中,在更新下一次迭代的前向状态度量α和后向状态度量β时,将最后一个非补零数计算出来的α值传递给下一次迭代的前向状态度量作为前向状态度量初始值,以及将最后一个非补零数计算出来的β值传递给下一次迭代的后向状态度量作为后向状态度量初始值。
在一个具体实施方式中,前向状态度量α和后向状态度量β的初始化值设置为α0=log(1/M),β0=log(1/M),其中,M为状态数。
在一个具体实施方式中,所述预设最大迭代次数为6-10次。
本发明的有益效果:
1、本发明的基于DVB-RCS2的turbo并行译码方法在对译码器输入数据进行分段处理时采用了按分段索引重新排序的方法,构造了多路并行且相互独立的数据,在x86通用处理器上并行实现SIMD指令集,克服了现有技术中对数据分段要并行处理时需要多个处理器配合处理的缺点,使得本发明在降低硬件资源依赖的同时大幅提升了译码并行度,且同时降低了译码时延;
2、本发明的基于DVB-RCS2的turbo并行译码方法由于在分段后对数据进行了重新排序,不需要通过分段交叠即保证了消息的独立性和可靠性,边界消息传递时采用了边界状态度量更新,克服了现有技术中分段交叠处理时额外引入多的信息可靠度传递计算的缺点,使得本发明具有更低的复杂度,且译码性能不会降低。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种基于DVB-RCS2的turbo并行译码方法流程示意图;
图2是本发明实施例提供的译码器输入序列分段重排流程图;
图3是本发明实施例提供的边界状态更新流程示意图;
图4是本发明实施例提供的一个实施场景中的基于DVB-RCS2的turbo并行译码方法流程图;
图5是本发明实施例提供的一个实施场景中的分段并行与串行译码的误码性能仿真对比图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1是本发明实施例提供的一种基于DVB-RCS2的turbo并行译码方法流程示意图,包括:
S1、接收待译码输入序列;
S2、对所述待译码输入序列进行分段重排,得到重排序列;
S3、初始化前向状态度量和后向状态度量,根据所述前向状态度量和所述后向状态度量对所述重排序列进行迭代,并更新前向状态度量和后向状态度量;
S4、判断迭代次数是否达到预设最大迭代次数条件,若否,则迭代执行S3,若是,则结束译码。
在一个具体实施方式中,请参见图2,图2是本发明实施例提供的译码器输入序列分段重排流程图,该重排流程具体包括:
S21、将长度为n的译码输入序列r(i)=(r0,r1,…,rn-1),0≤i≤n-1分成m段独立的数据,使得每段长度相等,其中,当不能被等分时,最后一段的长度可与前面不同;
原始数据中的每个数字表示原译码器输入序列的下标,是按递增顺序排列的。分段索引中的数字表示将原始数据对应列的数据填充到重排数据的第i位,i表示分段索引的值。以原始数据中的1为例,其对应的分段索引是m,即将r1排在数据的第rm位。
本发明实施例中,将译码器输入数据分为m段相互独立的数据,基于x86通用处理器结合SIMD指令集进行并行加载和运算,大幅提升了译码并行度,可实现对m段数据同时进行译码并行操作,降低了译码时延。
S22、构建分段索引序列,分段索引的构造公式如下;
其中,d(i)表示原译码器输入序列r(i)分段之后重新排列时所处的位置下标,表示范围是0到n-1,i表示原译码输入序列r(i)所处的位置下标,k表示分段序列号,表示范围是0到m-1,m表示分段的段数,n表示译码器输入序列的长度:
S23、根据分段索引下标对译码器输入数据进行分段重新排列,重排后的序列作为后续并行译码的输入序列,重排规则公式如下:
s(j)=s(d(i))=r(i),0≤i≤n-1,0≤j≤n-1
其中,s(j)表示根据分段索引进行数据重排后的重排序列,j表示重新排列序列对应的下标,d(i)表示原译码器输入序列r(i)分段之后重新排列时所处的位置下标,i表示原译码输入序列r(i)所处的位置下标,n表示译码器输入序列的长度。
在一个具体实施方式中,所述步骤S21中,当译码器输入数据长度不能等分时,对最后一段数据的长度进行补零处理,具体包括:
S211、计算前m-1段数据的长度l=floor(n,m-1),保证其数据长度相等,floor(n,m-1)表示向下取整,最后一段数据长度为l-v,其中v=mod(n,m),mod(n,m)表示取余;
S212、对长度不足l的最后一段数据进行补零处理,使最后一段数据长度与前面m-1段数据长度一致,确保每次并行计算m组数据。
本发明提供了一种基于DVB-RCS2标准的软件实现turbo并行译码的改进方法,将原始数据分段重新排列后,原始输入序列的前后相关性被打乱,会降低原始数据的译码性能,为了弥补相关性对性能造成的影响,通过在每次迭代时增加边界状态度量传递机制,提高段与段之间状态消息传递的可靠性。
在一个具体实施方式中,请参见图3,图3是本发明实施例提供的边界状态更新流程示意图,步骤S3具体包括:
S31、首次迭代时,以等概率状态初始化每段的前向状态度量α和后向状态度量β,认为编码器等概率停留在M个状态中的任一个,其中,M为状态数,例如状态数可以是8个、16个等,本实施例以M=16进行说明;
在一个具体实施方式中,前向状态度量α和后向状态度量β的初始化值设置为α0=log(1/16,β0=log(1/16。
S32、后续迭代时,前向状态度量α的初始值将由状态度量递归所得到的新的边界状态度量进行更新,即更新为上一次迭代时前一段数据的前向状态度量的最终值;
在一个具体实施方式中,所述预设最大迭代次数为6-10次。
具体的,本发明实施例中,图3中各段之间在进行不同迭代次数间状态度量更新时,黑色实线箭头表示前向边界状态度量α的传递。第j段前向状态度量的值将在本次迭代译码结束后作为反馈,用于初始化下一次迭代第j+1段的前向状态度量。
S33、后续迭代时,后向状态度量β的初始值将由状态度量递归所得到的新的边界状态度量进行更新,即更新为上一次迭代时前一段数据的后向状态度量的最终值;
具体的,本发明实施例中,图3中各段之间在进行不同迭代次数间状态度量更新时,黑色虚线箭头表示后向边界状态度量β的传递。第j段后向状态度量的值将在本次迭代译码结束后作为反馈,用于初始化下一次迭代的第j+1段的后向状态度量。
值得一提的是,在首次进行更新时,由于重排后第一次迭代可能出现重排补零的情况,也就是说最后一段在补零后,真实的有效数据是小于该段长度的,也就是说,最后的v个补零数据计算的α值和β值是无效的,因此如果以该数据进行状态度量更新则数据是不准确的,因此需要在更新下一次迭代的前向状态度量α和后向状态度量β时,将最后一个非补零数计算出来的α值传递给下一次迭代的前向状态度量作为前向状态度量初始值,以及将最后一个非补零数计算出来的β值传递给下一次迭代的后向状态度量作为后向状态度量初始值。
请参见图4,图4是本发明实施例提供的一个实施场景中的基于DVB-RCS2的turbo并行译码方法流程图,首先对原始数据进行分段,该分段步骤包括初始化分段索引序列和根据分段索引对输入数据重排,其次初始化前向状态度量和后向状态度量,之后通过判断条件进行迭代步骤,迭代步骤依次包括解交织、边界状态度量更新1、调用分量译码器1译码、交织、边界状态度量更新2、调用分量译码器2译码。
两个分量译码器内部调用译码函数实现,函数内部主要包括三部分的计算,分别是前向状态度量α的计算、后向状态度量β的计算和对数似然比的计算。前向状态度量α的计算和后向状态度量β的计算,是对长度n的输入序列计算其16个状态对应的α值和β值,每个前向状态度量值或后向状态度量的最终值,需要通过计算的最大值与0状态的值进行归一化最终得到16个状态值。似然比计算是计算16个状态下00、01、10和11四种情况下的概率,并取概率最大值。
具体的,将输入信息均分为8段,各段之间可并行操作,结合AVX指令技术,在运算过程中,将重排后的8个数据为一组,通过AVX指令加载到一个__m256类型的寄存器中,可实现对8段数据同时进行译码操作。
其中,原始数据分段采用本发明的分段并行算法实现,分量译码器内部的边界状态更新模块充分弥补了不同迭代间边界状态度量的可靠性传递,具体该分量译码器算法的实现过程为现有技术,turbo编码方式采用DVB-RCS2标准的双二元turbo码,在此不再赘述。
实施例二
本实施例通过仿真对本发明的效果做进一步的描述:
1、仿真条件:
本发明采用DVB-RCS2标准中给出的长度为1868的突发包40,基于x86通用服务器平台,在AWGN信道下对改进turbo译码算法的性能进行仿真,turbo译码迭代次数设置为8次,采用BPSK调制模式,仿真包数10000,分段数为8。
2、仿真内容:
表1表示符号长度为1868的突发包40,分别采用串行译码和改进并行译码两种算法,统计单次迭代时,turbo译码时间以及内部分量译码器的时间对比。
表1并行与串行译码时间对比
由表1可以看出,将原始数据在译码之前进行分段数据重新排序处理,将重排后的8个数据作为一组,通过AVX指令加载到一个__m256类型的寄存器中,对8段数据同时进行译码处理所需要的译码时间,比未采用排序处理的串行译码时间相比,单次迭代译码时间降低4倍,在不增加其他硬件资源的基础上极大的降低了译码时延。
图5为分段并行与串行译码的误码性能仿真对比图,其中,图5中的横坐标表示仿真的信噪比Es/N0(dB),纵坐标表示turbo译码的误码率,图5中各曲线表示的意义如下:
“带星号的曲线串行译码”表示采用串行译码的性能;
“带圆圈的曲线并行译码”表示采用分段并行译码的性能;
由图5可以看出,串行译码算法和分段并行译码算法的误码性能相当,因此分段并行译码算法相对于串行译码算法并没有性能损失,也未增加算法的复杂度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模块”或“系统”。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本申请是参照本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种基于DVB-RCS2的turbo并行译码方法,其特征在于,包括:
S1、接收待译码输入序列;
S2、对所述待译码输入序列进行分段重排,得到重排序列;
S3、初始化前向状态度量和后向状态度量,根据所述前向状态度量和所述后向状态度量对所述重排序列进行迭代,并更新前向状态度量和后向状态度量;
S4、判断迭代次数是否达到预设最大迭代次数条件,若否,则迭代执行S3,若是,则结束译码。
2.根据权利要求1所述的基于DVB-RCS2的turbo并行译码方法,其特征在于,所述步骤S2具体包括:
S21、将长度为n的译码输入序列r(i)=(r0,r1,…,rn-1),0≤i≤n-1分成m段独立的数据,使得每段长度相等,其中,当不能被等分时,最后一段的长度可与前面不同;
S22、构建分段索引序列,分段索引的构造公式如下;
其中,d(i)表示原译码器输入序列r(i)分段之后重新排列时所处的位置下标,表示范围是0到n-1,i表示原译码输入序列r(i)所处的位置下标,k表示分段序列号,表示范围是0到m-1,m表示分段的段数,n表示译码器输入序列的长度:
S23、根据分段索引下标对译码器输入数据进行分段重新排列,重排后的序列作为后续并行译码的输入序列,重排规则公式如下:
s(j)=s(d(i))=r(i),0≤i≤n-1,0≤j≤n-1
其中,s(j)表示根据分段索引进行数据重排后的重排序列,j表示重新排列序列对应的下标,d(i)表示原译码器输入序列r(i)分段之后重新排列时所处的位置下标,i表示原译码输入序列r(i)所处的位置下标,n表示译码器输入序列的长度。
3.根据权利要求1所述的基于DVB-RCS2的turbo并行译码方法,其特征在于,所述步骤S21中,当译码器输入数据长度不能等分时,对最后一段数据的长度进行补零处理,具体包括:
S211、计算前m-1段数据的长度l=floor(n,m-1),保证其数据长度相等,floor(n,m-1)表示向下取整,最后一段数据长度为l-v,其中v=mod(n,m),mod(n,m)表示取余;
S212、对长度不足l的最后一段数据进行补零处理,使最后一段数据长度与前面m-1段数据长度一致,确保每次并行计算m组数据。
4.根据权利要求1所述的基于DVB-RCS2的turbo并行译码方法,其特征在于,所述步骤S3具体包括:
S31、首次迭代时,以等概率状态初始化每段的前向状态度量α和后向状态度量β,认为编码器等概率停留在M个状态中的任一个,其中M为状态数;
S32、后续迭代时,前向状态度量α的初始值将由状态度量递归所得到的新的边界状态度量进行更新,即更新为上一次迭代时前一段数据的前向状态度量的最终值;
S33、后续迭代时,后向状态度量β的初始值将由状态度量递归所得到的新的边界状态度量进行更新,即更新为上一次迭代时前一段数据的后向状态度量的最终值。
5.根据权利要求4所述的基于DVB-RCS2的turbo并行译码方法,其特征在于,在更新下一次迭代的前向状态度量α和后向状态度量β时,将最后一个非补零数计算出来的α值传递给下一次迭代的前向状态度量作为前向状态度量初始值,以及将最后一个非补零数计算出来的β值传递给下一次迭代的后向状态度量作为后向状态度量初始值。
6.根据权利要求1所述的基于DVB-RCS2的turbo并行译码方法,其特征在于,前向状态度量α和后向状态度量β的初始化值设置为α0=log(1/M),β0=log(1/M)。其中M为状态数。
7.根据权利要求1所述的基于DVB-RCS2的turbo并行译码方法,其特征在于,所述预设最大迭代次数为6-10次。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124816.7A CN112332868B (zh) | 2020-10-20 | 2020-10-20 | 一种基于DVB-RCS2的turbo并行译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124816.7A CN112332868B (zh) | 2020-10-20 | 2020-10-20 | 一种基于DVB-RCS2的turbo并行译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112332868A true CN112332868A (zh) | 2021-02-05 |
CN112332868B CN112332868B (zh) | 2024-05-28 |
Family
ID=74310541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011124816.7A Active CN112332868B (zh) | 2020-10-20 | 2020-10-20 | 一种基于DVB-RCS2的turbo并行译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112332868B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113922868A (zh) * | 2021-12-13 | 2022-01-11 | 南京先锋硕通无线技术有限公司 | Dvb-rcs2 rl三涡轮迭代接收机及接收方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002314437A (ja) * | 2001-04-17 | 2002-10-25 | Nec Corp | ターボ復号方式及びその方法 |
US20060026485A1 (en) * | 2004-07-28 | 2006-02-02 | Nec Corporation | Turbo decoder, turbo decoding method, and turbo decoding program |
CN101951266A (zh) * | 2010-08-24 | 2011-01-19 | 中国科学院计算技术研究所 | Turbo并行译码的方法及译码器 |
CN102751996A (zh) * | 2011-04-19 | 2012-10-24 | 深圳清华大学研究院 | 高性能低复杂性分组乘积码tpc的译码方法 |
CN103873073A (zh) * | 2014-03-20 | 2014-06-18 | 北京遥测技术研究所 | 一种基于并行与加窗结构的Turbo码高速译码实现方法 |
CN104796162A (zh) * | 2015-04-09 | 2015-07-22 | 深圳市三朋电子有限公司 | Turbo码译码停止迭代准则判断系统、方法及装置 |
-
2020
- 2020-10-20 CN CN202011124816.7A patent/CN112332868B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002314437A (ja) * | 2001-04-17 | 2002-10-25 | Nec Corp | ターボ復号方式及びその方法 |
US20060026485A1 (en) * | 2004-07-28 | 2006-02-02 | Nec Corporation | Turbo decoder, turbo decoding method, and turbo decoding program |
CN101951266A (zh) * | 2010-08-24 | 2011-01-19 | 中国科学院计算技术研究所 | Turbo并行译码的方法及译码器 |
CN102751996A (zh) * | 2011-04-19 | 2012-10-24 | 深圳清华大学研究院 | 高性能低复杂性分组乘积码tpc的译码方法 |
CN103873073A (zh) * | 2014-03-20 | 2014-06-18 | 北京遥测技术研究所 | 一种基于并行与加窗结构的Turbo码高速译码实现方法 |
CN104796162A (zh) * | 2015-04-09 | 2015-07-22 | 深圳市三朋电子有限公司 | Turbo码译码停止迭代准则判断系统、方法及装置 |
Non-Patent Citations (1)
Title |
---|
陶琛;宋春林;柏亮;宋超凡;: "基于并行分量译码的分段拟合Turbo码译码", 通信技术, no. 08 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113922868A (zh) * | 2021-12-13 | 2022-01-11 | 南京先锋硕通无线技术有限公司 | Dvb-rcs2 rl三涡轮迭代接收机及接收方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112332868B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9214958B2 (en) | Method and decoder for processing decoding | |
JP5840741B2 (ja) | 複数のコード・タイプをプログラマブル復号する方法および装置 | |
KR20120090856A (ko) | 반복적 디코더 및 반복적 디코딩 방법 | |
US20010021233A1 (en) | Soft-decision decoding of convolutionally encoded codeword | |
US8196006B2 (en) | Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder | |
WO2012034097A1 (en) | Accessing memory during parallel turbo decoding | |
CN113258940B (zh) | turbo译码方法、装置、译码设备及存储介质 | |
US20130007568A1 (en) | Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program | |
JP2004343716A (ja) | 畳み込み符号化信号の伝送形式をブラインド検出する方法および復号器 | |
JP2005210238A (ja) | ターボ復号装置及びその方法並びにその動作プログラム | |
CN112332868B (zh) | 一种基于DVB-RCS2的turbo并行译码方法 | |
JP2006041960A (ja) | ターボ復号装置及びターボ復号方法並びにプログラム | |
Chen et al. | High throughput stochastic log-MAP turbo-decoder based on low bits computation | |
GB2403106A (en) | a turbo type decoder which performs decoding iterations on sub-blocks to improve convergence | |
WO2023116504A1 (zh) | 一种基于模拟退火算法的双因子修正Turbo译码方法 | |
CN115664429A (zh) | 一种适用于LDPC与Turbo的双模译码器 | |
Zhu et al. | An improved decoding of tail-biting convolutional codes for LTE systems | |
Huang et al. | A high speed turbo decoder implementation for CPU-based SDR system | |
Natarajan et al. | Lossless parallel implementation of a turbo decoder on GPU | |
CN103701475A (zh) | 移动通信系统中8比特运算字长Turbo码的译码方法 | |
CN113765622B (zh) | 分支度量初始化方法、装置、设备及存储介质 | |
CN112953559B (zh) | 基于冻结位对数似然值修正的极化码译码方法 | |
KR100627723B1 (ko) | 터보 복호화를 위한 병렬 복호 방법 및 이를 사용한 터보복호기 | |
US20110202819A1 (en) | Configurable Error Correction Encoding and Decoding | |
CN118041374A (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 |