APP下载

Turbo码中基4并行QPP交织器算法研究

2022-04-28史宜巧

智能计算机与应用 2022年4期
关键词:交织运算文献

史宜巧,李 丛

(1江苏电子信息职业学院 智能制造学院,江苏 淮安 223003;2南京理工大学 泰州科技学院,江苏 泰州 225300)

0 引 言

信道编码是提高信道可靠性的重要理论和方法,Turbo编码就是其中之一。Turbo编码应用了随机编译码条件,将卷积编码与随机交织器结合在一起,采用软输出迭代译码来逼近最大似然译码,从而获得了接近Shannon理论极限的译码性能。

Turbo由分量码和交织器级联而成,因此,分量码和交织器设计的优劣直接影响着Turbo码性能。其中,交织器主要功能是减小相邻比特之间的相关性,针对其研究主要从交织算法以及交织结构两个角度进行。文献[6]提出一种利用内存映射矩阵进行地址交织的方法,将每一个译码器的输出填充到标记为()的存储器中,而这其中的映射关系由映射矩阵决定,但是矩阵需要使用退火算法逐级填充,求解过程较为复杂;文献[7]基于通用处理器(GPP)架构的实时信号处理技术,利用单指令多数据(SIMD)技术一条指令可以处理多个数据的特点,从指令级进行优化,提出一种高度并行的交织器,为DSP信号处理提供了良好的借鉴。为了消除并行交织译码过程中可能带来的地址冲突,引入了二次置换多项式交织算法(QPP),该交织器具有2个特点,一是从个并行SISO计算出来的个外信息在解交织后,总能够被存入到个不同的存储器中;二是该交织器是个并行SISO所需要访问的个交织地址总是指向个存储器的同一个位置。文献[9]提出一种基于置换模式的优化交织器方案,该方案利用一个统一的交织硬件电路来计算所有并行的交织地址。其交织电路的设计虽然较优,但由于需要保存不同配置下的初始交织模式,因而总体的硬件复杂度较高。文献[10]针对实际译码过程中,为了满足高阶蝶形运算需求,设计了一种基4蝶形交织器模型,通过奇偶地址分模块并行计算实现,然而该模型中相邻地址计算存在依赖,地址计算过程中递推关系复杂。

为了更好地发挥交织器在Turbo译码中的作用,简化硬件实现,本文提出一种基4并行QPP交织器算法。文章内容安排如下:首先介绍QPP交织器原理,并通过递推简化交织地址在并行计算情况下存在的求余等复杂运算;然后进一步推导公式解除相邻交织地址计算的依赖关系,从而提出本文的QPP基4交织器;最后对本文提出的算法使用Verilog语言设计实现,并借助FPGA仿真工具与Matlab仿真结果对比,结果表明本文算法用于FPGA实现交织输出结果完全正确,并且通过相同工艺下的与其他方案对比,显示本文设计综合面积减小50%左右,证明硬件开销更小。

1 QPP交织器原理

3GPP在LTE标准中采用了二次置换多项式(QPP)交织器作为Turbo码的内交织器,通过二次多项式推导计算交织地址,最终转换为递推计算。

1.1 QPP交织器递推运算

QPP交织器中,输出的下标和输入下标∏()的关系满足如下二次方程式:

其中,和取决于块的大小,在文献[11]中,3GPP一共规定了188种不同长度的。

文献[12]对∏()求解做进一步推导,如下:

其中,(1)(2(1))mod,很容易得知∏()可以根据∏(1)和(1)递推获得。

1.2 并行QPP交织器设计

考虑到高速Turbo码并行译码设计的需要,交织器也需要并行设计,可以将均分为个子块,一般{1,2,3,4},以4为例,则每个子块长度4,分块后交织过程如图1所示。

图1 交织器并行计算示例Fig.1 Example of interleaver parallel computation

由文献[13]可知,QPP交织器是一个无竞争交织器,即:

其中,={0,1,2,3},表示块编号。先假设0,由于交织分块进行,可以重新表示为:

由式(3)可知,第时刻并行输出的4个交织地址块内偏移量∏()是一致的,因此每次并行计算出4个交织地址,实际上只需要计算出一个偏移量()。

首先是∏(),由于4·,那么可得(mod)modmod,已知求余运算有以下性质:

为简化运算,使硬件实现中不出现求余运算,令g()()mod,代入式(6),再结合式(5)性质可得:

从式(9)可知,∏()可以根据∏(-1)和g(-1)递推得到。将g()=()mod代入式(9)可得:

其中,(2)mod。由上式可知,g()可以通过g(-1)递推得到。参照∏()推导过程,同样有:

上述求解仅仅是针对(),而()({1,2,3})可以根据()求解,推导公式如下:

2 基4并行QPP交织器算法设计

每时刻每个子块仅输出一个地址,因此递推关系也仅存在于相邻2个地址间,而实际的Turbo译码系统需要面临高阶蝶形运算需求,例如基4蝶形译码系统中需要交织器同时输出奇偶地址,如图2所示。因此本文考虑设计一种算法,通过初始地址一次性计算得到奇偶地址。

图2 基4并行QPP交织器结构示意图Fig.2 Schematic diagram of radix-4 parallel QPP interleaver

图3 交织器算法原理图Fig.3 Schematic diagram of interleaver algorithm

由图3可知,要同时计算出2与2+1两处地址,需要推导两者与2-1处地址的关系。根据上述分析,计算交织地址采用递推的方式,2与2+1处的地址实际上是相邻的,因此存在递推关系,以g()为例,根据式(10)有:

从式(16)和式(17)中可以看出,g(21)的计算依赖于g(2),这样奇偶地址无法同时计算。为消除两者之间的依赖关系,对式(15)作进一步递推,将式(16)代入式(17)可得:

算法:计算Π(2)与Π(2+1)

q(2)与q(21)以及(2)与(2+1)的计算类似,即通过往后递推一步,解除时刻计算2与2+1两处地址所需变量之间的依赖关系,保证奇偶地址可以同时输出。

可以看出通过本文设计,能够实现利用单个输入计算输出多个地址,即单输入多输出(SIMO)。

3 FPGA设计与仿真分析

为了证明本文设计可行性,对以上提出的算法使用FPGA实现,验证仿真结果,并与已有方案进行对比,实现语言采用Verilog。

3.1 FPGA设计与硬件复杂度

交织器的顶层电路如图4所示,主要包括查找表模块与交织模块两部分,其中后者主要为前者计算交织地址提供输入。这是因为交织地址的计算是递推过程,需要提供初始值与必要的参数。

图4 顶层模块图Fig.4 Top module diagram

其中,交织模块的内部实现如图5所示,可以看到整个模块都被简化成了判决单元与一些计算单元,而根据第2节代码可以知道这些计算单元只包括加减运算,因此综合出来的电路非常简单。另外可以看出上一轮计算得到的g()、∏()以 及q()都要作为返回值参与下一轮计算。

图5 交织模块实现Fig.5 Interleaver module

将所设计的交织器的硬件复杂度与已有的技术方案进行对比,在SMIC40 nm工艺下对本文设计进行综合,并与文献[9]和文献[16]所提出的方案进行了对比,见表1。表1中,文献[9]采用radix-4,每个时钟通过8个SISO并行的方式输出8个地址。文献[16]采用radix-2,最高4个SISO同时运行,也就是每个时钟输出4个地址,并且硬件实现包含了除法器。而本文的设计通过4个SIMO并行运行每个时钟输出8个地址。本文设计的综合面积仅有0.032 nm,通过归一化面积比可以看出,本文方案相对于另外2种方案硬件开销很小。

表1 硬件开销对比Tab.1 Hardware overhead comparison

3.2 仿真分析

图6 交织地址计算模块输出Fig.6 Interleaved address calculation module output

在交织模块的输出结果基础上,根据式(4)可以计算最终的交织地址,并且将包含正确交织地址Matlab仿真结果读入,仿真结果如图7所示。与FPGA仿真结果进行比对,如果有错误地址输出,则令计数加1。从图7可以看出,每个时钟输出了8路地址,并且没有发生错误,说明本设计可以高效、正确地实现地址交织功能。

图7 仿真结果Fig.7 The simulation results

4 结束语

本文提出了一种硬件优化的基4四路并行QPP交织器,针对并行计算场景,简化地址递推计算,并消除相邻地址计算的依赖关系,最终可以每个时钟并行输出8路奇偶地址,不仅降低了硬件实现复杂度,也大大提高了地址计算的效率。仿真结果表明本设计硬件开销较小,能够正确地输出交织地址,充分证明了本设计具有可行性。需要指明的是,为了方便QPP交织多项式的递推计算,本文在分块并行译码时,并行块数必须满足=2,后续可以做进一步优化,将这种并行译码下的递推关系一般化,以方便该并行交织器更好地满足不同场景需求。

猜你喜欢

交织运算文献
“新”与“旧”的交织 碰撞出的魅力“夜上海”
Hostile takeovers in China and Japan
几何映射
Cultural and Religious Context of the Two Ancient Egyptian Stelae An Opening Paragraph
交织冷暖
长算式的简便运算
加减运算符号的由来
The Application of the Situational Teaching Method in English Classroom Teaching at Vocational Colleges
“整式的乘法与因式分解”知识归纳
The Role and Significant of Professional Ethics in Accounting and Auditing