CN115514377A - 一种Turbo解码电路及解码方法 - Google Patents
一种Turbo解码电路及解码方法 Download PDFInfo
- Publication number
- CN115514377A CN115514377A CN202210976461.7A CN202210976461A CN115514377A CN 115514377 A CN115514377 A CN 115514377A CN 202210976461 A CN202210976461 A CN 202210976461A CN 115514377 A CN115514377 A CN 115514377A
- Authority
- CN
- China
- Prior art keywords
- information
- decoder
- input
- sequence
- detection 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.)
- Pending
Links
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/27—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 using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
-
- 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
-
- 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/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
技术领域
本发明涉及集成电路领域,尤其涉及一种Turbo解码电路及解码方法。
背景技术
在NB-IoT的数字基带处理中,Turbo码是通常用于无线数据传输的一种接近香农极限的纠错编码方案,引起了很大关注。在NB-IoT应用场景中,对于功耗的要求极为严格。而在整个设计过程中,分量译码器是设计的关键所在,不同标准中的turbo码的结构不同,一般有两种算法用于Turbo码的执行:一类是基于维特比译码算法改进得来的软输出维特比译码算法(SOVA算法);另一类是最大后验概率译码算法(MAP算法)及其改进算法。
SOVA算法具有译码复杂度低,便于实现的优点,但其的译码性能表现最差且缺乏稳定性。MAP算法的译码性能优于SOVA算法,缺点是运算复杂度高和需要的存储空间较大,在实际中难于实现。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种Turbo解码电路及解码方法。
本发明所采用的技术方案是:
一种Turbo解码电路,包括第一解码器、第二解码器、第一交织器、第二交织器和解交织器;
所述Turbo解码电路的译码过程是一个迭代过程,输入的是***信息比特的先验信息,经过译码之后,输出的是***信息比特的后验信息;
其中一次迭代过程如下:
所述第一解码器的输入信息包括信息序列的检测值s(k)、第一校验序列的检测值p(k)以及信息比特序列的先验信息第一解码器输出信息序列各比特的后验信息后验信息经过第一交织器后输入到第二解码器;信息序列的检测值s(k)经过第二交织器后输入到第二解码器;
将解码器的输入输出计算过程转化为对数形式,把乘法运算转换为加法运算,以避免复杂的指数运算。
进一步地,所述第一解码器和第二解码器的结构相同,均为软输入输出译码器;
信息在两个解码器之间不断地进行交换和迭代,以达到Turbo码译码性能的要求。
进一步地,对前向递推、后向递推和分支度量进行对数化取值,再进行计算。
进一步地,解码器包括分支度量计算模块、前向递推模块、后向递推模块、似然信息计算模块和外部信息计算模块;
所述前向递推模块和后向递推模块,根据四个分支度量Mk(e)进行计算,获得当前时刻的递推值;
所述似然信息计算模块根据递推值进行计算,获得似然比的结果;
所述外部信息计算模块用于根据似然比的结果计算当前解码器所产生的外信息。
进一步地,所述分支度量计算模块由加法器和反相器组成。
进一步地,所述前向递推模块和所述后向递推模块均有加法器和比较器组成。
进一步地,所述Turbo解码电路采用并行解码的方式进行解码。
本发明所采用的另一技术方案是:
一种解码方法,应用于如上所述的一种Turbo解码电路,包括以下步骤:
对检测值s(k)进行进行一次交织以后输入第二解码器;
信息在两个解码器之间不断地进行交换和迭代,直到达到Turbo码译码性能的要求。
本发明的有益效果是:本发明通过对译码器的输入输出计算过程转化为对数形式,把乘法运算转换为加法运算,避免复杂的指数运算,极大地简化了运算过程,减少译码延时,且能够取得低功耗的效果。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中Turbo解码器电路的结构图;
图2是本发明实施例中低功耗Turbo码解码电路的总体电路图;
图3是本发明实施例中网格图边的概念的示意图;
图4是本发明实施例中分支度量计算模块的电路图;
图5是本发明实施例中前向状态度量及后向状态度量计算模块的电路图;
图6是本发明实施例中似然比计算模块及外信息计算模块电路图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
由于MAP算法的提出较早,经过几十年的修正改进,其译码性能在逼近于香浓极限的同时,译码运算量和复杂度也得到了极大的下降,MAP算法的改进算法在实际应用中已经被更广泛的推广。本发明中所涉及的Max-Log-MAP算法是对MAP算法的进一步简化,与Log-MAP算法相比,使用了max()函数来拟等于max*()函数,去除查找数据表的流程,进一步简化了运算过程,减少译码延时,降低复杂度和所需的存储空间。此简化过程带来的后果就是损失了约0.3dB的译码性能,但对于***总体增益裕度较大的应用领域,这些性能损失换来的硬件成本和实时性确实可观的。以下对本发明的Turbo码译码电路进行详细解释说明。
如图1所示,图1是Turbo解码器电路的结构图,Turbo码译码过程是一个迭代过程,Turbo码译码电路包括两个结构相同的解码器(即解码器1和解码器2),在本实施例中,两个解码器均为软输入输出译码器(SISO)。解码器输入的是***信息比特的先验信息,经过译码之后,输出的是***信息比特的后验信息。
图1中的参数定义如下:
p(k)—校验信息,校验序列的检测值。
s(k)—***信息,信息序列的检测值。
La(uk)—先验信息,来自初始先验信息或上一次迭代的结果。
Le(uk)—后验信息,信息比特经过译码算法计算的输出结果。
L(uk)—似然信息,输入码元信息uk的对数似然比。
在一处迭代过程中,解码器1的输入为接收到的信息序列的检测值s(k),接收到的第一个子编码器产生的校验序列的检测值p(k),以及信息比特序列的先验信息经过译码运算以后,输出信息序列各比特的后验信息该后验信息经过一次交织以后,输入到解码器2中并作为其先验信息。同时接收到的信息序列s(k)也经过一次交织后输入到解码器2,以及接收到对应于第二个子编码器的校验序列p’(k)。解码器2经过译码计算以后,输出(交织过的)信息序列各比特的后验信息该后验信息序列经过一次解交织以后,输入到解码器2中,作为下一次迭代过程中译码器1的先验信息。这样软信息在两个子解码器之间不断地进行交换和迭代,达到Turbo码译码性能的要求。
在分析判决函数之前,先定义网格中的边概念,也称为分支(对应分支度量),如图3所示。其中边的起始状态和终止状态分别为和输入信息符号为uk(e),码字符号为ck(e),时间索引为k。可见,在k时刻,输入信息比特和起始状态唯一确定了输出码字、结束状态以及网格图中的边。这里
图3中各字符的定义如下:
uk—k时刻输入的信息比特。
ck—k时刻的编码输出码字。
Xk—k时刻的发送符号。
Yk—k时刻的接收符号。
对于MAP算法的译码器输出码元信息uk的后验概率对数似然比为如公式1所示:
接收信息比特u有两种码元状态u=0或者1,则k时刻译码输出信息比特概率的后验概率如公式2所示:
推导完前向递推和后向递推后,剩下的γk(s)为分支转移概率,又称分支度量,利用贝叶斯公式,可推导为公式3:
综上所述,对前向递推、后向递推和分支度量进行推导后,MAP算法课用对数似然比(LLR)作为判决函数,如公式4所示:
由上可知,MAP译码算法中,含有大量的指数运算和乘法运算,导致译码复杂度较高,硬件实现难度大。因此,本实施例中,通过对译码器的输入输出计算过程转化为对数形式,把乘法运算转换为加法运算,避免复杂的指数运算。对关键的前向递推、后向递推和分支度量进行对数化取值,根据map算法中的计算,引入雅可比等式,如公式5所示:
ln(ex+ey)=max(x,y)+ln(1+e-|x-y|)=max*(x,y) (5)
Max-Log-MAP算法是对MAP算法的进一步简化,与Log-MAP算法相比,使用了max()函数来拟等于max*()函数,则对Log-MAP算法的判决函数进行简化后的结果如公式6所示。最终,Max-Log-MAP算法所计算出的译码结果是根据LM-log(uk)的值判决得出的,如公式7所示。
如图2所示,如2是的Turbo码解码总体电路图。从图2中可以看出,解码器中包括分支度量计算Mk、前向递推模块、后向递推模块、似然信息计算LLR和外部信息计算Le四部分。
参见图4,图4是分支度量计算模块的电路图。本***的传输信道模型是信道比为Es/No加性高斯白噪声信道(AWGN),编码信息在信道中经过BPSK调制,发送的校验信息符号是码元双极性变换后的结果,即根据前面介绍的Turbo码的状态转移图可知,某一时刻的任一个状态仅有两条边转移到下一时刻的某一状态,则网格图中仅有4条边能在相邻时刻进行状态转移,当校验位取±1,外信息Le和的不同组合使得分支度量Mk(e)取四个不同的值,分别为Mk(0,0),Mk(0,1),Mk(1,0),Mk(1,1)。
参见图5,图5是前向状态度量及后向状态度量计算模块电路图Turbo码编码电路中复接器的电路图。状态度量模块计算采用反馈迭代结构,将运算得到的新的状态度量值反馈到输入端,以便参与下次的递推运算。图5是一个四状态前向递推硬件实现结构图,后向递推同理。前后向递推值是Turbo译码迭代过程中两个重要的中间变量,由图中电路结构可以看出,递推值的计算是将对应的分支度量值以及前一时刻的递推值相加并比较,从而计算当前时刻的递推值。
参见图6,图了是似然比计算模块及外信息计算模块电路图。在似然比计算模块中,可以分为四个部分,第一个部分和第二个部分进行计算输入数据uk取0或1时的路径,第三部分和第四部分对相应的分支度量和状态度量进行对比,最终得出似然比的结果。而外信息计算模块电路模块来计算当前子译码器所产生的外信息,该信息将会被反馈至另一子译码器作为先验信息使用。
从图4-图6中,可以清晰地看出,解码器中的所有运算都是简单的相加或者比较运算,极大地简化了运算过程,减少译码延时,降低复杂度和所需的存储空间。参见图2,另外,Turbo码解码电路采用并行解码的方式,同时计算前向递推值以及后向递推值,改进译码结构,能够有效地降低功耗。
综上所述,本实施例相对于现有技术,具有如下优点及有益效果:本实施例的Turbo码解码电路不仅运算简单,而且功耗较低,经Verilog硬件描述语言实现,以AlteraCyclone IV EP4CE75F23C8为目标器件,进行仿真及综合,由仿真可知,该编码电路功耗在125MHz的频率下低于30mW,能够满足NB-IoT应用场景中低功耗的要求。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种Turbo解码电路,其特征在于,包括第一解码器、第二解码器、第一交织器、第二交织器和解交织器;
所述Turbo解码电路的译码过程是一个迭代过程,输入的是***信息比特的先验信息,经过译码之后,输出的是***信息比特的后验信息;
其中一次迭代过程如下:
所述第一解码器的输入信息包括信息序列的检测值s(k)、第一校验序列的检测值p(k)以及信息比特序列的先验信息第一解码器输出信息序列各比特的后验信息后验信息经过第一交织器后输入到第二解码器;信息序列的检测值s(k)经过第二交织器后输入到第二解码器;
将解码器的输入输出计算过程转化为对数形式,把乘法运算转换为加法运算,以避免复杂的指数运算。
2.根据权利要求1所述的一种Turbo解码电路,其特征在于,所述第一解码器和第二解码器的结构相同,均为软输入输出译码器;
信息在两个解码器之间不断地进行交换和迭代,以达到Turbo码译码性能的要求。
3.根据权利要求1所述的一种Turbo解码电路,其特征在于,在解码器中,对前向递推、后向递推和分支度量进行对数化取值,再进行计算。
5.根据权利要求4所述的一种Turbo解码电路,其特征在于,所述分支度量计算模块由加法器和反相器组成。
6.根据权利要求4所述的一种Turbo解码电路,其特征在于,所述前向递推模块和所述后向递推模块均有加法器和比较器组成。
7.根据权利要求1所述的一种Turbo解码电路,其特征在于,所述Turbo解码电路采用并行解码的方式进行解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976461.7A CN115514377A (zh) | 2022-08-15 | 2022-08-15 | 一种Turbo解码电路及解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976461.7A CN115514377A (zh) | 2022-08-15 | 2022-08-15 | 一种Turbo解码电路及解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115514377A true CN115514377A (zh) | 2022-12-23 |
Family
ID=84501539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210976461.7A Pending CN115514377A (zh) | 2022-08-15 | 2022-08-15 | 一种Turbo解码电路及解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115514377A (zh) |
-
2022
- 2022-08-15 CN CN202210976461.7A patent/CN115514377A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7467347B2 (en) | Method for decoding error correcting code, its program and its device | |
KR100512668B1 (ko) | 터보 부호들의 품질 지수 기준을 사용한 반복 종료 | |
US20030097633A1 (en) | High speed turbo codes decoder for 3G using pipelined SISO Log-Map decoders architecture | |
US8112698B2 (en) | High speed turbo codes decoder for 3G using pipelined SISO Log-MAP decoders architecture | |
CN105634508B (zh) | 一种低复杂度近性能限的Turbo译码器的实现方法 | |
CN103354483B (zh) | 通用的高性能Radix-4SOVA译码器及其译码方法 | |
US7886209B2 (en) | Decoding device, decoding method, and receiving apparatus | |
Tong et al. | VHDL implementation of a turbo decoder with log-MAP-based iterative decoding | |
US6868518B2 (en) | Look-up table addressing scheme | |
CN101964665B (zh) | turbo解码中基于Log-MAP的译码方法及其译码装置 | |
US6886127B2 (en) | Implementation of a turbo decoder | |
CN115514377A (zh) | 一种Turbo解码电路及解码方法 | |
CN1773867B (zh) | Turbo码译码方法 | |
CN113872615A (zh) | 一种可变长度的Turbo码译码器装置 | |
CN103701475A (zh) | 移动通信***中8比特运算字长Turbo码的译码方法 | |
Song et al. | The implementation of turbo decoder on DSP in W-CDMA system | |
Mathana et al. | FPGA implementation of high speed architecture for Max Log Map turbo SISO decoder | |
CN103973319B (zh) | 全整数Turbo码迭代译码的方法和*** | |
CN2884696Y (zh) | 用于Turbo码译码器中的归一化装置 | |
TWI569584B (zh) | 採用動態調整因子的解碼方法 | |
CN116232342A (zh) | 一种Turbo码译码方法 | |
Chatzigeorgiou et al. | Performance analysis and design of punctured turbo codes | |
Han et al. | Implementation of an efficient two-step SOVA turbo decoder for wireless communication systems | |
Ang et al. | SOVA based LTE turbo decoders | |
Sybis | Branch canceling technique for turbo TCM decoding |
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 |