CN106856425A - 用于长期演进的turbo译码器及工作方法 - Google Patents

用于长期演进的turbo译码器及工作方法 Download PDF

Info

Publication number
CN106856425A
CN106856425A CN201611255797.5A CN201611255797A CN106856425A CN 106856425 A CN106856425 A CN 106856425A CN 201611255797 A CN201611255797 A CN 201611255797A CN 106856425 A CN106856425 A CN 106856425A
Authority
CN
China
Prior art keywords
data
measurement
branch
state measurement
state
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.)
Pending
Application number
CN201611255797.5A
Other languages
English (en)
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.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201611255797.5A priority Critical patent/CN106856425A/zh
Publication of CN106856425A publication Critical patent/CN106856425A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种用于长期演进的turbo译码器,包括数据分组单元、分支度量计算单元、状态度量计算单元、存储单元、计算单元、RAM和交织单元,其中状态度量计算单元包括两个寄存器,实现了前向状态度量和后向状态度量的分开、并行计算,缩短了关键路径,提高了译码速度和精度。同时,本发明还提供了一种用于长期演进的turbo译码器的工作方法。

Description

用于长期演进的turbo译码器及工作方法
技术领域
本发明属于无线通信技术领域,特别涉及一种用于长期演进(LTE)的turbo译码器及工作方法。
背景技术
1993年,在Intemational Conference on Communication(国际通信大会),C.Berrou,A.Glavieux和P.Thitimajshima提出Turbo码的概念。Turbo码的提出具有里程碑式的意义,以其接近Shannon(香农)限的优异性能引起了学者们的广泛关注和研究。Turbo码实际上是一种Parallel Concatenated Convolutional Codes(并行级联卷积码)。它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两组SISO(软入/软出)译码器之间进行多次迭代实现了伪随机译码。由于性能远远超过了其他的编码方式,Turbo码已逐渐被应用到卫星通信、网络、广播、个人通信等实时通信***中。目前Turbo码已经作为3G和4G的信道编码标准。
然而由于其译码算法复杂度较高,硬件实现难度较大,并且SISO迭代译码算法使得译码速度很慢,延时很大。所以如何在保证译码性能的前提下有效的提高译码速是人们一直研究的热点问题。
发明内容
(一)要解决的技术问题
本发明的目的在于提供一种用于长期演进的turbo译码器及工作方法,以解决上述的至少一项技术问题。
(二)技术方案
本发明提供了一种用于长期演进的turbo译码器,包括:
数据分组单元,用于对输入数据分组,得到M组长度为K的数据,其中M、K为正整数;
分支度量计算单元,用于根据分组后的数据,计算并输出分支度量,即前向分支度量和后向分支度量;
状态度量计算单元包括第一寄存器和第二寄存器,用于分开且并行计算前向状态度量和后向状态度量,即状态度量,同时输出外部信息;
存储单元,用于交叉存储K/2之前的前向状态度量和后向状态度量,且存储的前向状态度量和后向状态度量先入后出;
计算单元,用于根据K/2之后的状态度量、存储单元输出的K/2之前的状态度量和分支度量,计算对数域的最大似然值;
RAM,用于接收并输出所述最大似然值;
交织单元,用于对RAM输出的数据进行交织处理,并输出交织后的数据至分支度量计算单元。
优选地,所述译码器还包括延时单元,用于延时数据的传输。
优选地,所述译码器还包括解交织单元,包括行地址解映射单元和列地址写入生成器,用于对所述交织后的数据进行解交织处理,并将解交织后的数据输出至RAM。
优选地,所述分组后的数据按头尾顺序轮流输入所述分支度量计算单元。
基于同一发明构思,本发明还提供了一种用于长期演进的turbo译码器的工作方法,包括:
S1、将长度为N的输入数据分组,得到M组长度为K的数据;
S2、从第一组数据的两端开始处理,从前向后计算前向分支度量,从后向前计算后向分支度量;
S3、根据计算得到的分支度量计算相应的状态度量;
S4、根据所述分支度量和状态度量,计算并输出对数域的最大似然值和外部信息;
S5、根据所述最大似然值计算分支度量,并重复步骤S3和S4;
S6、重复步骤S5,对其余组数据进行译码处理。
优选地,步骤S3中状态度量的计算包括:将指向同一点的前一状态度量和分支度量相加,即为a;将后一状态度量和分支度量相加,即为b,求得|a-b|,以及max(a,b);对|a-b|查表,与max(a,b)累加,选通输出操作结果,即为该点的状态度量。
优选地,所述查表的表格数据为补偿曲线f(c)=ln(1+exp(-|a-b|))的数据。
(三)有益效果
从上述技术方案可以看出,相对于现有技术,在增加较少的硬件基础上,通过对前向状态度量和后向状态度量的交叉处理。缩短了关键路径,使得译码器在吞吐量不变的情况下可以用LOG-MAP(对数域的最大似然算法)的处理数据,和传统的MAX-LOG-MAP(最大对数近似算法)比较,译码精度能够提高0.3个DB。
附图说明
图1是本发明实施例的turbo译码器的***结构图;
图2为本发明实施例的分支向量的计算示意图;
图4为本发明实施例的状态度量的计算示意图;
图3为本发明实施例的计算单元的示意图;
图5为本发明实施例的译码器信息传输示意图;
图6为本发明实施例的步骤流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明实施例的一方面,提供了一种用于长期演进的turbo译码器,在不降低速率和增加极少硬件消耗的基础上,在状态度量计算单元增加了两个寄存器吗,实现采用LOG-MAP(对数域的最大似然算法)替代MAX-LOG-MAP(最大对数近似算法),提高了译码精度。图1为本发明实施例的turbo译码器的***结构图,如图1所示,该译码器包括:数据分组单元,用于对输入数据分组,得到M组长度为K的数据,其中M、K为正整数;分支度量计算单元,用于根据按头尾顺序轮流输入的分组后的数据,计算并输出分支度量,即前向分支度量和后向分支度量;状态度量计算单元包括第一寄存器和第二寄存器,用于分开且并行计算前向状态度量和后向状态度量,即状态度量,同时输出外部信息;存储单元,用于交叉存储K/2之前的前向状态度量和后向状态度量,且存储的前向状态度量和后向状态度量先入后出;计算单元,于根据K/2之后的状态度量、存储单元输出的K/2之前的状态度量和分支度量,计算对数域的最大似然值;RAM,用于接收并输出所述最大似然值,结束前半次译码过程。
交织单元,用于对RAM输出的数据进行交织处理,并输出交织后的数据至分支度量计算单元。分支度量计算单元根据交织后的数据计算并输出分支度量,状态度量计算单元包括第一寄存器和第二寄存器,用于根据所述分支度量,分开且并行计算前向状态度量和后向状态度量,即状态度量,同时输出外部信息;存储单元,用于交叉存储K/2之前的前向状态度量和后向状态度量,且存储的前向状态度量和后向状态度量先入后出;计算单元用于根据K/2之后的状态度量、存储单元输出的K/2之前的状态度量和分支度量,计算对数域的最大似然值;RAM,用于接收并输出所述最大似然值,结束后半次译码过程,实现所述译码器的一次译码过程。
所述译码器还包括:延时单元,用于延时数据的传输;解交织单元,包括行地址解映射单元和列地址写入生成器,用于对所述交织后的数据进行解交织处理,并将解交织后的数据输出至RAM,实现数据的还原。
图2为本发明实施例的分支向量的计算示意图,如图2所示,输入的数据由前向传输数据和后向传输数据交叉形成的新数据。进入到了分支度量状态单元,根据奇偶选择,对输入的数据进行不同的处理,对于由前向后数据送入前向分支度量计算模块,输出的分支度量用于计算前向状态度量α的计算。从后向前传输的数据送入后向度量分支,计算出的分支度量用于后向状态度量β的计算。
图3为本发明实施例的状态度量的计算示意图,如图3所示,从前向后计算前向分支状态度量其中m代表第m组,i代表数据序列号。从后向前计算后向分支度量其中k代表数据窗口的长度。
当前向状态度量α和后向状态度量β到达K/2之前,计算相遇之前的分支度量和相应的状态度量;当前向状态度量α和后向状态度量β到达K/2之后,计算相应的状态度量同时进行译码和外信息的计算。
图4为本发明实施例的状态单元的示意图,如图4所示,LOG-MAP算法中,α和β计算是由8组加比选查表再加模块组成。其中表格对应着补偿曲线f(c)=ln(1+exp(-|α-b|))对应的数据,当a-b足够大时,补偿函数为0。每个加比选查表再加模块,即可以处理前向状态度量也可以处理后向状态度量。
指向同一状态的两路数据相加形成a和b两个数相减,差值取绝对值进行查表计算,查表的结果和两数的最大值进行累加形成新的α和β进行新的计算。其中前一组α和β经过第一加法器的运算得到a,后一组α和β经过第二加法器得到b,a和b经过第三加法器运算得到a和b的差值的绝对值。由于加比选查表再加模块处理起来需要时间过长,因此在操作中往往采用MAX-LOG-MAP算法,即不采用查表,累加计算。直接使用较大值作为新的α和β用于下一轮计算。这样缩短了关键路径,但是由于没有信号补偿,导致性能下降了。为了解决这个问题,增加了两个寄存器:第一寄存器regl和第二寄存器reg2,regl用于存储a和b的差值的绝对值|a-b|,reg2用于存储a和b中的较大值max(a,b)。之后,对差值的绝对值进行查表,并与较大值进行累加,完成最大似然值的计算过程。两个寄存器把前向状态度量和后向状态度量的计算分成了两个部分。在交叉计算中,前向状态度量和后向状态度量可以在两个部分中分别进行计算。当前一部分计算前向状态度量α时,后一部分计算后向状态向量β,反之亦然,这样在只增加少量寄存器的情况下,缩短了关键路径,同时保证了计算的精准。
图5为本发明实施例的译码器信息传输示意图,如图5所示,每次迭代分两步,第一步为前半次迭代,输入的数据为***信息,校验信息1和先验信息1。第二步为后半次迭代,输入的数据为交织后的***信息,校验信息2和先验信息2。前半次迭代译码,先验信息1设为零,***信息1和校验信息1首先进入分支度量计算单元,计算出的分支度量给到状态度量计算单元。轮流计算前向分支度量α和后向分支度量β。在前向状态度量α和后向状态度量β到达K/2之前即相遇之前,结果存入到存储单元中。在前向状态度量α和后向状态度量β到达K/2之后即相遇之后,将K/2后计算得到的前向状态度量α和后向状态度量β输入到计算单元,计算出最大似然值,同时得到外部信息1。后半次迭代译码,译码器2首先读取外部信息1经过交织后的先验信息2,接收经过交织后的校验信息2和***信息2重复前半次迭代译码的过程,其中得到的外部信息2解交织后得到译码器1进行下一次迭代译码的先验信息1。
本发明实施例的另一方面还提供了一种用于长期演进的turbo译码器的工作方法,图6为本发明实施例的步骤流程图,如图6所示,所述方法包括:
S1、将长度为N的输入数据分组,得到M组长度为K的数据;
S2、从第一组数据的两端开始处理,从前向后计算前向分支度量,从后向前计算后向分支度量;
S3、根据计算得到的分支度量计算相应的状态度量;
S4、根据K/2之后的分支度量计算相应的状态度量,计算并输出对数域的最大似然值和外部信息;
S5、根据所述最大似然值计算分支度量,并重复步骤S3和S4;
S6、重复步骤S5,对其余组数据进行译码处理。
步骤S4中最大似然值的计算包括:将一点的前一状态度量和分支度量相加,即为a;将后一状态度量和分支度量相加,即为b,求得|a-b|,以及max(a,b);对|a-b|查表,与max(a,b)进行累加,选通输出累加后的结果即该点的状态度量,所述查表的表格数据为补偿曲线f(c)=ln(1+exp(-|a-b|))的数据。其中,最大似然值的计算方法为译码为1的概率减去译码为-1的概率。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种用于长期演进的turbo译码器,其特征在于,包括:
数据分组单元,用于对输入数据分组,得到M组长度为K的数据,其中M、K为正整数;
分支度量计算单元,用于根据分组后的数据,计算并输出分支度量,即前向分支度量和后向分支度量;
状态度量计算单元包括第一寄存器和第二寄存器,用于分开且并行计算前向状态度量和后向状态度量,即状态度量,同时输出外部信息;
存储单元,用于交叉存储K/2之前的前向状态度量和后向状态度量,且存储的前向状态度量和后向状态度量先入后出;
计算单元,用于根据K/2之后的状态度量、存储单元输出的K/2之前的状态度量和分支度量,计算对数域的最大似然值;
RAM,用于接收并输出所述最大似然值;
交织单元,用于对RAM输出的数据进行交织处理,并输出交织后的数据至分支度量计算单元。
2.根据权利要求1所述的译码器,其特征在于,还包括延时单元,用于延时数据的传输。
3.根据权利要求1所述的译码器其特征在于,还包括解交织单元,包括行地址解映射单元和列地址写入生成器,用于对所述交织后的数据进行解交织处理,并将解交织后的数据输出至RAM。
4.根据权利要求1所述的译码器其特征在于,所述分组后的数据按头尾顺序轮流输入所述分支度量计算单元。
5.一种用于长期演进的turbo译码器的工作方法,其特征在于,包括:
S1、将长度为N的输入数据分组,得到M组长度为K的数据;
S2、从第一组数据的两端开始处理,从前向后计算前向分支度量,从后向前计算后向分支度量;
S3、根据计算得到的分支度量计算相应的状态度量;
S4、根据所述分支度量和状态度量,计算并输出对数域的最大似然值和外部信息;
S5、根据所述最大似然值计算分支度量,并重复步骤S3和S4;
S6、重复步骤S5,对其余组数据进行译码处理。
6.根据权利要求5所述的方法,其特征在于,步骤S3中状态度量的计算包括:将指向同一点的前一状态度量和分支度量相加,即为a;将后一状态度量和分支度量相加,即为b,求得|a-b|,以及max(a,b);对|a-b|查表,与max(a,b)累加,选通输出操作结果,即为该点的状态度量。
7.根据权利要求6所述的方法,其特征在于,所述查表的表格数据为补偿曲线f(c)=ln(1+exp(-|a-b|))的数据。
CN201611255797.5A 2016-12-29 2016-12-29 用于长期演进的turbo译码器及工作方法 Pending CN106856425A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611255797.5A CN106856425A (zh) 2016-12-29 2016-12-29 用于长期演进的turbo译码器及工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611255797.5A CN106856425A (zh) 2016-12-29 2016-12-29 用于长期演进的turbo译码器及工作方法

Publications (1)

Publication Number Publication Date
CN106856425A true CN106856425A (zh) 2017-06-16

Family

ID=59126644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611255797.5A Pending CN106856425A (zh) 2016-12-29 2016-12-29 用于长期演进的turbo译码器及工作方法

Country Status (1)

Country Link
CN (1) CN106856425A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217336A (zh) * 2007-01-04 2008-07-09 浙江华立通信集团有限公司 TD-SCDMA/3G硬核turbo译码器
CN101388674A (zh) * 2008-10-23 2009-03-18 华为技术有限公司 一种译码的方法、译码器以及Turbo码译码器
CN101938330A (zh) * 2010-09-02 2011-01-05 复旦大学 一种多码率Turbo码译码器及其存储资源优化方法
CN102340320A (zh) * 2011-07-08 2012-02-01 电子科技大学 卷积Turbo码双向并行译码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217336A (zh) * 2007-01-04 2008-07-09 浙江华立通信集团有限公司 TD-SCDMA/3G硬核turbo译码器
CN101388674A (zh) * 2008-10-23 2009-03-18 华为技术有限公司 一种译码的方法、译码器以及Turbo码译码器
CN101938330A (zh) * 2010-09-02 2011-01-05 复旦大学 一种多码率Turbo码译码器及其存储资源优化方法
CN102340320A (zh) * 2011-07-08 2012-02-01 电子科技大学 卷积Turbo码双向并行译码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨乐,叶甜春: "LTE turbo decoder design", 《JOURNAL OF SEMICONDUCTORS》 *

Similar Documents

Publication Publication Date Title
CN101388674B (zh) 一种译码的方法、译码器以及Turbo码译码器
US20030097633A1 (en) High speed turbo codes decoder for 3G using pipelined SISO Log-Map decoders architecture
CN104092470B (zh) 一种Turbo码译码装置及方法
EP2621091B1 (en) Turbo code parallel interleaving with quadratic permutation polynomial (qpp) functions
CN101026439A (zh) 一种提高Turbo码译码速率的译码方法
WO2004062111A9 (en) High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture
CN102340320B (zh) 卷积Turbo码双向并行译码方法
CN103986557A (zh) 低路径延迟的LTE Turbo码并行分块译码方法
CN106856425A (zh) 用于长期演进的turbo译码器及工作方法
CN1328386A (zh) 并行滑动窗最大后验概率算法及其高速Turbo码译码器
CN106059597A (zh) 一种基于概率Turbo译码器的有符号概率计算单元
CN1988391A (zh) 运算电路
CN1983826A (zh) 一种Turbo译码装置及方法
CN102270993B (zh) 一种同时实现交织与解交织的Turbo译码器
CN113872615A (zh) 一种可变长度的Turbo码译码器装置
Chen et al. A 691 Mbps 1.392 mm 2 configurable radix-16 turbo decoder ASIC for 3GPP-LTE and WiMAX systems in 65nm CMOS
CN103916141B (zh) Turbo码译码方法及装置
CN100589329C (zh) 一种双二进制ctc译码装置
CN103888224B (zh) 一种用于LTE***Turbo码内交织的并行实现方法及装置
CN103701475A (zh) 移动通信***中8比特运算字长Turbo码的译码方法
CN106712778A (zh) 一种turbo译码装置及方法
CN109831217A (zh) 一种Turbo码译码器、用于Turbo码的分量译码器及分量译码方法
CN101924566B (zh) 用于长期演进的Turbo编码方法和Turbo编码器
CN106899313A (zh) 一种支持LTE标准的Turbo码译码装置及方法
CN116961841B (zh) 用于高速数据中心的译码方法、装置和存储介质

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170616