应用于FFT处理器的新型串接CSD常数乘法器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用于FFT处理器的新型串接CSD常数乘法器设计
于建
【摘要】快速傅里叶变换(FFT)广泛应用于正交频分复用(OFDM)系统的调制与解调中.FFT的输出需要输入序列与旋转因子(TF)进行复数乘法运算,由于正则有符号数(CSD)常数乘法器实现简单、硬件开销小,常用于此类复数乘法运算,但随着旋转因子常数值个数的增加,其硬件开销会成倍增长.为了降低硬件开销,利用参数分解减少常数值个数的方法,提出了一种新型串接CSD常数乘法器.仿真结果显示对比常用的布斯乘法器,该新型串接CSD常数乘法器设计方案实现与旋转因子Wi128、
Wi256以及Wi512进行复数乘法运算的硬件资源消耗分别减少41%、34%和25%.
【期刊名称】《电讯技术》
【年(卷),期】2018(058)008
【总页数】5页(P976-980)
【关键词】CSD常数乘法器;布斯乘法器;傅里叶变换;旋转因子
【作者】于建
【作者单位】河北民族师范学院物理电子学院,河北承德067000
【正文语种】中文
【中图分类】TN47
1 引言
快速傅里叶变换(Fast Fourier Transform,FFT)是离散傅里叶变换(Discrete Fourier Transform,DFT)的快速算法。
复数乘法器作为FFT处理器最重要的组成
部分,如何降低其硬件开销成为了近年来的研究热点。
布斯乘法器由于能够将部分积的数量减半[1],常被用于实现FFT旋转因子的复数乘法运算。
由于正则有符号
数(Canonical Signed Digit,CSD)常数乘法器在硬件实现上需要更少的硬件开销,而且无需额外的只读存储器(Read Only Memory,ROM)对旋转因子的常数值进行存储,常被用来替代布斯乘法器。
基2k算法[2]由于其蝶形架构简单并且能够降低旋转因子的复杂度,成为了在FFT处理器实现中最常用的算法。
正如我们所知道的,基22算法会产生新的旋转因子基23算法会产生新的旋转因子基24算法会
产生新的旋转因子基25算法会产生新的旋转因子基26算法会产生新的旋转因子
上述旋转因子的复数乘法运算都可以利用CSD常数乘法器进行实现。
文献[3]给出了实现和的设计方案。
文献[4]给出了实现的设计方案。
对于的旋转因子来说,如
果继续利用上述文献的方案设计CSD常数乘法器会导致其硬件开销超过布斯乘法器。
因此,本文提出一种新型串接CSD常数乘法器设计方案,用来实现更为复杂
的旋转因子以及的复数乘法运算。
2 CSD常数乘法器设计
以实现旋转因子的复数乘法为例,首先需要确定其具体的常数值。
由表1可知,
因为是由基24算法所产生的,故取其指数4作为基础参数的个数,基础参数为0、1、2、3,然后以二进制表示,最后反转二进制位得到对应的十进制数,与固定的被乘数[0 1 2 3]进行相乘,得到的值即是所需的7组常数值:仔细观察表1,对于这7组常数值来说,根据旋转因子的对称性和可约性只需知道和个值即可,所有的7组常数值均可由这3组常数值的实部进行表示。
表2给出了详细的关系表达式,
值得注意的是乘以-j的运算为普通运算,只需对输入序列实部和虚部的位置进行交换,再对虚部求反即可。
表旋转因子对应的常数值Tab.1 Corresponding constant values of 基础参数固定被乘数具体常数值
[00]→0[01]→2[10]→1[11]→3×[0123]W016W016W016W016W016W216W4 16W616W016W116W216W316W016W316W616W916
表的7组常数值Tab.2 Seven constant values of Wi16表达式
W0161W116Re{W116}-jRe{W316}W216Re{W216}-
jRe{W216}W316Re{W316}-jRe{W116}W416-j(=-j×W016)W616-Re{W216}-jRe{W216}(=-j×W216)W916-Re{W116}+jRe{W316}(=-1×W116)
接下来利用CSD表示法对这3组常数值的实部进行表示,并利用公共子表达式共享模块(Common Sub-expression Sharing Block,CSSB)[5],进一步降低硬件资源开销。
图1给出了这3个常数值详细的CSD表示,其中红色椭圆所圈起来的“101”就是公共子表达式共享模块。
之所以选择12位字长的表示,是因为如果
增加旋转因子的字长,会大大增加硬件开销,而量化噪声比(Signal-to-Quantization-Noise Ratio,SQNR)并无显著提高[5]。
图1 12位字长的3个常数值CSD表示Fig.1 CSD representation of three constant values for
图2给出了常数乘法器的详细结构图,由加法单元,移位单元和选择单元组成,
主架构根据选择单元输出输入序列与以及相乘后的结果,选择单元电路根据需要对主架构的输出进行乘以1、-1和-j的运算,输出输入序列与和相乘后的结果。
图常数乘法器详细架构图Fig.2 Detailed structure of CSD constant multiplier 3 新型串接CSD常数乘法器设计
新型串接CSD常数乘法器主要用于实现输入序列与以及旋转因子的复数乘法运算,其详细的设计步骤如下:
Step 1 利用旋转因子的对称性将其常数值的个数变为原来的1/8。
图3给出了
A~H 8个区域详细的对称映射[6],N为FFT点数。
由图可知,只要确定了旋转
因子在A区域的常数值,就可导出旋转因子在其他区域的常数值。
因此,设计相
应的映射电路即可获得旋转因子所有的常数值。
图3 旋转因子对称性映射图Fig.3 Symmetric region mapping of TF
Step 2 利用参数分解的方法将旋转因子一分为二。
为了保证硬件逻辑消耗为最低,分解后获得的两个参数取值范围必须为最小。
值得注意的是参数取值的个数即是所需常数值的个数。
另外,如果两种参数分解方案拥有相同参数个数,则需要通过仿真综合的结果决定哪种是最优的分解方案,即通过逻辑消耗的多少来进行选择。
Step 3 确定好参数分解方案后,对两个参数取值所确定的常数值进行CSD表示,并找出对应的CSSB。
在CSSB的选择上要求其被重复利用的次数越多越好。
Step 4 完成上述工作后,分别对两组复数乘法运算采用第一部分介绍的CSD常数乘法器方案进行实现,然后将它们串接在一起,最终完成新型串接CSD常数乘法器的整体设计。
以串接CSD常数乘法器设计为例,首先利用图3所示的对称性,将旋转因子所需的常数值减少至16个(128/8);然后,利用参数分解的方法,将旋转因子分解为
和因此,旋转因子所需的常数值由16个减少到8个;最后利用加法单元、时移单元以及选择单元完成设计。
例如,如果输入序列需要与旋转因子进行复数乘法的运算,令i1=3&i2=1,即可得到相应的旋转因子
图4给出了旋转因子的CSD表示,其中CSSB为蓝色椭圆圈起的“101”模块,红色椭圆圈起的“”模块和紫色椭圆圈起的“”模块。
图4 12位旋转因子8个常数值CSD表示方法Fig.4 CSD representation of eight constant values for
图5给出了新型串接常数乘法器的详细架构图。
适当选择控制信号i1、i2和映射
电路的SEL信号,就会得到相应的输入序列与旋转因子的相乘结果。
其中i1、i2
主要用于选择出正确的旋转因子常数值,SEL主要用于将输出结果映射到不同的对称区域。
图6为常数乘法器传输门级(Register Transfer Level,RTL)的仿真结果。
其中,xn_re、xn_im分别为输入序列的实部和虚部,Xk_re、Xk_im分别为输出序列的实部和虚部,c1、c2、sel为控制信号。
图中第一列输入的测试序列以及控制信号为xn_re=256,xn_im=136,c1=00(i1=1),c2=00(i2=0),sel=000(图3的A区域),因此,被选择出的旋转因子常数值为最终得到相乘的结果为(256+136j)×(0.980 8-0.195 1j)=278+84j,与图6输出的结果一致,证明了设计的有效性。
图串接乘法器详细架构图Fig.5 Detailed structure of cascade CSD constant multiplier
图常数乘法器RTL级仿真结果Fig.6 RTL level simulation result of CSD constant multiplier
4 比较与分析
本文的设计采用Verilog HDL语言,基于QUARTUS PRIME平台工具,器件家族为Cyclone 10LP。
表3给出了不同旋转因子CSD常数乘法器与布斯乘法器的逻辑单元消耗的比较。
值得注意的是布斯乘法器方案2对比方案1要节约16%左右的逻辑用量,这是因为方案1需要4组乘法单元和2组加法单元,而方案2只需3组乘法单元和5组加法单元[1]。
另外,对于串接常数乘法器的实现,有两种参数分解方法,仿真综合结果显示,方案2较于方案1具有更少的逻辑单元消耗,这说明i2的参数个数决定了整体设计硬件逻辑单元的用量。
表3 CSD常数乘法器与布斯乘法器逻辑单元消耗Tab.3 The hardware-cost comparison between CSD multipliers and Booth multiplier乘法器参数分解方案字长/bit输入输出逻辑单元消耗百分比/%布斯112132 090100布斯212131 75584Wi8 CSD12131899Wi16 CSD121337718Wi32 CSD121368033Wi64
CSD12131 24259Wi128CSDi=4i1+i2(i1=0~4,i2=0~3)12131
23859Wi256(1)CSDi=8i1+i2(i1=0~4,i2=0~7)12131
65779Wi256(2)CSDi=4i1+i2(i1=0~7,i2=0~3)12131 36966Wi512
CSDi=8i1+i2(i1=0~8,i2=0~7)12131 57675
文献[3]在处理旋转因子复数乘法的时候采用了布斯乘法器的方案,如果采用本文的方案,能够节约近20%的硬件开销,并且不需要额外的ROM存储旋转因子对应的常数值。
同样,文献[7]在处理复数乘法的时候也采用了布斯乘法器的方案,如果利用本文的方案,硬件开销能够降低29%左右。
5 结束语
本文阐述了直接型CSD常数乘法器的详细设计步骤以及新型串接CSD常数乘法器的设计方法。
对比已有的设计方案,本文的设计方案扩大了CSD常数乘法器在FFT处理器设计过程中的应用范围,对于N(N≤512)点FFT处理器的设计来说,不需要任何ROM对旋转因子的常数值进行存储,复数乘法运算可以全部由CSD 常数乘法器来完成,大大降低了硬件资源的开销。
本文的研究可以帮助设计者在FFT处理器的设计中合理选择所需的CSD常数乘法器,以降低整个FFT处理器设计的硬件开销。
但是,当旋转因子的N值超过512后,CSD常数乘法器的优势不再明显。
如何处理更大N值旋转因子的复数乘法运算,是下一步要解决的问题。
【相关文献】
[1] CHO K J,LEE K C,CHUNG J Y,et al.Design of low-error fixed-width modified Booth multiplier[J].IEEE Transactions on Very Large Scale Integration Systems,2004,12(5):522-531.
[2] WANG C,YAN Y,FU X.A high-throughput low-complexity radix-24-22-23 FFT/IFFT
processor with parallel and normal input/output order for IEEE 802.11ad systems[J].IEEE Transactions on Very Large Scale Integration Systems,2015,23(11):2728-2732.
[3] CHO T,LEE H.A high-speed low-complexity modified radix-2^5 FFT processor for high rate WPAN applications[J].IEEE Transactions on Very Large Scale
Integration(VLSI)Systems,2013,21(1):187-191.
[4] GANESH K G,SUBHENDU S K.An area-efficient and low-power 64-point pipeline fast Fourier transform for OFDM applications[J].Integration the VLSI Journal,2017,57(4):125-131.
[5] MAHARATNA K,GRASS E,JAGDHOLD U.A 64-point fourier transform chip for high-speed wireless LAN application using OFDM[J].IEEE Journal of Solid-State
Circuits,2004,39(3):484-493.
[6] YANG K J,TSAI S H,CHUANG G C H.MDC FFT/IFFT processor with variable length for MIMO-OFDM systems[J].IEEE Transactions on Very Large Scale
Integration(VLSI)Systems,2013,21(4):720-731.
[7] YANG C H,YU T H,MARKOVIC D.Power and area minimization of reconfigurable FFT processors:a 3GPP-LTE example[J].IEEE Journal of Solid-State Circuits,2012,47(3):757-768.
[8] KAIVANI A,KO S.Floating-point butterfly architecture based on binary signed-digit representation[J].IEEE Transactions on Very Large Scale Integration
Systems,2016,24(3):1208-1211.
[9] CHEN Y,LIN Y W,TSAO Y C,et al.A 2.4-Gsample/s DVFS FFT processor for MIMO OFDM communication systems[J].IEEE Journal of Solid-State Circuits,2008,43(5):1260-1273.。