Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PARALLEL DECODING METHOD AND TURBO DECODER
Document Type and Number:
WIPO Patent Application WO/2013/067697
Kind Code:
A1
Abstract:
Provided are a Turbo decoder and a parallel decoding method. The Turbo decoder includes a first interleaver and a second interleaver. The first interleaver includes a first LTE interleaving module, a first TD/W interleaving module and a first selector. The second interleaver includes a second LTE interleaving module, a second TD/W interleaving module and a second selector. The method realizes multi-mode compatibility of the Turbo decoder, solves the parallel interleaving problem in the TD/W mode, and enables the Turbo decoder in the LTE mode and the Turbo decoder in the TD/W mode to integrate as one, thus reducing the hardware scale.

Inventors:
WANG YI (CN)
LIU YONG (CN)
WANG SHUGE (CN)
Application Number:
PCT/CN2011/082028
Publication Date:
May 16, 2013
Filing Date:
November 10, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
WANG YI (CN)
LIU YONG (CN)
WANG SHUGE (CN)
International Classes:
H03M13/27
Foreign References:
CN101764667A2010-06-30
CN101616115A2009-12-30
CN1639986A2005-07-13
CN102130696A2011-07-20
Attorney, Agent or Firm:
CHINA PAT INTELLECTUAL PROPERTY OFFICE (CN)
北京派特恩知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权利要求书

1、 一种交织器, 其特征在于, 所述交织器包括: LTE交织模块、 TD/W 交织模块和选择器; 其中,

所述 LTE交织模块, 用于对输入的数据以及先验信息进行 LTE模式的 交织处理和 /或解交织处理;

所述 TD/W交织模块, 用于对输入的数据以及先验信息进行 TD/W模 式的交织处理和 /或解交织处理;

所述选择器, 用于选择输出所述 LTE交织模块得到的数据或 TD/W交 织模块得到的数据。

2、 一种 Turbo译码器, 其特征在于, 所述 Turbo译码器包括: 第一交 织器和第二交织器; 其中,

所述第一交织器包括第一 LTE交织模块、 第一 TD/W交织模块和第一 选择器, 所述第一 LTE交织模块用于对输入的数据以及上一次 MAP迭代 得到的外赋信息进行 LTE模式的交织处理, 所述第一 TD/W交织器用于对 输入的数据以及上一次 MAP迭代得到的外赋信息进行 TD/W模式的交织处 理, 第一选择器用于根据预设的模式, 选择输出所述第一 LTE交织模块得 到的交织数据或第一 TD/W交织模块得到的交织数据;

所述第二交织器包括第二 LTE交织模块、 第二 TD/W交织模块和第二 选择器, 所述第二 LTE交织模块用于对并行 MAP单元输出的外赋信息进 行 LTE模式的解交织处理, 所述第二 TD/W交织模块用于对并行 MAP单 元输出的外赋信息进行 TD/W模式的反交织处理和 /或解交织处理, 第二选 择器用于根据预设的模式, 选择输出所述第二 LTE交织模块得到的数据或 第二 TD/W交织模块得到的数据。

3、 根据权利要求 2所述的 Turbo译码器, 其特征在于, 所述 Turbo译 码器还包括: 先验信息緩沖器、 系统比特緩沖器、 校验比特緩沖器、 校验 比特选择器、 并行 MAP单元、 和主控制模块;

其中, 主控制模块发出读命令给所述先验信息緩沖器、 系统比特緩沖 器和校验比特緩沖器 , 所述先验信息緩沖器和系统比特緩沖器在接收到所 述主控制模块发出的读命令后,分别将先验信息 ab和系统比特 sb输出到所 述第一交织器, 所述第一交织器按照预设的模式对输入的数据进行交织处 理后输出交织数据或直接将输入的数据输出给所述并行 MAP单元;

所述校验比特緩沖器在接收到所述主控制模块发出的读命令后 , 通过 校验比特选择器将第一校验比特 ρθ 或第二校验比特 pi 输出给所述并行 MAP单元;

所述并行 MAP单元对输入自身的数据进行 MAP计算处理, 并将得到 的 MAP计算结果输出给所述第二交织器;所述第二交织器按照预设的模式 对输入的数据进行反交织和 /或解交织处理后输出反交织和 /或解交织后的 数据或直接将输入的数据输出给所述先验信息緩沖器。

4、 根据权利要求 3所述的 Turbo译码器, 其特征在于, 所述 Turbo译 码器还包括: 緩存装置, 连接在所述第二 TD/W交织模块与先验信息緩沖 器之间, 或作为第二 TD/W交织模块的一个部件与先验信息緩沖器相连; 所述緩存装置包括 N个先进先出组( FIFO group )和 N个 N选一选择 器, 一个先进先出组连接一个 N选一选择器, 其中, 各 FIFO group包含 N 个先进先出緩沖器( FIFO ),一个 N选一选择器的 N个输入端连接一个 FIFO grou 中 N个 FIFO的输出端; 其中, N表示并行译码数据路数的最大值, N为 2的幂次方。

5、 根据权利要求 4所述的 Turbo译码器, 其特征在于,

所述并行 MAP单元包括 N个 MAP子单元;

所述先验信息緩沖器、系统比特緩沖器和校验比特緩沖器均匀划分为 N 个子块(Bank )。 6、 根据权利要求 5所述的 Turbo译码器, 其特征在于,

所述 MAP子单元包括: Beta overla 逆向递推模块和 Beta滑窗逆向递 推模块,其中 , beta overla 逆向递推模块用于计算 beta滑窗的 overlap部分, beta滑窗逆向递推模块用于计算 beta滑窗的滑窗部分。

7、 根据权利要求 3至 6任一项所述的 Turbo译码器, 其特征在于, 所 述系统比特緩沖器、 以及所述校验比特緩沖器中的第一校验比特緩沖器和 第二校验比特緩沖器均采用乒乓结构, 每个緩沖器包含一个乒(ping )子緩 沖器和一个乓(pang ) 子緩沖器; 每个子緩沖器的内存组总长度为 6144。

8、 根据权利要求 7所述的 Turbo译码器, 其特征在于, 所述系统比特 緩沖器、 第一校验比特緩沖器、 和第二校验比特緩沖器分别包括两部分, 一部分的内存组长度为 5120, 另一部分内存组长度为 1024。

9、 一种并行译码方法, 其特征在于, 所述方法包括:

通过 Turbo译码器中的第一交织器对多路数据进行交织处理、 通过并 行 MAP单元进行并行 MAP计算后, 按照所述第二交织器产生的多路行地 址及所述并行 MAP单元输出多路数据的顺序, 将反交织和 /或解交织后的 多路数据和所述第二交织器产生的多路列地址緩存到所述 Turbo译码器的 緩存装置中, 再将所述緩存装置緩存的多路数据及相应的列地址输出给先 验信息緩沖器。

10、 根据权利要求 9所述的并行译码方法, 其特征在于, 所述按照所 述第二交织器产生的多路行地址及所述并行 MAP单元输出多路数据的顺 序, 将反交织和 /或解交织后的多路数据和所述第二交织器产生的多路列地 址緩存到所述 Turbo译码器的緩存装置中, 包括:

按照所述第二交织器产生的行地址,分别将所述并行 MAP单元输出的 多路数据输入到所述緩存装置中对应的多个先进先出组, 再按照所述所述 并行 MAP单元输出多路数据的顺序, 将所述 MAP单元输出的多路先验信 息和所述第二交织器产生的列地址对应存放到各先进先出组中的先进先出 緩沖器中。

11、 根据权利要求 9所述的并行译码方法, 其特征在于, 所述将所述 緩存装置緩存的多路数据输出, 包括:

所述緩存装置中的各 N选一选择器选择输出各先进先出组中滞留数据 最多的先进先出緩沖器所緩存的数据及对应的列地址到先验信息緩沖器的 多个子块。

12、 根据权利要求 9至 11任一项所述的并行译码方法, 其特征在于, 所述通过并行 MAP单元进行并行 MAP计算 , 包括:

所述并行 MAP单元中各 MAP子单元对输入自身的先验信息 ab、 系统 比特 sb、 校验比特 pb进行 MAP计算, 输出为外信息 eb和硬比特 hdb, 包 含 Alpha计算过程和 Beta计算过程;

其中, 所述 Alpha计算过程和 Beta计算过程包括: 将每个 beta滑窗都 分成 "overlap" 和 "滑窗", 设置 overlap和滑窗的长度相等; 进行计算时, 第一个节拍计算第一个 beta滑窗的 overlap部分, 第二个节拍计算第一个 beta滑窗的滑窗部分, 同时计算第二个 beta滑窗的 overlap部分, 第三个节 拍计算第一个滑窗的 alpha值和得到外信息 eb和硬比特 hdb,同时计算第二 个滑窗的 beta滑窗部分, 同时计算第三个滑窗的 overlap部分, 依次类推, 直至得到最后一个 beta值和 alpha值。

Description:
一种并行译码方法及 Turbo译码器 技术领域

本发明涉及译码处理技术, 尤其涉及一种并行译码方法及 Turbo译码 器。 背景技术

Turbo码是一种高效的信道编码方式, 其本质是一种卷积码的变形, 其 特征是编译码复杂度高, 时延大, 但误码性能优异, 适合于大数据量的长 码块及对时延要求不高的数据传输。 Turbo码的巨大优势在于它能很好地满 足香农信道编码理论中的随机性条件, 并且采用了迭代译码的方式来获得 编码增益, 因此能够获得逼近香农限的极限性能。

如图 1所示, Turbo译码器包括两个软输入软输出(SISO )的译码单元 (第一译码单元 101 , 第二译码单元 103 ) , 它们之间由第一交织器 102相 连, 其中, 第二译码单元 103的输出连接用于解交织的第二交织器 104, 第 二交织器 104的输出连接第一译码单元 101和硬判模块 105。 Turbo译码器 接收外部送来的三路数据, 即系统比特 sb、 未经交织的第一校验比特 ρθ和 经交织的第二校验比特 pi , 每个译码单元的输出数据为外赋信息 (abl , ab2 ) , 输入为先验信息、 系统比特(sb )和校验比特(ρθ或 pi ) 。

Turbo译码器的译码过程是一个反复迭代的过程 第二译码单元 103所 输出的外赋信息 ab2经过第二交织器 104解交织后作为第一译码单元 101 的先验信息进行辅助译码, 同时, 第一译码单元 101 的输入还包括系统比 特 sb和第一校验比特 ρθ; 第一译码单元 101所输出的外赋信息 abl经过第 二交织器 102交织后作为第二译码单元 103的先验信息进行辅助译码, 同 时, 第二译码单元 103的输入还包括经过交织的系统比特 sb和第二校验比 特 pi , 如此反复迭代, 直至硬判模块 105输出的硬比特数据 hdb满足译码 要求或迭代次数达到指定的数值。 第一译码单元 101 和第二译码单元 103 的硬件结构完全相同, 且不存在同时译码的情形, 因此可以将两个译码单 元设计为同一套电路, 以分时复用的方式进行共享, 节省了硬件资源。 第 一译码单元 101和第二译码单元 103中主要是实现对数域的 Max-Log-MAP 算法, 其中将乘法和指数运算简化为加法和取最大值 的运算, 从而降低了 计算复杂度, 利于硬件实现。

在移动通讯技术的发展日新月异的背景之下, 移动终端系统对于多种 通讯模式的并存性以及各种模式的速度提出了 更高的要求。 对作为移动通 讯终端系统中关键部件之一的 Turbo译码器也提出了更高的要求, 一方面 要满足系统的速率, 另一方面又要尽可能的降低硬件电路的规模。 但现有 的 Turbo译码器只能支持一种模式,要么仅支持长 演进(LTE, Long-Term Evolution )模式, 要么仅能够支持( TD/W, TD-SCDMA/WCDMA/HSPA+ ) 模式。 此外, 在并行译码过程中, 要保证交织器输出的多路数据——映射 到緩沖器的多个区域中, 否则在进行下一次迭代时将出现同一个节拍需 要 从同一区域读取两个以上数据的问题, 或者同一节拍需要将输出的两个以 上数据写回到同一区域,从而导致存储器(mem ory )访问沖突。 由于 TD/W 模式的 Turbo交织算法不能解决 memory沖突的问题, 因此, 支持 TD/W模 式的 Turbo译码器也不能实现并行交织。鉴于此,在 Turbo译码器中需要着 重解决以下问题: 1、 实现 Turbo译码器的多模式兼容; 2、 解决 Turbo译码 器在 TD/W模式下的并行交织问题。 发明内容

有鉴于此, 本发明的主要目的在于提供一种并行译码方法 及译码器, 解决 Turbo译码器的多模式兼容问题; 其次, 本发明的另一目的在于, 解 决 Turbo译码器在 TD/W模式下的并行交织问题,使得 Turbo译码器的多模 式兼容更优化。

为达到上述目的, 本发明的技术方案是这样实现的:

本发明提供了一种交织器, 所述交织器包括: LTE交织模块、 TD/W交 织模块和选择器; 其中,

所述 LTE交织模块, 用于对输入的数据以及先验信息进行 LTE模式的 交织处理和 /或解交织处理;

所述 TD/W交织模块, 用于对输入的数据以及先验信息进行 TD/W模 式的交织处理和 /或解交织处理;

所述选择器, 用于选择输出所述 LTE交织模块得到的数据或 TD/W交 织模块得到的数据。

本发明还提供了一种 Turbo译码器,所述 Turbo译码器包括: 第一交织 器和第二交织器; 其中,

所述第一交织器包括第一 LTE交织模块、 第一 TD/W交织模块和第一 选择器, 所述第一 LTE交织模块用于对输入的数据以及上一次 MAP迭代 得到的外赋信息进行 LTE模式的交织处理, 所述第一 TD/W交织器用于对 输入的数据以及上一次 MAP迭代得到的外赋信息进行 TD/W模式的交织处 理, 第一选择器用于根据预设的模式, 选择输出所述第一 LTE交织模块得 到的交织数据或第一 TD/W交织模块得到的交织数据;

所述第二交织器包括第二 LTE交织模块、 第二 TD/W交织模块和第二 选择器, 所述第二 LTE交织模块用于对并行 MAP单元输出的外赋信息进 行 LTE模式的解交织处理, 所述第二 TD/W交织模块用于对并行 MAP单 元输出的外赋信息进行 TD/W模式的反交织处理和 /或解交织处理, 第二选 择器用于根据预设的模式, 选择输出所述第二 LTE交织模块得到的数据或 第二 TD/W交织模块得到的数据。

在上述方案中, 所述 Turbo译码器还包括: 先验信息緩沖器、 系统比 特緩沖器、 校验比特緩沖器、 校验比特选择器、 并行 MAP单元、 和主控制 模块;

其中, 主控制模块发出读命令给所述先验信息緩沖器 、 系统比特緩沖 器和校验比特緩沖器 , 所述先验信息緩沖器和系统比特緩沖器在接收 到所 述主控制模块发出的读命令后,分别将先验信 息 ab和系统比特 sb输出到所 述第一交织器, 所述第一交织器按照预设的模式对输入的数据 进行交织处 理后输出交织数据或直接将输入的数据输出给 所述并行 MAP单元;

所述校验比特緩沖器在接收到所述主控制模块 发出的读命令后 , 通过 校验比特选择器将第一校验比特 ρθ 或第二校验比特 pi 输出给所述并行 MAP单元;

所述并行 MAP单元对输入自身的数据进行 MAP计算处理, 并将得到 的 MAP计算结果输出给所述第二交织器;所述第二 交织器按照预设的模式 对输入的数据进行反交织和 /或解交织处理后输出反交织和 /或解交织后的 数据或直接将输入的数据输出给所述先验信息 緩沖器。

在上述方案中, 所述 Turbo译码器还包括: 緩存装置, 连接在所述第 二 TD/W交织模块与先验信息緩沖器之间, 或作为第二 TD/W交织模块的 一个部件与先验信息緩沖器相连;

所述緩存装置包括 N个先进先出组( FIFO group )和 N个 N选一选择 器, 一个先进先出组连接一个 N选一选择器, 其中, 各 FIFO group包含 N 个先进先出緩沖器( FIFO ),一个 N选一选择器的 N个输入端连接一个 FIFO grou 中 N个 FIFO的输出端; 其中, N表示并行译码数据路数的最大值, N为 2的幂次方。

在上述方案中, 所述并行 MAP单元包括 N个 MAP子单元; 所述先验信息緩沖器、系统比特緩沖器和校验 比特緩沖器均匀划分为 N 个子块(Bank )。 在上述方案中, 所述 MAP子单元包括: Beta overlap逆向递推模块和 Beta滑窗逆向递推模块, 其中, beta overla 逆向递推模块用于计算 beta滑 窗的 overlap部分, beta滑窗逆向递推模块用于计算 beta滑窗的滑窗部分。

在上述方案中, 所述系统比特緩沖器、 以及所述校验比特緩沖器中的 第一校验比特緩沖器和第二校验比特緩沖器均 采用乒乓结构, 每个緩沖器 包含一个乒(ping )子緩沖器和一个乓(pang )子緩沖器; 每个子緩沖器的 内存组总长度为 6144。

在上述方案中, 所述系统比特緩沖器、 第一校验比特緩沖器、 和第二 校验比特緩沖器分别包括两部分, 一部分的内存组长度为 5120, 另一部分 内存组长度为 1024。

本发明还提供了一种并行译码方法, 所述方法包括: 通过 Turbo译码 器中的第一交织器对多路数据进行交织处理、 通过并行 MAP单元进行并行 MAP计算后, 按照所述第二交织器产生的多路行地址及所述 并行 MAP单 元输出多路数据的顺序, 将反交织和 /或解交织后的多路数据和所述第二交 织器产生的多路列地址緩存到所述 Turbo译码器的緩存装置中, 再将所述 緩存装置緩存的多路数据及相应的列地址输出 给先验信息緩沖器。

在上述方案中, 所述按照所述第二交织器产生的多路行地址及 所述并 行 MAP单元输出多路数据的顺序, 将反交织和 /或解交织后的多路数据和 所述第二交织器产生的多路列地址緩存到所述 Turbo译码器的緩存装置中, 包括: 按照所述第二交织器产生的行地址, 分别将所述并行 MAP单元输出 的多路数据输入到所述緩存装置中对应的多个 先进先出组, 再按照所述所 述并行 MAP单元输出多路数据的顺序, 将所述 MAP单元输出的多路先验 信息和所述第二交织器产生的列地址对应存放 到各先进先出组中的先进先 出緩沖器中。

在上述方案中, 所述将所述緩存装置緩存的多路数据输出, 包括: 所述緩存装置中的各 N选一选择器选择输出各先进先出组中滞留数 最多的先进先出緩沖器所緩存的数据及对应的 列地址到先验信息緩沖器的 多个子块。

在上述方案中, 所述通过并行 MAP单元进行并行 MAP计算, 包括: 所述并行 MAP单元中各 MAP子单元对输入自身的先验信息 ab、 系统 比特 sb、 校验比特 pb进行 MAP计算, 输出为外信息 eb和硬比特 hdb, 包 含 Alpha计算过程和 Beta计算过程;

其中, 所述 Alpha计算过程和 Beta计算过程包括: 将每个 beta滑窗都 分成 "overlap" 和 "滑窗", 设置 overlap和滑窗的长度相等; 进行计算时, 第一个节拍计算第一个 beta滑窗的 overlap部分, 第二个节拍计算第一个 beta滑窗的滑窗部分, 同时计算第二个 beta滑窗的 overlap部分, 第三个节 拍计算第一个滑窗的 alpha值和得到外信息 eb和硬比特 hdb,同时计算第二 个滑窗的 beta滑窗部分, 同时计算第三个滑窗的 overlap部分, 依次类推, 直至得到最后一个 beta值和 alpha值。

本发明提供的 Turbo译码器, 包含有兼容 LTE模式和 TD/W模式的交 织器, 实现了 Turbo译码器的多模式兼容, 并且能够实现 TD/W模式下的 并行译码, 解决了 TD/W模式下的并行交织问题, 使 LTE模式的 Turbo译 码器和 TD/W的 Turbo译码器能够合二为一, 达到降低硬件规模的目的。 附图说明

图 1为现有技术中 Turbo译码器的组成结构示意图;

图 2为本发明实施例一 Turbo译码器的组成结构示意图;

图 3为本发明实施例二 Turbo译码器实现并行译码过程的示意图; 图 4为本发明实施例二 Turbo译码器中緩存装置的组成结构示意图; 图 5 为本发明实施例三中系统比特緩沖器、 第一校验比特緩沖器和第 二校验比特緩沖器的结构示意图; 图 6为本发明实施例四中 MAP子单元的组成结构以及进行 MAP计算 过程的示意图。 具体实施方式

本发明的基本思想是: 提供一种能够兼容 LTE模式和 TD/W模式的交 织器及 Turbo译码器,并基于该 Turbo译码器实现 TD/W模式下的并行译码。

本发明一种交织器, 所述交织器包括: LTE交织模块、 TD/W交织模块 和第一选择器, 其中, 所述 LTE交织模块, 用于对输入的数据以及上一次 MAP迭代得到的外赋信息进行 LTE模式的交织处理和 /或解交织处理; 所 述 TD/W交织模块,用于对输入的数据以及上一次 MAP迭代得到的外赋信 息进行 TD/W模式的交织处理和 /或解交织处理; 选择器, 用于选择输出所 述 LTE交织模块得到的数据或 TD/W交织模块得到的数据。

本发明的一种 Turbo译码器, 所述 Turbo译码器包括: 第一交织器和第 二交织器, 其中, 所述第一交织器包括第一 LTE交织模块、 第一 TD/W交 织模块和第一选择器, 所述第一 LTE交织模块用于对输入的数据以及上一 次 MAP迭代得到的外赋信息进行 LTE模式的交织处理,所述第一 TD/W交 织器用于对输入的数据进行 TD/W模式的交织处理, 第一选择器用于根据 预设的模式,选择输出所述第一 LTE交织模块得到的交织数据或第一 TD/W 交织模块得到的交织数据;

所述第二交织器包括第二 LTE交织模块、 第二 TD/W交织模块和第二 选择器, 所述第二 LTE交织模块用于对并行 MAP单元输出的外赋信息进 行 LTE模式的解交织处理, 解交织处理后的数据作为下一次 MAP迭代的 先验信息緩存于先验信息緩沖器当中; 所述第二 TD/W交织模块用于对并 行 MAP单元输出的外赋信息进行 TD/W模式的反交织(偶数次, 下同 )和 /或解交织处理, 反交织和 /或解交织处理的数据作为下一次 MAP迭代的先 验信息緩存于先验信息緩沖器中。 第二选择器用于根据预设的模式, 选择 输出所述第二 LTE交织模块得到的数据或第二 TD/W交织模块得到的数据。 实际应用中, 在偶数次 MAP迭代中进行 TD/W模式的反交织, 在奇数 次 MAP迭代进行 TD/W模式的解交织。

其中, 所述 Turbo译码器还包括: 先验信息緩沖器、 系统比特緩沖器、 校验比特緩沖器、 校验比特选择器、 并行 MAP单元、 和主控制模块;

其中, 主控制模块发出读命令给所述先验信息緩沖器 、 系统比特緩沖 器和校验比特緩沖器 , 所述先验信息緩沖器和系统比特緩沖器在接收 到所 述主控制模块发出的读命令后,分别将先验信 息 ab和系统比特 sb输出到所 述第一交织器, 所述第一交织器按照预设的模式对输入的数据 进行交织处 理后输出交织数据或直接将输入的数据输出给 所述并行 MAP单元;

所述校验比特緩沖器在接收到所述主控制模块 发出的读命令后 , 通过 校验比特选择器将第一校验比特 ρθ 或第二校验比特 pi 输出给所述并行 MAP单元;

所述并行 MAP单元对输入自身的数据进行 MAP计算处理, 并将得到 的 MAP计算结果输出给所述第二交织器;所述第二 交织器按照预设的模式 对输入的数据进行反交织和 /或解交织处理后输出反交织和 /或解交织后的 数据给所述先验信息緩沖器, 或直接将输入的数据输出给所述先验信息緩 沖器。

这里, 反交织处理是针对 TD/W模式的, LTE模式不需要反交织。 在 TD/W模式下, MAP迭代次数为偶数时,并行 MAP单元输出的计算结果本 身是未经交织的正序数据, 因此不需进行解交织而要进行反交织, 反交织 处理的目的是为了在下一次奇数次 MAP迭代时直接从先验信息緩沖器中 用正序地址读取交织数据,如此,解决 TD/W模式下多路并行交织的 memory 沖突问题。 其中, 反交织处理之后数据的顺序实际上就是交织之 后的顺序。

其中, 所述第二 TD/W 交织模块还包括緩存装置, 连接在所述第二 TD/W交织模块与先验信息緩沖器之间,或作为 二 TD/W交织模块内部的 一个部件与先验信息緩沖器相连,所述緩存装 置包括 N个先进先出组( FIFO group )和 N个 N选一选择器, 一个先进先出组连接一个 N选一选择器, 其中, 各 FIFO group包含 N个先进先出緩沖器(FIFO ), —个 N选一选择 器的 N个输入端连接一个 FIFO grou 中 N个 FIFO的输出端; 其中, N表 示并行译码数据路数的最大值, N为 2的幂次方。

这里, 所述并行 MAP单元包括 N个 MAP子单元; 所述先验信息緩沖 器、 系统比特緩沖器和校验比特緩沖器均匀划分为 N个子块(Bank )。

特别地, 所述 MAP子单元可以包括: Beta重叠窗(overlap )逆向递 推模块和 Beta滑窗逆向递推模块, 其中, beta overla 逆向递推模块用于计 算 beta滑窗的 overlap部分, beta滑窗逆向递推模块用于计算 beta滑窗的 滑窗部分。

其中, 所述系统比特緩沖器、 以及所述校验比特緩沖器中的第一校验 比特緩沖器和第二校验比特緩沖器均采用乒乓 结构, 每个緩沖器包含一个 乒(ping )子緩沖器和一个乓(pang )子緩沖器; 每个子緩沖器的内存组总 长度为 6144。

这里, 所述系统比特緩沖器、 第一校验比特緩沖器、 和第二校验比特 緩沖器包括两部分, 一部分的内存组长度为 5120, 另一部分内存组长度为 1024。

本发明还提供了一种并行译码方法, 所述方法可以包括: 通过 Turbo 译码器中的第一交织器对多路数据进行交织处 理、通过并行 MAP单元进行 并行 MAP计算、 以及通过第二交织器对并行 MAP单元输出的 N个数据进 行反交织和 /或解交织处理、 并将反交织和 /或解交织处理后的数据回写到先 验信息緩沖器的 N个子块中。

其中,所述通过第二交织器对并行 MAP单元输出的 N个外赋信息进行 反交织和 /或解交织处理, 并将反交织和 /或解交织处理后的数据回写到先验 信息緩沖器的 N个子块当中, 包括: 按照第二交织器产生的多路行地址, 分别将所述并行 MAP 单元输出的多路外赋信息输入到所述緩存装置 中对 应的多个先进先出组, 再按照所述 MAP单元输出的多路外赋信息的顺序, 将所述 MAP单元输出的多路先验信息和所述第二交织器 产生的列地址对 应存放到各先进先出组中的先进先出緩沖器中 。

其中, 所述将所述緩存装置緩存的多路数据输出, 包括: 所述緩存装 置中的各 N选一选择器选择输出各先进先出组中滞留数 最多的先进先出 緩沖器所緩存的外赋信息及其对应的列地址, 并以所述多路列地址作为写 地址将所述多路外赋信息写回到先验信息緩沖 器的多个子块。

其中, 所述通过并行 MAP单元进行并行 MAP计算, 可以包括: 所述 并行 MAP单元中各 MAP子单元对输入自身的先验信息 ab、 系统比特 sb、 校验比特 pb进行 MAP计算, 输出为外信息 eb和硬比特 hdb, 包含 Alpha 计算过程和 Beta计算过程; 其中 , 所述 Alpha计算过程和 Beta计算过程包 括: 将每个 beta滑窗都分成 "overlap" 和 "滑窗", 设置 overlap和滑窗的 长度相等; 进行计算时, 第一个节拍计算第一个 beta滑窗的 overlap部分, 第二个节拍计算第一个 beta滑窗的滑窗部分, 同时计算第二个 beta滑窗的 overlap部分, 第三个节拍计算第一个滑窗的 alpha值和得到外信息 eb和硬 比特 hdb, 同时计算第二个滑窗的 beta滑窗部分, 同时计算第三个滑窗的 overla 部分, 依次类推, 直至得到最后一个 beta值和 alpha值。

实施例一

本实施例中, 提供一种同时支持 LTE模式和 TD/W模式的交织器, 并 同时提供一种包含该交织的 Turbo译码器,从而使得 Turbo译码器能够兼容 LTE模式和 TD/W模式。

具体地, 本实施例中提供的交织器, 用于按照预设的模式, 对输入的 数据进行交织处理和 /或解交织处理, 该交织器主要包括: LTE交织模块、 TD/W交织模块和选择器, 其中, 所述 LTE交织模块, 用于对输入的数据 进行 LTE模式的交织处理和 /或解交织处理; 所述 TD/W交织模块, 用于对 输入的数据进行 TD/W模式的交织处理和 /或解交织处理; 选择器, 用于选 择输出所述 LTE交织模块得到的数据或 TD/W交织模块得到的数据。

交织器中的 LTE交织模块和 TD/W交织模块可以仅开启其中之一。 具 体地, 交织器中的 LTE 交织模块和 TD/W 交织模块可以根据预设的模式 ( Mode )确定是否开启自身的交织功能。

如图 2所示, 本实施例提供的 Turbo译码器主要包括: 先验信息緩沖 器、 系统比特緩沖器、 校验比特緩沖器、 校验比特选择器、 第一交织器、 并行 MAP单元、 第二交织器和主控制模块。

其中, 第一交织器用于按照预设的模式对输入的数据 进行交织处理, 第一交织器包括第一 LTE交织模块、 第一 TD/W交织模块和第一选择器, 所述第一 LTE交织模块用于对输入的数据进行 LTE模式的交织处理, 所述 第一 TD/W交织器用于对输入的数据进行 TD/W模式的交织处理, 第一选 择器用于根据预设的模式(Mode ), 选择输出所述第一 LTE交织模块得到 的交织数据或第一 TD/W交织模块得到的交织数据到并行 MAP单元。如果 当前 Mode为 LTE模式, 第一选择器选择输出由第一 LTE交织模块输出的 先验信息 ab和系统比特 sb给并行 MAP单元, 如果当前 Mode为 TD/W模 式, 第一选择器选择输出由第一 TD/W交织模块输出的先验信息 ab和系统 比特 sb给并行 MAP单元。

并行 MAP单元用于对输入自身的数据进行 MAP计算处理, 并将得到 的 MAP计算结果输出给第二交织器。

第二交织器用于按照预设的模式对输入的数据 进行反交织和 /或解交织 处理, 该第二交织器包括第二 LTE交织模块、 第二 TD/W交织模块和第二 选择器, 所述第二 LTE交织模块用于对输入的数据进行 LTE模式的解交织 处理, 所述第二 TD/W交织模块用于对输入的数据进行 TD/W模式的解交 织和 /或反交织处理, 第二选择器用于根据预设的模式, 选择输出所述第二 LTE交织模块得到的数据或第二 TD/W交织模块得到的数据到先验信息緩 沖器。

主控制模块用于控制译码过程的开始和结束; 先验信息緩沖器用于保 存上一次 MAP迭代中得到的先验信息 ab,系统比特緩沖器用于保存系统比 特 sb,校验比特緩沖器包括用于保存第一校验比特 ρθ的第一校验比特緩沖 器和用于保存第二校验比特 pi的第二校验比特緩沖器, 各緩沖器在接收到 主控制模块发出的读命令后, 将自身所保存的数据输出。

具体地, 应用本实施例所提出的 Turbo译码器, 进行译码时, 译码过 程中的一次 MAP迭代过程为:

主控制模块发出读命令给先验信息緩沖器、 系统比特緩沖器和校验比 特緩沖器;

先验信息緩沖器和系统比特緩沖器在接收到主 控制模块发出的读命令 后, 分别将先验信息 ab和系统比特 sb输出到第一交织器; LTE模式下, 在当前 MAP迭代次数为奇数时,第一交织器按照预设的 模式对输入的先验 信息 ab和系统比特 sb进行交织处理后输出到并行 MAP单元,在当前 MAP 迭代次数为偶数时, 第一交织器直接将输入的先验信息 ab 和系统比特 sb 输出到并行 MAP单元; TD/W模式下, 在当前 MAP迭代次数为奇数时, 第一交织器按照预设的模式将事先已经经过反 交织的先验信息 ab作为交织 的先验信息 ab直接输出到并行 MAP单元, 并对输入的系统比特 sb进行交 织处理后输出到并行 MAP单元, 在当前 MAP迭代次数为偶数时, 第一交 织器直接将输入的先验信息 ab和系统比特 sb输出到并行 MAP单元。

特别的, 在第零次 map迭代时, 先验信息 ab数据为空, 第一交织器直 接将输入的系统比特 sb输出到并行 MAP单元。

校验比特緩沖器中的第一校验比特緩沖器和第 二校验比特緩沖器在接 收到主控制模块发出的读命令后, 从主控制模块获取到当前 MAP迭代次 数, 判断当前 MAP迭代次数为奇数时, 通过校验比特选择器输出第二校验 比特 pi给并行 MAP单元 ,判断当前 MAP迭代次数为偶数时 ,通过校验比 特选择器输出第一校验比特 ρθ给并行 MAP单元;

并行 MAP单元对输入的先验信息 ab、 系统比特 sb、 以及第一校验比 特 ρθ或第二校验比特 pi进行 MAP迭代运算处理后, 输出 MAP计算结果 给第二交织器。

在当前 MAP迭代次数为奇数时, 第二交织器对输入的 MAP外赋信息 进行解交织处理,得到解交织后的外赋信息 eb;在当前 MAP迭代次数为偶 数时, LTE模式下第二交织器直接将输入的 MAP计算结果作为自身的外赋 信息 eb, TD/W模式下第二交织器将输入的 MAP计算结果进行反交织处理, 得到外赋信息 eb。 第二选择器将该外赋信息 eb作为下一次 MAP迭代所需 的先验信息 ab输出到先验信息緩沖器緩存,或者将该外赋 息 eb对应的对 数域相似性 llr的正负性转换为 Turbo译码器的硬比特输出信息 hdb输出到 外部设备, 具体可以通过主控制模块进行控制。 例如, 主控制模块控制第 二交织器将该外赋信息 eb 对应的对数域 llr 的正负性转换为硬比特数据 hdb, 并在判断当前的 MAP迭代次数达到了预设的阈值或硬比特数据 hdb 校验正确时,控制 Turbo译码器将当前的硬比特数据 hdb作为 Turbo译码器 的译码结果输出到外部设备, 并结束当前译码过程; 在判断当前的 MAP迭 代次数未达到预设的阈值并且硬比特数据 hdb校验不正确时, 则控制第二 交织器将该外赋信息 eb作为下一次 MAP迭代所需的先验信息 ab输出到先 验信息緩沖器緩存, 并继续进行当前译码过程的下一次 MAP迭代。

Turbo译码器进行译码的过程中,对外部输入的 统比特和校验比特进 行反复 MAP迭代, 每迭代一次, 迭代次数累加 1 , 直到 Turbo译码器输出 的硬比特数据 hdb校验正确或迭代次数达到了指定的数值。

实际应用中 ,主控制模块可以通过对 MAP迭代次数进行计数,在 MAP 迭代次数达到预设的阈值时, 结束译码过程。 或者, 主控制模块还可以对 硬比特输出信息 hdb进行校验, 在校验正确时, 结束译码过程。

上述的第一交织器和第二交织器对于 LTE模式其在硬件结构以及算法 上可以是完全相同的, 所不同的是, 第一交织器用于实现交织, 第二交织 器用于实现解交织。 对于 TD/W模式, 第一交织器只需对输入的系统比特 sb进行交织处理, 而对于校验比特 pb和先验信息 ab不做任何处理, 直接 将输入的第一校验比特 ρθ或第二校验比特 pi , 以及先验信息 ab输出给并 行 MAP单元; 第二交织器在偶数次 MAP迭代时对并行 MAP单元输出的 外赋信息 eb进行反交织处理并将处理结果緩存于先验信 緩沖器中, 第二 交织器在奇数次 MAP迭代时对并行 MAP单元输出的外赋信息 eb进行解交 织处理并将处理结果緩存于先验信息緩沖器中 。

实施例二

本实施例中, 提供一种并行译码方法及相应的 Turbo译码器, 能够解 决 TD/W模式下并行译码的 memory沖突问题, 从而实现 TD/W模式下的 并行译码。

本实施例中, 并行译码的方法主要包括: 对多路数据进行交织处理、 并行 MAP计算以及解交织和 /或反交织处理后, 将解交织和 /或反交织处理 之后的多路数据及其对应的列地址经过緩存装 置緩存并输出到先验信息緩 沖器的多个子块当中。

具体地, 按照所述第二交织器产生的行地址, 分别将所述并行 MAP单 元输出的多路外赋信息以及所述第二交织器产 生的多路列地址输入到对应 的多个先进先出组( FIFO group ), 再按照所述并行 MAP单元输出多路外 赋信息的顺序, 将所述多路外赋信息及其对应的所述多路列地 址分别对应 緩存到 FIFO grou 的先进先出緩沖器( FIFO, First In First Out ) 中。

实际应用中,将所緩存的多路数据输出, 包括: 所述緩存装置中的各 N 选一选择器通过比较 N个先进先出緩沖器(FIFO ) 中滞留数据的数量, 选 择输出各先进先出组中滞留数据最多的先进先 出緩沖器所緩存的数据及其 对应的列地址到先验信息緩沖器的多个子块( Bank )。

相应的, 本实施例提供的 Turbo译码器中, 包括: 緩存装置, 所述緩 存装置包括 N个先进先出组( FIFO group )和 N个 N选一选择器, 一个先 进先出组( FIFO group )连接一个 N选一选择器, 其中, 各 FIFO grou 包 含 N个 FIFO, —个 N选一选择器的 N个输入端连接一个 FIFO grou 中 N 个 FIFO的输出端。 这里, N表示并行译码数据路数的最大值, N为 2的幂 次方, 本实施例中, N的取值范围为 [1,16] , 具体可以根据实际应用的需要 来确定 N的取值。

具体地, 可以在实施例一提供的 Turbo译码器中增加所述緩存装置, 该緩存装置作为第二交织器的一部分, 实现本实施例的并行译码。 其中, 所述緩存装置可以连接在第二 TD/W交织模块与先验信息緩沖器之间, 或 作为第二 TD/W交织模块内部的一个部件与先验信息緩沖 相连。 相应的, 并行 MAP单元包括 N个 MAP子单元,如图 3所示的 MAP— 0、 MAP— 1

MAP— N-l。 先验信息緩沖器、 系统比特緩沖器和校验比特緩沖器均匀划分 为 N个 Bank, 口图 3所示的 Bank— 0、 Bank—1、 ……、 Bank— N-l , 每个 Bank的大小相同, 对应的将一个数据码块划分 N个子数据码块, 每个子数 据码块的长度相同, 一个 Bank存放一个子数据码块。 如果一个数据码块的 长度为 K, 则每个子数据码块的长度为 L=K/N。

本实施例中, 各交织器中的各交织模块均包括交织地址计算 单元和交 叉单元, 其中, 交织地址计算单元用于按照相应的模式进行交 织地址计算, 得到对数据进行交织处理或解交织处理的行地 址和列地址; 交叉单元, 用 于将按照所述交织地址计算单元得到的列地址 输入自身的数据, 依据所述 交织地址计算单元得到的行地址进行交叉排序 。 例如, LTE 交织模块中的 交织地址计算单元用于按照 LTE模式下的交织算法和 /或解交织算法, 进行 交织地址计算; TD/W 交织模块中的第一交织地址计算单元则用于按 照 TD/W模式下的交织算法和 /或解交织算法, 进行交织地址计算。 图 3 中, 第一交叉单元和第一交织地址计算单元用于共 同实现对数据的交织处理, 第二交叉单元和第二交织地址计算单元用于共 同实现对数据的解交织处 理。

如图 3所示, Turbo译码器在 LTE模式下进行并行译码时, Turbo译码 器对外部输入的系统比特和校验比特进行一次 MAP迭代的过程如下:

第一交织地址计算单元每个节拍输出 N个 "列地址" 到系统比特緩沖 器和先验信息緩沖器的 N个 Bank,作为其读取自身所保存数据的 "读地址" , 同时, 每个节拍输出 N个 "行地址" 给交叉单元; 接收到主控制模块的读 命令后, 系统比特緩沖器和先验信息緩沖器分别按照所 述 N个 "列地址" 从自身的 N个 Bank中读取 N个系统比特和 N个先验信息, 实现列交织, 并将列交织后的 N个系统比特或 N个先险信息输出到交叉单元; 所述交叉 单元按照所述 N个 "行地址", 分别输入的对 N个系统比特和 N个先险信 息进行交叉排序, 实现行交织, 并将行交织之后的 N个系统比特和 N个先 验信息送给并行 MAP单元的 N个 MAP子单元;

接收到主控制模块的读命令后,第一校验比特 緩沖器的 N个 Bank每个 节拍通过校验比特选择器输出 N个第一校验比特 ρθ到并行 MAP单元的 N 个 MAP子单元,或者第二校验比特緩沖器的 N个 Bank每个节拍输出 N个 第二校验比特 pi给校验比特选择器到并行 MAP单元的 N个 MAP子单元; 并行 MAP单元的 N个 MAP子单元分别对输入自身的系统比特、先验 信息、 以及第一校验比特 ρθ或第二校验比特 p 1进行 Max-Log-MAP计算, 得到 N个 MAP计算结果, 并将 N个 MAP计算结果输出给第二交叉单元, 第二交叉单元根据第二交织地址计算单元输出 的 N个行地址, 对输入自身 的 N个 MAP计算结果进行交叉排序, 实现行解交织, 并在当前 MAP迭代 次数未达到预设的阈值或硬比特数据 hdb校验不正确时, 按照第二交织地 址计算单元输出的 N个列地址, 将所述 N个 MAP计算结果作为自身的外 赋信息写回到先验信息緩沖器的 N个 Bank,实现列解交织,至此一次 MAP 迭代完成,先验信息緩沖器的 N个 Bank所緩存的数据作为下一轮迭代的先 验信息。

其中, 对于 N个系统比特和 N个先险信息: 在当前 MAP迭代次数为 偶数时, 不需要对系统比特和先验信息进行交织处理, 因此, 第一交织地 址计算单元输出的所述 N个列地址,基于所述 N个系统比特和 N个先险信 息的正序地址对 L求模得到, 第一交织地址计算单元输出的所述 N个行地 址与所述并行 MAP单元中 N个 MAP子单元的顺序一致; 而在当前 MAP 迭代次数为奇数时, 需要对系统比特和先验信息进行交织处理, 因此, 第 一交织地址计算单元输出的 N个列地址,基于所述 N个系统比特和 N个先 验信息的交织地址对 L求模得到, 第一交织地址计算单元输出的所述 N个 行地址基于所述 N个系统比特和 N个先验信息的交织地址对 L求商得到。 这里, 系统比特和先验信息的正序地址为其保存地址 。 系统比特和先验信 息的交织地址由第一交织地址计算单元对系统 比特和先验信息的正序地址 进行交织计算得到。 同理, 第二交织地址计算单元输出的 N个列地址和 N 个行地址也通过上述方式得到, 不再赘述。

对于 N个第一校验比特 ρθ或第二校验比特 pi , 其读地址基于其正序 地址对每个 Bank中所保存子数据码块的长度求模得到; 第二交织地址计算 单元输出的所述 N个列地址, 基于所述 N个第一校验比特 ρθ或第二校验 比特 pi的正序地址对 L求模得到 ,第二交织地址计算单元输出的所述 N个 行地址与所述并行 MAP单元中 N个 MAP子单元的顺序一致。

在 LTE模式下, 第一交织地址计算单元输出的 N个列地址相同, 实际 应用中, 可以用一个列地址表示。

Turbo译码器在 TD/W模式下进行并行译码时, Turbo译码器对外部输 入的系统比特和校验比特进行一次 MAP迭代的过程与 LTE模块下的一次 MAP迭代过程基本相同, 所不同的是: 为消除 memory沖突, 第二交叉单 元将 N个外赋信息输出后, 该 N个外赋信息输入到緩存装置中, 该緩存装 置按照所述第二交织地址计算单元产生的行地 址以及并行 MAP单元输出 多路外赋信息的顺序, 将所述 N个外赋信息及其对应的、 由第二交织地址 计算单元产生的列地址緩存到自身, 之后根据各个先进先出组中各个 FIFO 所滞留数据的数量,每个节拍选择当前数据最 多的 FIFO将其所緩存的数据 写入到先验信息緩沖器的 N个 Bank中。

具体地, 如图 4所示, 所述所述緩沖装置包括 N个 FIFO grou 和 N个 N选一选择器,每个 FIFO grou 中包含 N个 FIFO, 即图 4所示的 FIFO— 0、 FIFO— 1、 FIFO— N-l。 其中, 根据所述第二交织器产生的 N个行地址, 将所 述并行 MAP单元输出的 N个外赋信息以及所述第二交织器产生的 N个列 地址应存放到 FIFO group, 同时, 由所述并行 MAP单元输出的 N个外赋信 息的顺序决定所述并行 MAP单元输出的 N个外赋信息以及所述 N个列地 址应存放的先进先出緩沖器(FIFO )。

如图 4所示, 緩存装置采用上述方式输出所緩存的外赋信息 及列地址, 并以所述列地址作为写地址, 将所述外赋信息分别写入到先验信息緩沖器 的 N个 Bank中, 包括: 在 TD/W模式下, 第二交叉单元按照所述第二交织 地址计算单元产生的 N个行地址, 将第二交织地址计算单元产生的 N个列 地址与所述并行 MAP单元输出的 N个外赋信息一起输入到所述緩沖装置中 相应的 FIFO grou ,再根据所述并行 MAP单元输出的 N个外赋信息的顺序, 将所述 N个外赋信息和第二交织地址计算单元输出的 N个列地址对应緩存 到相应的 FIFO。 之后, 緩存装置中的各 N选一选择器每个节拍从自身所连 接 FIFO grou 的 N个 FIFO中选择滞留数据最多的一个 FIFO输出外赋信息 至先验信息緩沖器中的对应 Bank。 本发明经过建模统计, 各个 FIFO group 中的 FIFO深度收敛于一个有限的范围之内, N为 16时 FIFO的最大深度不 超过 8。

实施例三

本实施例中, Turbo译码器的结构与实施例一完全相同, 所不同的是, 系统比特緩沖器、 第一校验比特緩沖器、 第二校验比特緩沖器均采用乒乓 结构,每个緩沖器包含一个乒(ping )子緩沖器和一个乓(pang )子緩沖器。

为了满足 LTE模式下最大码块长度为 6144的需求,每个子緩沖器的内 存组(Memory grou ) 总长度(Length ) 为 6144。 而在 TD/W模式下, 由 于最大码块长度仅为 5114, 因此, TD/W模式下每个子緩沖器在满足存放 一个最长码块的基础上还有部分空余, 鉴于此, 分别将系统比特緩沖器、 第一校验比特緩沖器、 和第二校验比特緩沖器拆分成两部分, 一部分的 Memory grou 长度为 5120, 另一部分 Memory grou 长度为 1024。

如图 5中( a )所示,在 LTE模式下,各緩沖器中的两部分 Memory group 均用于存放相应的数据。 如图 5中 (b )所示, TD/W模式下最大码块长度 为 5114, 各緩沖器中长度为 5120的 Memory grou 用于存放相应的数据, 将各緩沖器中长度为 1024的 Memory group合并起来, 可以用于存放作为 交织后的系统比特。 其中, 长度为 1024的 Memory group合并起来总长度 为 6144, 而交织后的系统比特码块长度为 5114, 因此, 可以用于存放交织 之后的系统比特。

实施例四 本实施例中, Turbo译码器的结构、 以及并行译码过程与实施例二完全 相同。 特别地, 本实施例中, N取 16, 即所述并行 MAP单元内部包含 16 个 MAP子单元, 并行 MAP单元采用 Max-Log-MAP算法,各 MAP子单元 均为 Max-Log-MAP算法的硬件实现电路。

图 6所示,每个 MAP子单元所要计算的数据长度为 L, L为一个 Bank 的子数据码块长度。 MAP子单元所实现的 Max— MAP— Log算法包含一个正 向递推的 Alpha计算过程和一个逆向递推的 Beta计算过程, Alpha序列和 Beta序列对应位置上的数据再做进一步的计算 出最终的 MAP计算结果。

如图 6中 a)所示为现有相关技术中, 并行 MAP模块中一个 MAP子单 元的逻辑结构图, 总共 sb、 pb、 ab三个输入, 输出外信息 eb和硬比特 hdb。

图 6中 b)为 a)所示逻辑结构下, 常规递推方式的实现示意图, 其中, beta递推过程是逆向的, beta逆向递推的过程为: 给倒数第一个 beta赋一 个初值, 然后根据公式 beta(i- 1 ) = f 1 (beta(i),gamma(i))依次得出倒数第二个 beta值、 倒数第三个 beta值 , 直到得到正数第一个 beta值。 而 alpha 递推过程是正向的, alpha逆向递推的过程为: 先给正数第一个 alpha赋一 个初值, 然后根据公式 alpha(i+l) = £2(alpha(i),gamma(i))—次得出第二个 alpha值, 第三个 alpha值…直到得到正数最后一个 alpha值。 其中,

综上所述, alpha递推结果的输出顺序是这样的: 0,1,2,3...k, beta递推 结果的输出顺序是这样的: k,k-l,k-2...1,0。 其中, k表示数据长度。 通过 gamma緩沖器和 beta緩沖器将 alpha递推结果和 beta递推结果的次序调整 为一致, 在基于公式 eb(i) = G(alpha(i),beta(i))计算 eb, 得到硬判 hdb或 eb。

具体地, sb、 pb、 ab三路输入是按照 beta的逆序输入的,得到的 gamma 值自然也是逆序的,那么送给 beta逆向递推模块的逆序 gamma值可以直接 供 beta逆向递推所用 , 同时, 将逆序的 gamma值緩存到 gamma緩沖器中 , 等 beta逆向递推完成后, 再从 gamma緩沖器中按照正序把 gamma值读出 来送给 alpha正向递推模块做 alpha正向递推。 并且, beta递推得到的逆序 的 beta值先緩存到 beta緩沖器中,等 alpha正序递推输出正序的 alpha值时, 从 beta緩沖器中按照正序读出 beta值, 与正序的 alpha值一起送给 eb计算 模块, eb计算模块进行 eb计算后输出正序的 eb值, 如此, 判决输出的 hdb 也是正序。 总之, 图 6的 b ) 中是先计算逆序的 beta值并保存, 再计算正 序的 alpha值, 同时读出正序的 beta值, 完成 eb和 hdb的计算。

为了降低等待时间提高吞吐率, 同时也为了降低等待过程中緩存 Beta 值的 memory资源, 通常采用图 6中 c)所示的滑窗控制方式, 具体地, 将一 个长度为 k的数据包分成若干个滑窗, 每计算得到一个滑窗的 beta, 就开 始计算对应该滑窗的 alpha, 同时开始该滑窗的 eb和 hdb的计算。在计算当 前滑窗的 alpha和 eb\hdb的同时, 开始下一个滑窗的 beta计算, 如此, 当 前滑窗的 alpha和 eb\hdb计算完成时, 下一个滑窗的 beta也计算结束, 之 后, 可以开始下一个滑窗的 alpha和 eb\hdb的计算, 以此类推。 如此, 不需 要緩沖整个数据包得 k个 gamma值和 k个 beta值, 而只需緩存两个滑窗的 gamma值和 beta值即可, 降低了緩沖器的大小。

图 6中 d)为图 c)所示递推方式的流水方式示意图, beta的每一个滑窗 都多带一个 overlap的长度,因此 beta滑窗的长度是 alpha滑窗长度的 2倍, 每一个 alpha滑窗计算完成后都要等待一个滑窗的时间 开始下一个滑窗 的计算。

图 6中 e)对图 a )进行改进后的 MAP子单元逻辑结构图, 将每个 beta 滑窗都分成 "overlap" 和 "滑窗" 两个部分, 设置 Beta overlap和 Beta滑 窗的长度相等, 并设置 Beta overla 逆向递推模块和 Beta滑窗逆向递推模 块, beta overlap逆向递推模块用于计算 beta滑窗的 overlap部分, beta滑 窗逆向递推模块用于计算 beta滑窗的滑窗部分。

图 6中 f)为对应图 e )的流水线, 首先第一个节拍计算第一个 beta滑窗 的 overlap部分, 第二个节拍计算第一个 beta滑窗的滑窗部分, 同时计算第 二个 beta滑窗的 overlap部分, 第三个节拍计算第一个滑窗的 alpha/eb/hdb, 同时计算第二个滑窗的 beta滑窗部分,同时计算第三个滑窗的 overlap部分, 依次类推。 显而易见, 改进后的图 f)的流水线比图 d)的流水线时间更短, 速度更快, 提高了吞吐率和流水线的效率。

以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。