CN111181575B - 一种基于反向蝶形计算的Turbo码译码器及处理方法 - Google Patents
一种基于反向蝶形计算的Turbo码译码器及处理方法 Download PDFInfo
- Publication number
- CN111181575B CN111181575B CN201911319759.5A CN201911319759A CN111181575B CN 111181575 B CN111181575 B CN 111181575B CN 201911319759 A CN201911319759 A CN 201911319759A CN 111181575 B CN111181575 B CN 111181575B
- Authority
- CN
- China
- Prior art keywords
- calculation
- reverse
- state
- smc
- metric
- 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.)
- Active
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/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
本发明提供一种基于反向蝶形计算的Turbo码译码器及处理方法,包括分支度量计算模块、前向递归计算模块、SMC模块、反向计算模块。本发明引入的冗余计算复杂度低,前向递归模块和反向计算模块引入的硬件开销只有简单的加法、移位和比较操作,便于硬件实现。本发明通过创新性的符号比特定义与计算,大幅度降低SMC容量,并实现了精确的反向重算,可以显著减小SMC容量,同时译码性能损失较小,功耗比现有的译码器更低。
Description
技术领域
本发明属于无线通信系统领域,尤其涉及一种基于反向蝶形计算的Turbo码译码结构及处理方法。
背景技术
近年来,Turbo码由于其良好的纠错性能和接近Shannon极限的译码性能,通过创新性的符号比特定义与计算,大幅度降低SMC容量,并实现了精确的反向重算。在无线通信应用中,译码器被认为是信号接收终端功耗的主要瓶颈,而译码器一半以上的功耗主要用于对SMC的访问。因此,一种降低SMC容量并保持较好的译码性能的低功耗Turbo码译码器结构成为人们研究的重点。
为了降低Turbo码译码器的功耗,目前研究者提出了不同的策略,其中减少SMC容量的策略是一种有效的方法。根据SMC容量降低方式,主要分为变换法和反向重算的设计方法。在变换法设计方法,基-4追溯计算译码方案将状态度量值转化为差值度量和符号位,使SMC容量降低了20%,Walsh-Hadamard变换法通过对状态度量值进行压缩变换,使SMC容量降低了50%,但由于是有损压缩,译码性能损失较大。反向计算方面,反向试探方法通过将不能反向计算的存储在SMC中,并设置特殊的寄存器做识别,译码性能较好,但是冗余计算较大。
现有方法存在的不足:
基-4追溯计算译码方案,SMC容量降低得较少,功耗降低效果并不显著,Walsh-Hadamard变换法译码方案中,由于对状态度量的压缩是有损压缩,SMC容量虽然降低较多,但是译码性能差。
反向试探方法虽然译码性能好,硬件开销大,功耗没有得到有效的降低。
发明内容
本发明主要解决在无线通信系统中Turbo码译码器的功耗问题,通过将网格分为四个基本单元,提出一种基于反向计算的低存储量Turbo码译码器结构,对不满足反向计算的存储起来,满足的下次需要的时候直接反向计算。通过此方法Turbo码译码器的状态量度缓存(SMC)容量减少了65%,误码率(BER)性能和误包率(PER)性能与最优的LOG-MAP译码算法接近,实现了在功率消耗和译码性能之间取得了优异的均衡性。
本发明采用如下技术方案:
一种基于反向蝶形计算的Turbo码译码器,包括分支度量计算模块、前向递归计算模块、SMC模块、反向计算模块。
反向计算模块,通过反向计算单元、计算与选择模块,同时读取SMC中的符号函数,当判断出状态度量不能反向重算时,需要读取SMC中状态度量,并将得到的状态度量作为下一次递归计算的状态度量输入,同时输出最终完成反向计算操作。
一种应用于Turbo码译码器的信号处理方法,包括以下步骤
步骤1.在分支度量计算单元完成分支度量的计算;
步骤2.在前向递归计算模块内完成相应的计算;
将4个FU计算出的状态度量和符号比特进行挑选和计数及S&C模块,存储符号比特Ik和通过多路选择器将得到的状态度量输出,并作为下一次递归计算的状态度量同时对不能反向计算的符号比特Ik进行计数得到C,便于对不能反向计算的状态度量进行恢复,同时挑选出此时的状态度量进行存储;
步骤3.状态度量存储在SMC模块;
步骤4.状态度量完成反向计算;
将完成前向递归的最后一个状态度量作为反向计算的初始状态和反向计算出的存储到RAM中,读取SMC中的符号比特,判断符号比特Ik,如果不满足反向计算,则直接读取SMC存储的状态度量作为K-1时刻的状态度量同时计数器C减去不能反向计算的蝶形单元个数;如果符号比特Ik满足反向计算,通过4个RCU单元进行反向计算,其中这四个RCU单元的原理是相同的,按照编码网,同时输入对应的分支度量4个分支度量 判断读取的符号比特I k,进行相应的蝶形反向计算,计算出K-1时刻的状态度量
本发明的有益效果:
1.本发明创新性的提出了符号比特的定义与计算方式,在实现间接存储降低SMC容量的同时,保证了反向计算的精确性。
2.本发明引入的冗余计算复杂度低。前向递归模块和反向计算模块引入的硬件开销只有简单的加法、移位和比较操作,便于硬件实现。
3.通过本发明可以显著减小SMC容量,同时译码性能损失较小,功耗比现有的译码器更低。
附图说明
图1为本发明提出的反向计算的译码器结构示意图;
图2为本发明的编码网格图;
图3为反向计算蝶形基本计算单元图;
图4为f(x)的近似曲线;
图5为占用SMC容量的情况;
图6为前向递归模块的硬件图;
图7反向计算模块硬件设计图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了进一步降低SMC容量,同时保持较好的译码性能和较低的冗余计算复杂度,本发明以LTE-Advanced标准中的Turbo码为研究对象,提出了一种蝶形反向计算设计结构。
所提出的译码器结构如下图1所示,一种基于反向蝶形计算的Turbo码译码器,包括分支度量计算单元、前向递归计算模块、SMC模块、反向计算模块。首先,将接收机接收到的经过信道传输后的系统信息和校验比特以及外信息Λapr,k输入到分支度量模块计算出分支度量然后将初始状态度量与分支度量计算模块计算出的输入到前向递归计算模块,通过基本单元(FU)、多路选择器、计数器与选择器后,将得到的符号比特Ik与不满足反向计算的前向状态度量存入到SMC存储器中,同时将输出的状态度量输出,并作为下一次递归计算的状态度量;完成前向递归计算之后,将计数器C、分支度量与的结果输入到反向计算模块,通过反向计算单元、计算与选择模块,同时读取SMC中的符号函数,当判断出状态度量不能反向重算时,需要读取SMC中状态度量,并将得到的状态度量作为下一次递归计算的状态度量输入,同时输出最终完成反向计算操作。
并且提出一种应用于Turbo码译码器的信号处理方法,具体实现过程如下:
为了便于分析和讨论,给出一个基本单元(FU),如图3所示,假设K-1时刻的向前状态度量为和对应状态从e1和e2到e3和e4,在K-1时刻的分支度量分别为和K时刻的向前状态度量为由上式可得(FU)单元的计算公式为2式。
为了降低复杂度,对max*做如下修正:
为了便于硬件实现,如图4所示,通过f(x)=x+0.375去近似逼近ln(1+exp(x)),可将max*近似如(4)所示:
通过近似的max*函数,基本单元(FU)和反向计算单元(RCU)可以分为下边四种情况:
符号比特I(k,1)=10;
(2),如果
符号比特I(k,3)=01;
符号比特I(k,4)=00;
当进行反向计算时,先读出符号比特进行判断,然后满足反向计算的直接进行计算即可,不满足的顺序读取SMC里存储的状态度量。SMC的字长结构如图5所示。
还给出了前向递归模块和反向计算模块的硬件设计结构,如图6和图7所示。前向递归模块的硬件如图6所示,首先将和放入一个寄存器RAM里,为初始值,为递归状态度量;然后将K-1时刻的8个状态度量 和对应的四个分支度量 按照蝶形单元分别输入到4个FU单元中,这四个FU的实现原理是相同的;将4个FU计算出的状态度量和符号比特进行挑选和计数及S&C模块,首先存储符号比特Ik和通过多路选择器将输出的状态度量输出,作为下一次递归计算的状态度量同时对不能反向计算的符号比特Ik即Ik=00和Ik=11的情况进行计数得到C,便于对不能反向计算的状态度量进行恢复,同时挑选出此时的状态度量进行存储。
反向计算模块硬件如图7所示,将完成前向递归的最后一个状态度量作为反向计算的初始状态和反向计算出的存储到RAM中,读取SMC中的符号比特,判断符号比特Ik,如果不满足反向计算,则直接读取SMC存储的状态度量作为K-1时刻的状态度量同时计数器C减去不能反向计算的蝶形单元个数;如果符号比特Ik满足反向计算,通过4个RCU单元进行反向计算,其中这四个RCU单元的原理是相同的,按照图2编码网,同时输入对应的分支度量四个分支度量判断读取的符号比特Ik,进行相应的蝶形反向计算,计算出K-1时刻的状态度量
实施例1
以LTE-Advanced标准下的Turbo码译码器的FPGA实现为例;选用的码长为1024,码率为1/3,FPGA芯片选用EP4CE75F23C8目标器件,编程语言为Verilog HDL,使用QuartusⅡ13.1平台进行Turbo码译码器实现。通过对前向状态度量计算部分进行仿真全编译获得的总的存储容量的使用情况表明,传统的直接存储8个状态度量消耗的总的存储容量为2560bits,而我们提出的方法消耗的的总的存储容量为896bits,因此SMC有效的降低了65%。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (2)
1.一种基于反向蝶形计算的Turbo码译码器,其特征在于,包括
2.一种应用于Turbo码译码器的信号处理方法,其特征在于,包括以下步骤
步骤1.在分支度量计算单元完成分支度量的计算;
步骤2.在前向递归计算模块内完成相应的状态度量的计算;
为了降低复杂度,对max*做如下修正:
为了便于硬件实现,通过f(x)=x+0.375去近似逼近ln(1+exp(x)),将max*近似如(4)所示:
通过近似的max*函数,基本单元FU和反向计算单元RCU分为下边四种情况:
符号比特I(k,1)=10;
2,如果
符号比特I(k,3)=01;
符号比特I(k,4)=00;
当进行反向计算时,先读出符号比特进行判断,然后满足反向计算的直接进行计算即可,不满足的顺序读取SMC里存储的状态度量;
将4个FU计算出的状态度量和符号比特进行挑选和计数及S&C模块,存储符号比特Ik和通过多路选择器将得到的状态度量输出,并作为下一次递归计算的状态度量同时对不能反向计算的符号比特Ik进行计数得到C,便于对不能反向计算的状态度量进行恢复,同时挑选出此时的状态度量进行存储;
步骤3.状态度量存储入SMC模块;
步骤4.状态度量完成反向计算;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911319759.5A CN111181575B (zh) | 2019-12-19 | 2019-12-19 | 一种基于反向蝶形计算的Turbo码译码器及处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911319759.5A CN111181575B (zh) | 2019-12-19 | 2019-12-19 | 一种基于反向蝶形计算的Turbo码译码器及处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111181575A CN111181575A (zh) | 2020-05-19 |
CN111181575B true CN111181575B (zh) | 2021-09-14 |
Family
ID=70621442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911319759.5A Active CN111181575B (zh) | 2019-12-19 | 2019-12-19 | 一种基于反向蝶形计算的Turbo码译码器及处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111181575B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1283331A (zh) * | 1997-12-31 | 2001-02-07 | 艾利森公司 | 使用蝶形运算的非二进制维特比译码器 |
US6718504B1 (en) * | 2002-06-05 | 2004-04-06 | Arc International | Method and apparatus for implementing a data processor adapted for turbo decoding |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100542050C (zh) * | 2004-02-06 | 2009-09-16 | 中国科学院沈阳自动化研究所 | 一种带有自适应性以及高速turbo解码器的设计方法 |
CN101036299B (zh) * | 2004-08-25 | 2012-11-14 | 阿苏克斯有限公司 | 用于实现可重构网格类型解码的方法和装置 |
GB2492249B (en) * | 2012-06-29 | 2013-11-06 | Renesas Mobile Corp | Method, apparatus and computer program for solving control bits of butterfly networks |
JP6155959B2 (ja) * | 2013-08-19 | 2017-07-05 | 富士通株式会社 | 復号化装置、及び、復号化方法 |
CN103957016B (zh) * | 2014-05-12 | 2017-02-15 | 西南大学 | 一种低存储容量的Turbo码译码器及其设计方法 |
-
2019
- 2019-12-19 CN CN201911319759.5A patent/CN111181575B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1283331A (zh) * | 1997-12-31 | 2001-02-07 | 艾利森公司 | 使用蝶形运算的非二进制维特比译码器 |
US6718504B1 (en) * | 2002-06-05 | 2004-04-06 | Arc International | Method and apparatus for implementing a data processor adapted for turbo decoding |
Also Published As
Publication number | Publication date |
---|---|
CN111181575A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101777924B (zh) | 一种Turbo码译码方法和装置 | |
CN101997553B (zh) | 一种卷积码译码方法及装置 | |
CN101286817B (zh) | 传统二进制和双二进制Turbo码通用译码方法 | |
CN101777926B (zh) | 一种Turbo乘积码的通用译码器及其方法 | |
EP1156588B1 (en) | Method and apparatus for maximum a posteriori probability decoding | |
CN102523076B (zh) | 通用可配置的高速率Turbo码译码方法 | |
CN102340320B (zh) | 卷积Turbo码双向并行译码方法 | |
CN112398487A (zh) | 一种降低Turbo并行译码复杂度的实现方法及系统 | |
CN102404011B (zh) | 维特比解码实现方法及装置 | |
KR20080092770A (ko) | 트렐리스 부호 양자화 알로리즘을 이용한 광대역 음성부호화기용 lsf 계수 양자화 장치 및 방법 | |
CN101147327B (zh) | 使用篱栅的蝴蝶结构来映射解码的度量计算的方法和装置 | |
CN111181575B (zh) | 一种基于反向蝶形计算的Turbo码译码器及处理方法 | |
CN103957016B (zh) | 一种低存储容量的Turbo码译码器及其设计方法 | |
CN1159933C (zh) | 通用的卷积编码器和维特比译码器 | |
CN105515588B (zh) | 一种ldpc‑cc高速译码器 | |
CN103475378B (zh) | 一种适用于光通信的高吞吐率ldpc译码器 | |
CN105375934A (zh) | 一种针对咬尾卷积码的Viterbi解码器及解码方法 | |
CN103986477A (zh) | 矢量viterbi译码指令及viterbi译码装置 | |
CN1129257C (zh) | 串行回溯的最大似然解码方法及其使用该方法的解码器 | |
CN105610550B (zh) | 一种用于电力线载波通信的Viterbi译码方法 | |
CN100589329C (zh) | 一种双二进制ctc译码装置 | |
CN102751994B (zh) | 一种基于两个有限群符号的短码长分组码译码器装置 | |
CN108449092B (zh) | 一种基于循环压缩的Turbo码译码方法及其装置 | |
CN102832951B (zh) | 一种基于概率计算的ldpc译码公式的实现方法 | |
CN109379088B (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 |