CN102723958A - 基于多核DSP的Turbo并行译码方法 - Google Patents

基于多核DSP的Turbo并行译码方法 Download PDF

Info

Publication number
CN102723958A
CN102723958A CN2012102191945A CN201210219194A CN102723958A CN 102723958 A CN102723958 A CN 102723958A CN 2012102191945 A CN2012102191945 A CN 2012102191945A CN 201210219194 A CN201210219194 A CN 201210219194A CN 102723958 A CN102723958 A CN 102723958A
Authority
CN
China
Prior art keywords
core
sequence
expenses
max
log
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
Application number
CN2012102191945A
Other languages
English (en)
Other versions
CN102723958B (zh
Inventor
王坚
李玉柏
张靓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201210219194.5A priority Critical patent/CN102723958B/zh
Publication of CN102723958A publication Critical patent/CN102723958A/zh
Application granted granted Critical
Publication of CN102723958B publication Critical patent/CN102723958B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明提供一种基于多核DSP的Turbo并行译码方法,将数据帧划分为不交叠的数据子帧,并采用多核并行译码来提升译码的速度。在译码过程中,设计了子帧间的信息传递方式,使得最终译码结果为最优输出。本发明利用所有的帧信息,并通过子块间传递这些信息,使得每个子模块的译码精度都受到整个帧的影响,而不是部分帧数据的影响。另外,本发明采用对数据采用无交叠的分块,比一般的交叠分块计算量小,更适合并行。

Description

基于多核DSP的Turbo并行译码方法
技术领域
本发明涉及移动通信领域,尤其涉及一种基于多核DSP(数字信号处理)平台的Turbo并行译码方法,以及在工程实践中的应用。
现有技术
Turbo码具有接近香农限的优良译码性能,被广泛应用于3G以及LTE等通信标准中。为了减少计算延时,人们研究了Turbo并行译码的方法。目前的Turbo并行译码的研究主要集中在三个层面:Turbo译码器级的并行,BCJR-SISO译码器级的并行和BCJR算法级并行。三种层面的并行可以单独使用,也可以混合使用以达到更高的并行度。Turbo译码器级的并行就是同时使用多个Turbo译码器进行译码,每个译码器对不同的帧进行译码,对单个的数据帧而言,该方法并未提高计算效率。BCJR-SISO译码器级的并行是指,Turbo译码器中的两个分量SISO译码器并行工作。BCJR算法级并行是指将一个完整的数据帧划分为多个交叠或不交叠的数据子帧,由多个处理器同时对子帧进行解码运算,最终得到整个数据帧的译码结果。现有的BCJR算法级并行方法把整个长帧划分成多个交叠的子块分别译码,每个子块的译码算法与整个长帧相同。但是,现有的BCJR算法级并行方法中由于每个子块译码每个子译码模块只考虑了交叠部分的帧数据对该模块译码精度的影响,即只利用了部分观察信息,这部分信息不能代替整个帧的信息,除非译码过程交叠足够次数,否则其输出是次最优的译码结果而非最优译码结果。
发明内容
本发明所要解决的技术问题是,提供一种高效率、高译码精度的基于多核DSP平台的Turbo并行译码方法。
本发明为解决上述技术问题所采用的技术方案是,基于多核DSP的Turbo并行译码方法,包括以下步骤:
一种基于多核DSP的Turbo并行译码方法,其特征在于,包括以下步骤:
第一步:核1读取待译码的原始的输入序列,所述原始的输入序列由三个长度为L的序列组成;将交织得到
Figure BDA00001825865500013
第二步:核1分别将序列分为K份子序列,分别记为
Figure BDA00001825865500015
Figure BDA00001825865500016
其中k=1,…,K,K为多核DSP的核总数;核1将序列
Figure BDA00001825865500017
的第k份子序列分别分配至对应的第k个核;
第三步:K个核对分配到的子序列
Figure BDA00001825865500021
进行一次Max-Log-MAP译码;
第四步:第k个核将此次Max-Log-MAP译码得到的边界分布值
Figure BDA00001825865500022
传输给第k+1个核,将此次Max-Log-MAP译码得到的边界分布值
Figure BDA00001825865500023
传输给第k-1个核;核的编号采用从1至K循环传递的方式,当k=K时,k+1=1,当k=1,k-1=K;
第五步:核1之外的k-1个核将此次Max-Log-MAP译码得到的边信息序列
Figure BDA00001825865500024
传输给核1;
第六步:核1将K份边信息序列
Figure BDA00001825865500025
组合成序列进行交织得到先验信息序列
Figure BDA00001825865500027
第七步:核1将先验信息序列分为K份子序列
Figure BDA00001825865500029
将先验信息序列
Figure BDA000018258655000210
的第k份子序列
Figure BDA000018258655000211
分别分配至对应的第k个核;
第八步:K个核对分配到的子序列
Figure BDA000018258655000212
进行一次Max-Log-MAP译码;
第九步:第k个核将此次Max-Log-MAP译码得到的边界分布值
Figure BDA000018258655000213
传输给第k+1个核,将此次Max-Log-MAP译码得到的边界分布值
Figure BDA000018258655000214
传输给第k-1个核;
第十步:核1之外的k-1个核将此次Max-Log-MAP译码得到的边信息序列
Figure BDA000018258655000215
传输给核1;
第十一步:核1将K份边信息序列
Figure BDA000018258655000216
组合成序列
Figure BDA000018258655000217
进行解交织得到先验信息序列
Figure BDA000018258655000218
第十二步:核1将先验信息序列
Figure BDA000018258655000219
分为K份子序列
Figure BDA000018258655000220
将先验信息序列的第k份子序列分别分配至对应的第k个核;
第十三步:一次迭代完成,若迭代达到预设的最大迭代次数,则译码结束;否则,返回第三步。
本发明将数据帧划分为不交叠的数据子帧,并采用多核并行译码来提升译码的速度。并且,在译码过程中,设计了子帧间的信息传递方式,使得最终译码结果为最优输出。相对于现有Turbo译码器级的并行方法,本发明能对统一数据帧进行并行处理。相对于现有BCJR-SISO译码器级的并行方法,本发明有多个子译码模块,每个子译码模块中含有两个SISO译码器,因此本发明的并行度比该方法高,能进一步缩短译码时间。相对于现有BCJR算法级并行方法,本发明利用了所有的观察信息(全部帧数据),并通过子块间传递这些信息,使得每个子模块的译码精度都受到整个帧的影响,而不是部分帧数据的影响。另外,本发明采用对数据采用无交叠的分块,比一般的交叠分块计算量小,更适合并行。本发明在算法层面进行并行化,各个核的译码由软件编程实现,而不是通过硬件逻辑的改变来增加并行度。因此,可以在硬件不变的情况下,对软件进行升级。
本发明的有益效果是,能够在多个处理核的DSP上并行、成倍提高译码速度,并且支持软件升级,可用于软件无线电。
附图说明
图1为核1到核K之间通信的示意图。
图2为本发明Turbo并行译码算法原理图。
具体实施方式
本发明基于多核DSP平台,核总数为K,主核为核1,核1将一个大的数据块分成K个无不重叠的独立子块,K个并行的核分别对各个子块进行处理,从而提升运算速度。核1到核K之间通信的示意图如1所示。
Turbo并行译码方法包括以下步骤:
第一步:核1读取待译码数据,包括序列
Figure BDA00001825865500031
Figure BDA00001825865500032
交织得到
Figure BDA00001825865500033
序列
Figure BDA00001825865500034
合在一起就是原始的输入序列,它唯一的决定了译码器的输出。这个是Turbo编码的标准,数据编码后就得到这三个序列,所以解码器中也应该输入这三个序列进行处理。
第二步:核1将每个序列分为K份子序列,每份记为长度分别为:
Figure BDA00001825865500037
Figure BDA00001825865500038
将第k份子序列
Figure BDA00001825865500039
分配给第k核。k=1份即核1保留,
Figure BDA000018258655000310
为向下取整。
第三步:核k(k=1,…,K)对长度为lk的子序列
Figure BDA000018258655000311
进行一次Max-Log-MAP译码。
第四步:核k(k=1,…,K)将自己译码过程中得到的边界分布值
Figure BDA000018258655000312
传输给核k+1,
Figure BDA000018258655000313
传输给核k-1。数据采用循环传递的方式,即当k K时,需要传给K+1的数据是发送给核1的,当k=1时,需要传送给K-1的数据是发送给K的。
第五步:除核1之外的核将Max-Log-MAP译码得到的边信息序列
Figure BDA000018258655000314
传输给核1。
第六步:核1将K份边信息序列
Figure BDA000018258655000315
组合成序列
Figure BDA000018258655000316
进行交织得到先验信息序列
Figure BDA000018258655000317
第七步:核1将按第二步中的分组方式,将分组后的第k份子序列
Figure BDA00001825865500042
发送给第k核。
第八步:核k(k=1,…,K)对长度为lk的子序列
Figure BDA00001825865500043
进行一次Max-Log-MAP译码。
第九步:核k(k=1,…,K)将自己译码过程中得到的边界分布值
Figure BDA00001825865500044
传输给核k+1,传输给核k-1。
第十步:核k(k=2,…,K)将Max-Log-MAP译码得到的边信息序列
Figure BDA00001825865500046
传输给核1。
第十一步:核1将K份边信息序列
Figure BDA00001825865500047
组合成序列
Figure BDA00001825865500048
进行解交织得到先验信息序列
Figure BDA00001825865500049
第十二步:核1将
Figure BDA000018258655000410
按第二步中的分组方式,将分组后的第k份子序列
Figure BDA000018258655000411
发送给第k核。
第十三步:第三步到第十二步为一次迭代,如图2所示。若迭代达到6次,则译码结束,K个核均保存了一份子帧的译码结果,按核的编号顺序输出译码结果即为整个帧的译码结果;反之,回到第三步。由于传输了边界分布值发送至各个核,序列的初始状态度量是发生改变了的,因此对同一序列译码所得的结果不同的。
通过以上步骤就完成了基于多核DSP平台的Turbo并行译码方法。
由于Max-log-MAP算法是成熟的技术,本发明中涉及的边界分布值以及边信息序列为本领域标准的惯用术语,其具体的计算方法不在此赘述。
以3GPP系统中Turbo码为例,在TI多核DSP评估板C6474EVM上实现本发明,译码结果正确,且译码时间与参加译码的核数基本成反比,并行译码时间对比见下表所示。
  帧长(bits)   40   1400   2500   5114
  单核   217134   7710570   13698006   29064216
  两核   165468   4304160   7517664   16279458
  四核   110136   2365596   4105464   8847858

Claims (3)

1.一种基于多核DSP的Turbo并行译码方法,其特征在于,包括以下步骤:
第一步:核1读取待译码的原始的输入序列,所述原始的输入序列由三个长度为L的序列
Figure FDA00001825865400011
组成;将
Figure FDA00001825865400012
交织得到
Figure FDA00001825865400013
第二步:核1分别将序列分为K份子序列,分别记为
Figure FDA00001825865400015
Figure FDA00001825865400016
其中k=1,…,K,K为多核DSP的核总数;核1将序列的第k份子序列分别分配至对应的第k个核;
第三步:K个核对分配到的子序列
Figure FDA00001825865400018
进行一次Max-Log-MAP译码;
第四步:第k个核将此次Max-Log-MAP译码得到的边界分布值
Figure FDA00001825865400019
传输给第k+1个核,将此次Max-Log-MAP译码得到的边界分布值
Figure FDA000018258654000110
传输给第k-1个核;核的编号采用从1至K循环传递的方式,当k=K时,k+1=1,当k=1,k-1=K;
第五步:核1之外的k-1个核将此次Max-Log-MAP译码得到的边信息序列
Figure FDA000018258654000111
传输给核1;
第六步:核1将K份边信息序列
Figure FDA000018258654000112
组合成序列
Figure FDA000018258654000113
进行交织得到先验信息序列
Figure FDA000018258654000114
第七步:核1将先验信息序列
Figure FDA000018258654000115
分为K份子序列将先验信息序列的第k份子序列
Figure FDA000018258654000118
分别分配至对应的第k个核;
第八步:K个核对分配到的子序列
Figure FDA000018258654000119
进行一次Max-Log-MAP译码;
第九步:第k个核将此次Max-Log-MAP译码得到的边界分布值
Figure FDA000018258654000120
传输给第k+1个核,将此次Max-Log-MAP译码得到的边界分布值传输给第k-1个核;
第十步:核1之外的k-1个核将此次Max-Log-MAP译码得到的边信息序列
Figure FDA000018258654000122
传输给核1;
第十一步:核1将K份边信息序列组合成序列进行解交织得到先验信息序列
Figure FDA000018258654000125
第十二步:核1将先验信息序列
Figure FDA000018258654000126
分为K份子序列将先验信息序列的第k份子序列
Figure FDA000018258654000129
分别分配至对应的第k个核;
第十三步:一次迭代完成,若迭代达到预设的最大迭代次数,则译码结束;否则,返回第三步。
2.如权利要求1所述一种基于多核DSP的Turbo并行译码方法,其特征在于,第二步中K份子序列
Figure FDA00001825865400021
的长度lk分别为:
Figure FDA00001825865400022
Figure FDA00001825865400023
为向下取整;
第七步中K份子序列的长度lk分别为:
Figure FDA00001825865400027
第十二步中K份子序列
Figure FDA00001825865400028
的长度lk分别为:
Figure FDA00001825865400029
Figure FDA000018258654000210
3.如权利要求1所述一种基于多核DSP的Turbo并行译码方法,其特征在于,预设的最大迭代次数为6。
CN201210219194.5A 2012-06-28 2012-06-28 基于多核DSP的Turbo并行译码方法 Expired - Fee Related CN102723958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210219194.5A CN102723958B (zh) 2012-06-28 2012-06-28 基于多核DSP的Turbo并行译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210219194.5A CN102723958B (zh) 2012-06-28 2012-06-28 基于多核DSP的Turbo并行译码方法

Publications (2)

Publication Number Publication Date
CN102723958A true CN102723958A (zh) 2012-10-10
CN102723958B CN102723958B (zh) 2015-02-25

Family

ID=46949643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210219194.5A Expired - Fee Related CN102723958B (zh) 2012-06-28 2012-06-28 基于多核DSP的Turbo并行译码方法

Country Status (1)

Country Link
CN (1) CN102723958B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610448A (zh) * 2015-12-29 2016-05-25 北京中科晶上科技有限公司 基于多核DSP零尾卷积Viterbi译码的方法及系统
CN107113006A (zh) * 2014-08-13 2017-08-29 阿塞勒康姆有限公司 完全并行turbo解码
US11184109B2 (en) 2017-02-13 2021-11-23 Accelercomm Limited Parallel turbo decoding with non-uniform window sizes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020136282A1 (en) * 2001-03-26 2002-09-26 Quang Nguyen Optimum UMTS modem
CN101777924A (zh) * 2010-01-11 2010-07-14 新邮通信设备有限公司 一种Turbo码译码方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020136282A1 (en) * 2001-03-26 2002-09-26 Quang Nguyen Optimum UMTS modem
CN101777924A (zh) * 2010-01-11 2010-07-14 新邮通信设备有限公司 一种Turbo码译码方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107113006A (zh) * 2014-08-13 2017-08-29 阿塞勒康姆有限公司 完全并行turbo解码
CN107113006B (zh) * 2014-08-13 2021-05-25 阿塞勒康姆有限公司 完全并行turbo解码
CN105610448A (zh) * 2015-12-29 2016-05-25 北京中科晶上科技有限公司 基于多核DSP零尾卷积Viterbi译码的方法及系统
US11184109B2 (en) 2017-02-13 2021-11-23 Accelercomm Limited Parallel turbo decoding with non-uniform window sizes

Also Published As

Publication number Publication date
CN102723958B (zh) 2015-02-25

Similar Documents

Publication Publication Date Title
CN110999094B (zh) 通过与外系统码交织而级联的极化码的制码和解码
CN110113132B (zh) 一种编译码方法和终端
CN105356891B (zh) 一种高资源利用率的极性译码批处理方法
KR20100076893A (ko) 터보 코딩 방법 및 터보 코딩 방법을 구현하기 위한 장치
CN101478314A (zh) 一种里德-所罗门编码译码器及其译码的方法
WO2020075240A1 (en) Polar coding with distributed-crc and crc-aided successive cancellation decoding
CN102723958A (zh) 基于多核DSP的Turbo并行译码方法
CN103916134A (zh) 低密度奇偶校验码的混叠译码方法及多核协同混叠译码器
US9369236B2 (en) Decoding apparatus and method
US9048866B2 (en) Apparatus and method for checking decoded data, apparatus and method for decoding, and receiving terminal
US9319181B2 (en) Parallel decoder for multiple wireless standards
CN100350751C (zh) Turbo解码装置
Lee et al. Architecture design of QPP interleaver for parallel turbo decoding
US11070313B2 (en) Staircase code decoding method and staircase code decoding apparatus
CN102611464A (zh) 基于外信息并行更新的Turbo译码器
US8583993B2 (en) Turbo parallel concatenated convolutional code implementation on multiple-issue processor cores
CN103780335A (zh) 迭代译码的方法和装置
CN102035558B (zh) Turbo译码方法和装置
CN104184483A (zh) 一种参数可配置Turbo的码编码器
US8996948B2 (en) Methods, systems, and apparatus for tail termination of turbo decoding
CN101373977B (zh) 并行最大后验概率译码交织去交织的装置和方法
US9128888B2 (en) Method and apparatus for turbo decoder memory collision resolution
Banerjee et al. Performance analysis of four dimensional turbo code (4D-TC) using moment based simplified augmented state diagram (MSASD) approach: Extension to LTE system
US8769372B2 (en) System and method for assigning code blocks to constituent decoder units in a turbo decoding system having parallel decoding units
US12132500B2 (en) Accelerating bit error correction in a receiver

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150225

Termination date: 20180628

CF01 Termination of patent right due to non-payment of annual fee