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

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

Info

Publication number
CN102723958B
CN102723958B CN201210219194.5A CN201210219194A CN102723958B CN 102723958 B CN102723958 B CN 102723958B CN 201210219194 A CN201210219194 A CN 201210219194A CN 102723958 B CN102723958 B CN 102723958B
Authority
CN
China
Prior art keywords
core
sequence
kth
expenses
share
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.)
Expired - Fee Related
Application number
CN201210219194.5A
Other languages
English (en)
Other versions
CN102723958A (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

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的序列组成;将交织得到
第二步:核1分别将序列分为K份子序列,分别记为 其中k=1,...,K,K为多核DSP的核总数;核1将序列的第k份子序列分别分配至对应的第k个核;
第三步:K个核对分配到的子序列进行一次Max-Log-MAP译码;
第四步:第k个核将此次Max-Log-MAP译码得到的边界分布值传输给第k+1个核,将此次Max-Log-MAP译码得到的边界分布值传输给第k-1个核;核的编号采用从1至K循环传递的方式,当k=K时,k+1=1,当k=1,k-1=K;
第五步:核1之外的K-1个核将此次Max-Log-MAP译码得到的边信息序列传输给核1;
第六步:核1将K份边信息序列组合成序列进行交织得到先验信息序列
第七步:核1将先验信息序列分为K份子序列将先验信息序列的第k份子序列分别分配至对应的第k个核;
第八步:K个核对分配到的子序列进行一次Max-Log-MAP译码;
第九步:第k个核将此次Max-Log-MAP译码得到的边界分布值传输给第k+1个核,将此次Max-Log-MAP译码得到的边界分布值传输给第k-1个核;
第十步:核1之外的k-1个核将此次Max-Log-MAP译码得到的边信息序列传输给核1;
第十一步:核1将K份边信息序列组合成序列进行解交织得到先验信息序列
第十二步:核1将先验信息序列分为K份子序列将先验信息序列的第k份子序列分别分配至对应的第k个核;
第十三步:一次迭代完成,若迭代达到预设的最大迭代次数,则译码结束;否则,返回第三步。
本发明将数据帧划分为不交叠的数据子帧,并采用多核并行译码来提升译码的速度。并且,在译码过程中,设计了子帧间的信息传递方式,使得最终译码结果为最优输出。相对于现有Turbo译码器级的并行方法,本发明能对统一数据帧进行并行处理。相对于现有BCJR-SISO译码器级的并行方法,本发明有多个子译码模块,每个子译码模块中含有两个SISO译码器,因此本发明的并行度比该方法高,能进一步缩短译码时间。相对于现有BCJR算法级并行方法,本发明利用了所有的观察信息(全部帧数据),并通过子块间传递这些信息,使得每个子模块的译码精度都受到整个帧的影响,而不是部分帧数据的影响。另外,本发明采用对数据采用无交叠的分块,比一般的交叠分块计算量小,更适合并行。本发明在算法层面进行并行化,各个核的译码由软件编程实现,而不是通过硬件逻辑的改变来增加并行度。因此,可以在硬件不变的情况下,对软件进行升级。
本发明的有益效果是,能够在多个处理核的DSP上并行、成倍提高译码速度,并且支持软件升级,可用于软件无线电。
附图说明
图1为核1到核K之间通信的示意图。
图2为本发明Turbo并行译码算法原理图。
具体实施方式
本发明基于多核DSP平台,核总数为K,主核为核1,核1将一个大的数据块分成K个无不重叠的独立子块,K个并行的核分别对各个子块进行处理,从而提升运算速度。核1到核K之间通信的示意图如1所示。
Turbo并行译码方法包括以下步骤:
第一步:核1读取待译码数据,包括序列交织得到序列 合在一起就是原始的输入序列,它唯一的决定了译码器的输出。这个是Turbo编码的标准,数据编码后就得到这三个序列,所以解码器中也应该输入这三个序列进行处理。
第二步:核1将每个序列分为K份子序列,每份记为长度分别为:将第k份子序列分配给第k核。k=1份即核1保留,为向下取整。
第三步:核k(k=1,...,K)对长度为lk的子序列进行一次Max-Log-MAP译码。
第四步:核k(k=1,...,K)将自己译码过程中得到的边界分布值传输给核k+1,传输给核k-1。数据采用循环传递的方式,即当k=K时,需要传给K+1的数据是发送给核1的,当k=1时,需要传送给K-1的数据是发送给K的。
第五步:除核1之外的核将Max-Log-MAP译码得到的边信息序列传输给核1。
第六步:核1将K份边信息序列组合成序列进行交织得到先验信息序列
第七步:核1将按第二步中的分组方式,将分组后的第k份子序列发送给第k核。
第八步:核k(k=1,...,K)对长度为lk的子序列进行一次Max-Log-MAP译码。
第九步:核k(k=1,...,K)将自己译码过程中得到的边界分布值传输给核k+1,传输给核k-1。
第十步:核k(k=2,...,K)将Max-Log-MAP译码得到的边信息序列传输给核1。
第十一步:核1将K份边信息序列组合成序列进行解交织得到先验信息序列
第十二步:核1将按第二步中的分组方式,将分组后的第k份子序列发送给第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 (2)

1.一种基于多核DSP的Turbo并行译码方法,其特征在于,包括以下步骤: 
第一步:核1读取待译码的原始的输入序列,所述原始的输入序列由三个长度为L的序列组成;将交织得到
第二步:核1分别将序列分为K份子序列,分别记为 其中k=1,…,K,K为多核DSP的核总数;核1将序列的第k份子序列分别分配至对应的第k个核; 
第三步:K个核对分配到的子序列进行一次Max-Log-MAP译码; 
第四步:第k个核将此次Max-Log-MAP译码得到的边界分布值传输给第k+1个核,将此次Max-Log-MAP译码得到的边界分布值传输给第k-1个核;核的编号采用从1至K循环传递的方式,当k=K时,k+1=1,当k=1,k-1=K; 
第五步:核1之外的K-1个核将此次Max-Log-MAP译码得到的边信息序列传输给核1; 
第六步:核1将K份边信息序列组合成序列进行交织得到先验信息序列
第七步:核1将先验信息序列分为K份子序列将先验信息序列的第k份子序列分别分配至对应的第k个核; 
第八步:K个核对分配到的子序列进行一次Max-Log-MAP译码; 
第九步:第k个核将此次Max-Log-MAP译码得到的边界分布值传输给第k+1个核,将此次Max-Log-MAP译码得到的边界分布值传输给第k-1个核; 
第十步:核1之外的K﹣1个核将此次Max-Log-MAP译码得到的边信息序列传输给核1; 
第十一步:核1将K份边信息序列组合成序列进行解交织得到先验信息序列 
第十二步:核1将先验信息序列分为K份子序列将先验信息序列的第k份子序列分别分配至对应的第k个核; 
第十三步:一次迭代完成,若迭代达到预设的最大迭代次数,则译码结束;否则,返回 第三步; 
其中,第二步中K份子序列的长度lk分别为: 为向下取整; 
第七步中K份子序列的长度lk分别为:
第十二步中K份子序列的长度lk分别为:
2.如权利要求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 CN102723958A (zh) 2012-10-10
CN102723958B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2529209B (en) * 2014-08-13 2021-05-26 Accelercomm Ltd Detection circuit, receiver, communications device and method of detecting
CN105610448A (zh) * 2015-12-29 2016-05-25 北京中科晶上科技有限公司 基于多核DSP零尾卷积Viterbi译码的方法及系统
GB2559616A (en) 2017-02-13 2018-08-15 Accelercomm Ltd Detection circuit, receiver, communications device and method of detecting

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777924A (zh) * 2010-01-11 2010-07-14 新邮通信设备有限公司 一种Turbo码译码方法和装置

Family Cites Families (1)

* 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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777924A (zh) * 2010-01-11 2010-07-14 新邮通信设备有限公司 一种Turbo码译码方法和装置

Also Published As

Publication number Publication date
CN102723958A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
CN102075198B (zh) 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
US20180351693A1 (en) Decoding method and apparatus in wireless communication system
CN102723958B (zh) 基于多核DSP的Turbo并行译码方法
CN104092470B (zh) 一种Turbo码译码装置及方法
CN108574494B (zh) 编译码方法及装置
KR20100076893A (ko) 터보 코딩 방법 및 터보 코딩 방법을 구현하기 위한 장치
WO2020119770A1 (zh) 信息处理方法、设备及计算机存储介质
US9369236B2 (en) Decoding apparatus and method
CN102394663B (zh) 前馈卷积码的分段并行编码方法
Xianjun et al. A 122Mb/s turbo decoder using a mid-range GPU
EP2600551B1 (en) Method and equipment for increasing bitwise throughput in transmitter of lte base station
CN103997648A (zh) 一种基于dsp的jpeg2000标准图像快速解压缩系统及方法
CN103812510A (zh) 译码方法及装置
CN102611464B (zh) 基于外信息并行更新的Turbo译码器
CN106533454B (zh) Turbo码译码迭代控制方法及装置
CN103763064A (zh) 适用于超高速通讯系统的循环冗余校验码生成方法与电路
CN103595424A (zh) 分量译码方法、译码器及Turbo译码方法、装置
CN102377438B (zh) 信道译码方法和咬尾卷积译码器
Halim et al. Software-based turbo decoder implementation on low power multi-processor system-on-chip for Internet of Things
CN103227690B (zh) 解码方法、解码器装置和电子设备
CN101882933B (zh) 一种LTE中进行Turbo译码的方法及Turbo译码器
US20140068398A1 (en) Apparatus and method for checking decoded data, apparatus and method for decoding, and receiving terminal
CN101411071A (zh) 具有双向滑动窗口体系结构的map译码器
CN102638273A (zh) 一种提高译码器吞吐率的ar4ja码译码方法
CN103780335A (zh) 迭代译码的方法和装置

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150225

Termination date: 20180628