CN109117188B - 一种多路混合基fft可重构蝶形运算器 - Google Patents
一种多路混合基fft可重构蝶形运算器 Download PDFInfo
- Publication number
- CN109117188B CN109117188B CN201810886891.3A CN201810886891A CN109117188B CN 109117188 B CN109117188 B CN 109117188B CN 201810886891 A CN201810886891 A CN 201810886891A CN 109117188 B CN109117188 B CN 109117188B
- Authority
- CN
- China
- Prior art keywords
- radix
- complex
- selection switch
- butterfly
- switch unit
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Computer Hardware Design (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种多路混合基FFT可重构蝶形运算器,该蝶形运算器包括:控制单元,第一选择开关单元以及运算单元;控制单元用于根据接收到的待运算数据生成运算指令,其中,待运算数据包括待处理的数字信号、旋转因子以及预设旋转因子系数;第一选择开关单元用于根据运算指令选择对应的导通模式;运算单元用于根据导通模式,对待运算数据进行蝶形运算。通过本发明中的技术方案,有利于提高蝶形运算器中电子元件的利用效率,减小了电路硬件资源和功耗,有利于提高计算数据的准确性和实时性。
Description
技术领域
本发明设计芯片技术领域,具体而言,涉及一种多路混合基FFT可重构蝶形运算器。
背景技术
在数字信号处理中,特别是对于有长序列,离散傅里叶变换(Discrete FourierTransform,DTF)是一种尤为重要的数学变换,其实质是有限长序列傅里叶变换的有限点离散采样,使数字信号处理可以在频域采样中运用数字运算的方法进行,大大增加了数字信号处理的灵活性。对于一般数的DFT算法,是通过把大点数的DFT转化为小点数的DFT进行运算,以实现减少运算复杂度的目的,业界通常是采用快速傅里叶变换(Fast FourierTransform,FFT)来实现DFT变换,计算FFT的常用算法是基2FFT和基4FFT,点数限制在2的幂次方或者4的幂次方,这样限制了题点数的可选择范围。对于某些应用比如合成孔径雷达(Synthetic Aperture Radar,SAR)信号处理中,尤其是在聚束模式下,由于处理时间和面积的限制,不能将每个处理数据的点数都扩展至满足基2或基4FFT算法,尤其对于大点数FFT,否则会延长计算时间以及消耗更多的内存空间。
而现有技术中,通常将非2次幂点数FFT变换进行比特序列补零,使补零后的序列长度符合FFT/IFFT处理器的处理范围;利用FFT/IFFT处理器对补零后的序列进行FFT/IFFT计算,但是这种做法引入了噪声,降低了精度,有可能对芯片的计算性能造成损失。尤其在现有技术中的定点FFT和IFFT,为了防止数据溢出,每级蝶形运算的输入需要除以输入数据的个数,对于基数大于2的FFT或IFFT,这样会造成每级输入数据丢失的比特过多,计算精度误差较大,影响了通信***的性能。
发明内容
本发明的目的在于:提供了一种多路混合基FFT可重构蝶形运算器,有利于提高蝶形运算器中电子元件的利用效率,减小了电路硬件资源和功耗,有利于提高计算数据的准确性和实时性。
本发明的技术方案是:提供了一种多路混合基FFT可重构蝶形运算器,该蝶形运算器包括:控制单元,第一选择开关单元以及运算单元;控制单元用于根据接收到的待运算数据生成运算指令,其中,待运算数据包括待处理的数字信号、旋转因子以及预设旋转因子系数;第一选择开关单元用于根据运算指令选择对应的导通模式;运算单元用于根据导通模式,对待运算数据进行蝶形运算。
上述任一项技术方案中,进一步地,运算单元包括:两个基2蝶形运算器、第一复数加法器和第二复数加法器;基2蝶形运算器用于根据待运算数据和第一选择开关单元对应的导通模式,进行基2蝶形运算;两个基2蝶形运算器还用于根据第一选择开关单元对应的导通模式,与第一复数加法器和第二复数加法器组成一个基3蝶形运算器,基3蝶形运算器用于对待运算数据进行基3蝶形运算。
上述任一项技术方案中,进一步地,基2蝶形运算器包括:第一复数乘法器,第三复数加法器和复数减法器;基2蝶形运算器的第一输入端分别连接于第三复数加法器的第一输入端以及通过第一选择开关单元连接于复数减法器的第一输入端,第三复数加法器的输出端通过第一选择开关连接于基2蝶形运算器的第一输出端,复数减法器的输出端通过第一选择开关单元连接于基2蝶形运算器的第二输出端;基2蝶形运算器的第二输入端和旋转因子分别连接于第一复数乘法器的输入端,第一复数乘法器的输出端分别连接于第三复数加法器的第二输入端和复数减法器的第二输入端。
上述任一项技术方案中,进一步地,还包括:移位计算单元;移位计算单元用于在进行基3蝶形运算时,根据运算指令,对待运算数据进行移位,并将移位后的待运算数据发送至运算单元,其中,待运算数据包括待处理的数字信号、旋转因子以及预设旋转因子系数;运算单元还用于:根据导通模式,组成一个基3蝶形运算器,对移位后的待运算数据进行基3蝶形运算。
上述任一项技术方案中,进一步地,基3蝶形运算器包括:第二复数乘法器、第三复数乘法器、复数加法器组、第一复数加法器和第二复数加法器;基3蝶形运算器的第一输入端通过复数加法器组和第一选择开关单元连接于所示基3蝶形运算器的第一输出端,基3蝶形运算器的第一输入端还连接于第一复数加法器的第一输入端,第一复数加法器的输出端通过第一选择开关单元连接于基3蝶形运算器的第二输出端,基3蝶形运算器的第一输入端还连接于第二复数加法器的第一输入端,第二复数加法器的输出端通过第一选择开关单元连接于基3蝶形运算器的第三输出端;基3蝶形运算器的第二输入端连接于第二复数乘法器的输入端,第二复数乘法器的第一输出端通过复数加法器组和第一选择开关单元连接于基3蝶形运算器的第一输出端,第二复数乘法器的第二输出端通过移位计算单元、第一选择开关单元和复数加法器组连接于第一复数加法器的第二输入端,第二复数乘法器的第三输出端通过移位计算单元、第一选择开关单元和复数加法器组连接于第二复数加法器的第二输入端;基3蝶形运算器的第三输入端连接于第三复数乘法器的输入端,第三复数乘法器的第一输出端通过复数加法器组和第一选择开关单元连接于基3蝶形运算器的第一输出端,第三复数乘法器的第二输出端通过移位计算单元和复数加法器组连接于第一复数加法器的第二输入端,第二复数乘法器的第三输出端通过移位计算单元、第一选择开关单元和复数加法器组连接于第二复数加法器的第二输入端,其中,第二复数乘法器为一个基2蝶形运算器的第一复数乘法器,第三复数乘法器为另一个基2蝶形运算器的第一复数乘法器,复数加法器组包括两个基2蝶形运算器的第三复数加法器和复数减法器。
上述任一项技术方案中,进一步地,移位计算单元包括:第四复数乘法器和第一移位寄存器;第四复数乘法器用于计算数字信号、旋转因子以及预设旋转因子系数之间的乘积;第一移位寄存器连接于第四复数乘法器,第一移位寄存器用于对乘积进行移位操作,并将移位后的乘积发送至运算单元,其中,预设旋转因子系数为旋转因子系数与2的乘积,移位操作为数据阶码向右移动一位。
上述任一项技术方案中,进一步地,移位计算单元还包括:选择开关;选择开关用于根据导通模式,控制第四复数乘法器输出的导通与关断。
上述任一项技术方案中,进一步地,还包括:第二选择开关单元、第三选择开关单元和第二移位寄存器;第二选择开关单元设置于控制单元的输出端,第二选择开关单元用于根据运算指令选择运算模式,其中,运算模式包括FFT运算模式和IFFT运算模式;第三选择开关单元设置于旋转因子的输入端,第三选择开关单元连接于第一复数乘法器的输入端,第三选择开关单元用于根据运算模式选择旋转因子类型,旋转因子类型包括第一旋转因子类型和第二旋转因子类型,第一旋转因子类型对应于FFT运算模式,第二旋转因子类型对应于IFFT运算模式;第二移位寄存器用于当运算模式为IFFT模式时,将待运算数据进行移位操作。
上述任一项技术方案中,进一步地,第三选择开关单元还包括:反相器;反相器设置于第一复数乘法器和第三选择开关之间,反相器用于在进行IFFT操作时,对待运算数据虚部的最高位执行取反操作。
本发明的有益效果是:通过第一选择开关单元选择对应于待运算数据的导通模式,根据待计算数据的点数,利用复用的复数加法器、复数乘法器构成可重构的基2/3蝶形运算器,提高了电子元件的利用效率,有利于减小芯片的体积,利用基3蝶形运算器进行运算,有利于减小运算过程中引入噪声的可能性,有利于提高蝶形运算器的计算精度,减小了运算过程中的延时。
本发明中的技术方案通过第二选择开关单元对运算模式进行选择,并通过第三选择开关单元和第二移位寄存器对待处理数据进行取反处理,使得蝶形运算器能够进行FFT/IFFT运算,优化了蝶形运算器的运算类型,扩大了蝶形运算器的运算范围,有利于提高芯片内部电子元件资源的利用率。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明的一个实施例的多路混合基FFT可重构蝶形运算器的示意框图;
图2是根据本发明的一个实施例的多路混合基FFT可重构蝶形运算器的电路图;
图3是根据本发明的一个实施例的基2可重构蝶形运算器的电路图;
图4是根据本发明的一个实施例的基3可重构蝶形运算器的电路图;
图5是根据本发明的一个实施例的现有的非2次幂补零计算FFT方法的运算结果仿真图;
图6是根据本发明的一个实施例的可重构蝶形运算器的运算结果仿真图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。
在下面的描述中,阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例:
以下将参照图1-6对本发明的实施方式进行说明。
如图1所示,本发明中的一种多路混合基FFT可重构蝶形运算器100,包括:控制单元101,第一选择开关单元102以及运算单元104;控制单元101用于根据接收到的待运算数据生成运算指令;
具体的,可重构蝶形运算器100接收到待运算数据后,控制单元101将待运算数据进行分解,将待运算数据分解为2m×3n,其中,m、n为待运算数据对应于基2和基3的计算点数的指数部,控制单元101生成先执行n次基3运算,再执行m次基2运算的运算指令。
控制单元101中包括一个三位寄存器,对三位寄存器的输入端operation进行配置,实现可重构蝶形运算器100的配置,当operation[0]=1时,混合基2/3FFT运算蝶形运算器100被动态配置为IFFT模式,当operation[0]=0时,混合基2/3FFT运算蝶形运算器100被动态配置为FFT模式,当operation[2:1]=2’b01时,混合基2/3FFT运算蝶形运算器100被动态配置为基2FFT模式,当operation[2:1]=2’b10时,混合基2/3FFT运算蝶形运算器100被动态配置为基3FFT模式。其中,operation为三位[2:0],第一位[0]控制FFT/IFFT运算模式的选择,第二、三位[3:2]控制可重构蝶形运算器在基2/3模式之间进行转换。
在本实施例中,第一选择开关单元102用于根据运算指令选择对应的导通模式;
具体的,如图2所示,第一选择开关单元102由7个二选一的选择器组成,包括选择器14、选择器16、选择器17、选择器18、选择器19、选择器20和选择器21,以选择器14为例,当运算指令对选择器14输入的指令的为“01”时,对应的为基2蝶形运算器,选择器14的导通模式为将第二基2蝶形运算器的输入端A2的输入传送至复数加法器8。当运算指令对选择器14输入的指令的为“10”时,对应的为基3蝶形运算器,选择器14的导通模式为将复数加法器7(第一基2蝶形运算器的第三复数加法器)的运算结果发送至复数加法器8。
在本实施例中,运算单元104用于根据导通模式和移位旋转因子,对待运算数据进行蝶形运算。
进一步的,运算单元104包括:两个基2蝶形运算器、第一复数加法器和第二复数加法器;基2蝶形运算器用于根据待运算数据和第一选择开关单元102对应的导通模式,进行基2蝶形运算;
其中,基2蝶形运算器包括:第一复数乘法器,第三复数加法器和复数减法器;基2蝶形运算器的第一输入端分别连接于第三复数加法器的第一输入端以及通过第一选择开关单元102连接于复数减法器的第一输入端,第三复数加法器的输出端通过第一选择开关102连接于基2蝶形运算器的第一输出端,复数减法器的输出端通过第一选择开关102连接于基2蝶形运算器的第二输出端;基2蝶形运算器的第二输入端和旋转因子分别连接于第一复数乘法器的输入端,第一复数乘法器的输出端分别连接于第三复数加法器的第二输入端和复数减法器的第二输入端。
具体的,如图3所示,基2蝶形运算器(第一基2蝶形运算器)的输入端A1(基2蝶形运算器的第一输入端)分别连接于复数加法器7(第三复数加法器)和选择器17,由选择器17将对应的待运算数据传递至复数减法器10,其中,复数加法器10为执行复数减法计算的复数加法器,复数加法器7的输出端通过选择器18连接于基2蝶形运算器的第一输出端X1,复数减法器10的输出端通过选择器19连接于基2蝶形运算器的第二输出端X2;基2蝶形运算器的第二输入端B和旋转因子输入端W1连接于复数乘法器1(第一复数乘法器),复数乘法器1将计算得出的乘积分别发送至复数加法器7和复数减法器10。设定输入端A1对应的待运算的数字信号为A'=(ar1+ai1*j),输入端B对应的待运算的数字信号为B'=(br+bi*j),旋转因子为W1’则对应的输出结果为:
X1=A1’+B’*W1’
=[ar1+(br*wr1-bi*wi1)]+j*[ai1+(bi*wr1+br*wi1)]
X2=A1-B*W1’
=[ar1-(br*wr1-bi*wi1)]+j*[ai1-(bi*wr1+br*wi1)]
式中,W1'=wr1+j*wi1,W2'=wr2+j*wi2。
其中,复数加法器9为执行复数减法操作的复数加法器。第二基2蝶形运算器的输入端A2的连接方式与输入端A1的连接方式相似,第二基2蝶形运算器的第二输入端C的连接方式与第二输入端B的连接方式相似,此处不再赘述。
优选的,复数减法器为执行复数减法操作的第四复数加法器,可以分为第一复数减法器和第二复数减法器。
在本实施例中,可重构蝶形运算器100,还包括:移位计算单元103,移位计算单元103用于在进行基3蝶形运算时,根据运算指令,对待运算数据进行移位,并将移位后的待运算数据发送至运算单元104,其中,待运算数据包括待处理的数字信号、旋转因子以及预设旋转因子系数;运算单元104还用于:根据导通模式,组成一个基3蝶形运算器,对移位后的待运算数据进行基3蝶形运算。
进一步的,移位计算单元103包括:第四复数乘法器和第一移位寄存器;第四复数乘法器用于计算数字信号、旋转因子以及预设旋转因子系数之间的乘积;第一移位寄存器连接于第四复数乘法器,第一移位寄存器用于对乘积进行移位操作,并将移位后的乘积发送至运算单元104,其中,预设旋转因子系数为旋转因子系数与2的乘积,移位操作为向右移动一位。
更进一步地,移位计算单元103还包括:选择开关;选择开关用于根据导通模式,控制第四复数乘法器输出的导通与关断。
具体的,如图2所示,第四复数乘法器包括复数乘法器3、复数乘法器4、复数乘法器5和复数乘法器6,相对应的,第一移位寄存器为移位寄存器22、移位寄存器23、移位寄存器24和移位寄存器25,为了减小可重构蝶形运算器100的计算量,以复数乘法器3和移位寄存器22为例,在进行基3运算的过程中,将待运算数据中的旋转因子系数与2相乘,记作预设旋转因子系数,例如,当旋转因子系数为W3 1时,预设旋转因子系数为2*W3 1,输入到复数乘法器3,与输入端B输入的数字信号与旋转因子W1的乘积做乘法,再将复数乘法器3的输出结果传送至移位寄存器22,由移位寄存器22进行移位操作,即将复数乘法器3的输出结果的阶码向右移动一位,得到数字信号、旋转因子和旋转因子系数的乘积。
移位寄存器22和25将移位后的数字信号、旋转因子和旋转因子系数的乘积分别发送至选择器16和选择器17,由选择器16和选择器17根据导通模式选择输入复数加法器9和复数加法器10的数据。
复数乘法器4和复数乘法器5的第二输入端为预设旋转因子系数,复数乘法器4和复数乘法器5将数字信号、旋转因子和预设旋转因子系数的乘积分别通过选择开关13和选择开关15发送至对应移位寄存器23和移位寄存器24,选择开关13和选择开关15根据导通模式选择是否将对应的乘积发送至移位寄存器23和移位寄存器24,当选择开关13和选择开关15将乘积发送至移位寄存器23和移位寄存器24时,移位寄存器对乘积结果数据的阶码进行右移一位操作,并将移位后的乘积分别发送至复数加法器10和复数加法器9。
更进一步的,两个基2蝶形运算器还用于根据第一选择开关单元102对应的导通模式,与移位计算单元103、第一复数加法器和第二复数加法器组成一个基3蝶形运算器,基3蝶形运算器用于对待运算数据进行基3蝶形运算。
其中,基3蝶形运算器包括:第二复数乘法器、第三复数乘法器、复数加法器组、第一复数加法器和第二复数加法器,其中,第二复数乘法器为一个基2蝶形运算器的第一复数乘法器,第三复数乘法器为另一个基2蝶形运算器的第一复数乘法器,复数加法器组包括两个基2蝶形运算器的第三复数加法器和复数减法器。
具体地,如图4所示,第二复数乘法器为复数乘法器1,第三复数乘法器为复数乘法器2,第一复数加法器为复数加法器11,第四复数乘法器为复数乘法器12,复数加法器组包括复数加法器7、复数加法器8、复数加法器9以及复数加法器10。
基3蝶形运算器的第一输入端通过复数加法器组和第一选择开关单元102连接于所示基3蝶形运算器的第一输出端,基3蝶形运算器的第一输入端还连接于第一复数加法器的第一输入端,第一复数加法器的输出端通过第一选择开关单元102连接于基3蝶形运算器的第二输出端,基3蝶形运算器的第一输入端还连接于第二复数加法器的第一输入端,第二复数加法器的输出端通过第一选择开关单元102连接于基3蝶形运算器的第三输出端;
具体地,如图4所示,输入端A1(基3蝶形运算器的第一输入端)连接于复数加法器7的第一输入端、复数加法器11(第一复数加法器)的第一输入端以及复数加法器12(第二复数加法器)的第一输入端,复数加法器7的输出端通过选择器14连接于复数加法器8的第一输入端,复数加法器8的输出端通过选择器18连接于输出端X1(基3蝶形运算器的第一输出端)。复数加法器11的输出端通过选择器19连接于输出端X2(基3蝶形运算器的第二输出端),复数加法器12的输出端通过选择器20连接于输出端X3(基3蝶形运算器的第三输出端)。
基3蝶形运算器的第二输入端连接于第二复数乘法器的输入端,第二复数乘法器的第一输出端通过复数加法器组和第一选择开关单元102连接于基3蝶形运算器的第一输出端,第二复数乘法器的第二输出端通过移位计算单元103、第一选择开关单元102和复数加法器组连接于第一复数加法器的第二输入端,第二复数乘法器的第三输出端通过移位计算单元103、第一选择开关单元102和复数加法器组连接于第二复数加法器的第二输入端;
具体地,如图4所示,输入端B(基3蝶形运算器的第二输入端)连接于复数乘法器1,复数乘法器1的第一输出端连接于复数加法器7的第二输入端。复数乘法器1的第二输出端通过复数乘法器3和移位寄存器22连接于选择器16的输入端,选择器16的输出端连接于复数加法器9的第一输入端,复数加法器9的输出端连接于复数加法器11的第二输入端。复数乘法器1的第三输出端通过复数乘法器4和移位寄存器23连接于复数加法器10的第一输入端,复数加法器10的输出端连接于复数加法器12的第二输入端。
基3蝶形运算器的第三输入端连接于第三复数乘法器的输入端,第三复数乘法器的第一输出端通过复数加法器组和第一选择开关单元102连接于基3蝶形运算器的第一输出端,第三复数乘法器的第二输出端通过移位计算单元103和复数加法器组连接于第一复数加法器的第二输入端,第二复数乘法器的第三输出端通过移位计算单元103、第一选择开关单元102和复数加法器组连接于第二复数加法器的第二输入端;
具体地,如图4所示,输入端C(基3蝶形运算器的第三输入端)连接于复数乘法器2,复数乘法器2的第一输出端连接于复数加法器8的第二输入端,复数乘法器2的第二输出端通过复数乘法器5和移位寄存器24连接于复数加法器9的第二输入端,复数乘法器2的第三输出端通过复数乘法器6和移位寄存器25连接于选择器17,选择器17的输出端连接于复数加法器10的第二输入端。
设定此时输入端A1对应的待运算数据为A”1=(ar1+ai1*j),输入端B对应的待运算数据为B”=(br+bi*j),输入端C对应的待运算数据为C”=(cr+ci*j),则对应的输出结果为:
本实施例的可重构蝶形运算器100,还包括:第二选择开关单元105、第三选择开关单元106和第二移位寄存器107;第二选择开关单元105设置于控制单元101的输出端,第二选择开关单元105用于根据运算指令选择运算模式,其中,运算模式包括FFT运算模式和IFFT运算模式;第三选择开关单元106设置于旋转因子的输入端,第三选择开关单元106连接于第一复数乘法器的所述输入端,第三选择开关单元106用于根据运算模式选择旋转因子类型,旋转因子类型包括第一旋转因子类型和第二旋转因子类型,第一旋转因子类型对应于FFT运算模式,第二旋转因子类型对应于IFFT运算模式;第二移位寄存器107用于当运算模式为IFFT模式时,将待运算数据进行移位操作。
进一步的,第三选择开关单元106还包括:反相器;反相器设置于第一复数乘法器和第三选择开关106之间,反相器用于在进行IFFT操作时,对待运算数据虚部的最高位执行取反操作。
具体的,如图2所示,第二移位寄存器107包括移位寄存器28、移位寄存器29、移位寄存器30以及移位寄存器31,第二选择开关单元105包括选择器34、选择器35、选择器36和选择器37,对应的一个输入端分别连接于输入端A1、输入端B、输入端C和输入端A2,另一个输入端分别连接于移位寄存器28、移位寄存器29、移位寄存器30和移位寄存器31。通过运算指令控制第二选择开关单元105的导通,对输入端的数据进行处理,需要进行FFT运算时,控制单元101通过运算指令直接将待运算数据输入,需要进行IFFT运算时,控制单元101通过运算指令将待运算数据传输至第二移位寄存器107,将待运算数据的阶码向右移动一位,进行移位操作。
第三选择开关单元106包括选择器26和选择器27,第三选择开关单元106的一个输入端设置于旋转因子的输入端,第三选择开关单元106的另一个输入端通过反相器连接于旋转因子的输入端,对应的,反相器包括反相器32和反相器33,当进行FFT运算时,通过控制指令,控制选择器26和选择器27的导通,直接将旋转因子W1和W2直接输入复数乘法器1和复数乘法器2,当进行IFFT运算时,通过控制指令,利用反相器将旋转因子中的虚部的最高位进行取反,再传输至复数乘法器1和复数乘法器2。
本发明以Verilog语言对本实施例中的可重构蝶形运算器进行了寄存器传输级(Register Transfer Level,RTL)的描述,并以Virtex-7系列xc7v2000tflg1925-1开发板,在Vivado2016.3平台上进行了综合、布局、布线、实现,得到的资源占用表,如表1所示。
表1
将本发明中的技术方案与现有的基3蝶形运算器进行对比(如《一种高性能单精度浮点基-3蝶形运算元的设计与实现》中的基3蝶形运算器),现有基3蝶形运算器对应的资源占用表,如表2所示。
表2
资源名称 | 资源占用量(个) | 资源占用比例(%) |
Slices | 12484 | 49 |
SlicesFlipFlop | 7166 | 14 |
LUTs | 20154 | 40 |
其中,表1中的LUTs为17213。
通过表1和表2可知,本发明中的可重构蝶形运算器资源占用量和资源占用比例明显减小,有利于提高计算芯片的整体性能。在100MHz时钟下,现有的基3蝶形运算器的整体运算流水级分为31级,运算结果传输延时为310ns,而本发明中的可重构蝶形运算器的整体运算流水级为25级,运算结果的传输延时为250ns。因此,本发明中的可重构蝶形运算器有利于减小运算过程中的延时。
通过仿真软件对运算点数为972的运算数据进行运算,现有的非2次幂补零计算FFT方法对应的仿真结果如图5所示,本发明对应的仿真结果如图6所示,其中,本发明的相对误差均值为-148.7721dB,最大相对误差为-140.6137dB。通过对比可知,本发明中的可重构蝶形运算器的运算结果的相对误差要优于现有的非2次幂补零计算FFT方法,有利于提高蝶形运算器的计算精度。
本发明中的步骤可根据实际需求进行顺序调整、合并和删减。
本发明装置中的单元可根据实际需求进行合并、划分和删减。
尽管参考附图详地公开了本发明,但应理解的是,这些描述仅仅是示例性的,并非用来限制本发明的应用。本发明的保护范围由附加权利要求限定,并可包括在不脱离本发明保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。
Claims (7)
1.一种多路混合基FFT可重构蝶形运算器,其特征在于,该蝶形运算器包括:控制单元(101),第一选择开关单元(102)、运算单元(104)以及移位计算单元(103);
所述控制单元(101)用于根据接收到的待运算数据生成运算指令,其中,所述待运算数据包括待处理的数字信号、旋转因子以及预设旋转因子系数;
所述第一选择开关单元(102)用于根据所述运算指令选择对应的导通模式;
所述运算单元(104)用于根据所述导通模式,对所述待运算数据进行蝶形运算,
所述运算单元(104)包括:两个基2蝶形运算器、第一复数加法器和第二复数加法器;所述基2蝶形运算器包括:第一复数乘法器,第三复数加法器和复数减法器;
所述基2蝶形运算器用于根据所述待运算数据和所述第一选择开关单元(102)对应的所述导通模式,进行基2蝶形运算;
两个所述基2蝶形运算器还用于根据所述第一选择开关单元(102)对应的所述导通模式,与所述第一复数加法器和所述第二复数加法器组成一个基3蝶形运算器,所述基3蝶形运算器用于对所述待运算数据进行基3蝶形运算, 所述基3蝶形运算器包括:第二复数乘法器、第三复数乘法器、复数加法器组、所述第一复数加法器和所述第二复数加法器;
所述基3蝶形运算器的第一输入端通过所述复数加法器组和所述第一选择开关单元(102)连接于所示基3蝶形运算器的第一输出端,所述基3蝶形运算器的所述第一输入端还连接于所述第一复数加法器的第一输入端,所述第一复数加法器的输出端通过所述第一选择开关单元(102)连接于所述基3蝶形运算器的第二输出端,所述基3蝶形运算器的所述第一输入端还连接于所述第二复数加法器的第一输入端,所述第二复数加法器的输出端通过所述第一选择开关单元(102)连接于所述基3蝶形运算器的第三输出端;
所述基3蝶形运算器的第二输入端连接于所述第二复数乘法器的输入端,所述第二复数乘法器的第一输出端通过所述复数加法器组和所述第一选择开关单元(102)连接于所述基3蝶形运算器的所述第一输出端,所述第二复数乘法器的第二输出端通过所述移位计算单元(103)、所述第一选择开关单元(102)和所述复数加法器组连接于所述第一复数加法器的第二输入端,所述第二复数乘法器的第三输出端通过所述移位计算单元(103)、所述第一选择开关单元(102)和所述复数加法器组连接于所述第二复数加法器的第二输入端;
所述基3蝶形运算器的第三输入端连接于所述第三复数乘法器的输入端,所述第三复数乘法器的第一输出端通过所述复数加法器组和所述第一选择开关单元(102)连接于所述基3蝶形运算器的所述第一输出端,所述第三复数乘法器的第二输出端通过所述移位计算单元(103)和所述复数加法器组连接于所述第一复数加法器的所述第二输入端,所述第二复数乘法器的第三输出端通过所述移位计算单元(103)、所述第一选择开关单元(102)和所述复数加法器组连接于所述第二复数加法器的所述第二输入端,
其中,所述第二复数乘法器为一个所述基2蝶形运算器的所述第一复数乘法器,所述第三复数乘法器为另一个所述基2蝶形运算器的所述第一复数乘法器,复数加法器组包括两个所述基2蝶形运算器的所述第三复数加法器和所述复数减法器。
2.如权利要求1所述的多路混合基FFT可重构蝶形运算器,其特征在于,
所述基2蝶形运算器的第一输入端分别连接于所述第三复数加法器的第一输入端以及通过所述第一选择开关单元(102)连接于所述复数减法器的第一输入端,所述第三复数加法器的输出端通过所述第一选择开关(102)连接于所述基2蝶形运算器的第一输出端,所述复数减法器的输出端通过所述第一选择开关单元(102)连接于所述基2蝶形运算器的第二输出端;
所述基2蝶形运算器的第二输入端和所述旋转因子分别连接于所述第一复数乘法器的输入端,所述第一复数乘法器的输出端分别连接于所述第三复数加法器的第二输入端和所述复数减法器的第二输入端。
3.如权利要求2所述的多路混合基FFT可重构蝶形运算器,其特征在于,
所述移位计算单元(103)用于在进行基3蝶形运算时,根据所述运算指令,对所述待运算数据进行移位,并将移位后的所述待运算数据发送至所述运算单元(104),其中,所述待运算数据包括待处理的数字信号、旋转因子以及预设旋转因子系数;
所述运算单元(104)还用于:根据所述导通模式,组成一个所述基3蝶形运算器,对移位后的所述待运算数据进行基3蝶形运算。
4.如权利要求3所述的多路混合基FFT可重构蝶形运算器,其特征在于,所述移位计算单元(103)包括:第四复数乘法器和第一移位寄存器;
所述第四复数乘法器用于计算所述数字信号、所述旋转因子以及所述预设旋转因子系数之间的乘积;
所述第一移位寄存器连接于所述第四复数乘法器,所述第一移位寄存器用于对所述乘积进行移位操作,并将移位后的所述乘积发送至所述运算单元(104),
其中,所述预设旋转因子系数为旋转因子系数与2的乘积,所述移位操作为数据阶码向右移动一位。
5.如权利要求4所述的多路混合基FFT可重构蝶形运算器,其特征在于,所述移位计算单元(103)还包括:选择开关;
所述选择开关用于根据所述导通模式,控制所述第四复数乘法器输出的导通与关断。
6.如权利要求2所述的多路混合基FFT可重构蝶形运算器,其特征在于,还包括:第二选择开关单元(105)、第三选择开关单元(106)和第二移位寄存器(107);
所述第二选择开关单元(105)设置于所述控制单元(101)的输出端,所述第二选择开关单元(105)用于根据所述运算指令选择运算模式,其中,所述运算模式包括FFT运算模式和IFFT运算模式;
所述第三选择开关单元(106)设置于所述旋转因子的输入端,所述第三选择开关单元(106)连接于所述第一复数乘法器的所述输入端,所述第三选择开关单元(106)用于根据所述运算模式选择旋转因子类型,所述旋转因子类型包括第一旋转因子类型和第二旋转因子类型,所述第一旋转因子类型对应于所述FFT运算模式,所述第二旋转因子类型对应于所述IFFT运算模式;
所述第二移位寄存器(107)用于当所述运算模式为所述IFFT运算 模式时,将所述待运算数据进行移位操作。
7.如权利要求6所述的多路混合基FFT可重构蝶形运算器,其特征在于,所述第三选择开关单元(106)还包括:反相器;
所述反相器设置于所述第一复数乘法器和所述第三选择开关(106)之间,所述反相器用于在进行IFFT操作时,对所述待运算数据虚部的最高位执行取反操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810886891.3A CN109117188B (zh) | 2018-08-06 | 2018-08-06 | 一种多路混合基fft可重构蝶形运算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810886891.3A CN109117188B (zh) | 2018-08-06 | 2018-08-06 | 一种多路混合基fft可重构蝶形运算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117188A CN109117188A (zh) | 2019-01-01 |
CN109117188B true CN109117188B (zh) | 2022-11-01 |
Family
ID=64851927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810886891.3A Active CN109117188B (zh) | 2018-08-06 | 2018-08-06 | 一种多路混合基fft可重构蝶形运算器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109117188B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027013B (zh) * | 2019-12-10 | 2023-05-26 | 重庆邮电大学 | 一种支持dab和cdr的多模式可配置fft处理器及方法 |
CN111445017A (zh) * | 2020-03-23 | 2020-07-24 | 天津芯海创科技有限公司 | 一种运算方法及装置 |
CN111538945B (zh) * | 2020-04-24 | 2023-03-14 | 合肥工业大学 | 一种基于可重构碟算单元的运算结果快速校验*** |
CN111782581B (zh) * | 2020-07-30 | 2024-01-12 | 中国电子科技集团公司第十四研究所 | 一种可重构信号处理运算单元及基于其的重组单元 |
CN112231626A (zh) * | 2020-10-19 | 2021-01-15 | 南京宁麒智能计算芯片研究院有限公司 | 一种fft处理器 |
CN113010147B (zh) * | 2021-02-24 | 2023-01-06 | 歌尔微电子股份有限公司 | Fft运算装置及麦克风 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015420A1 (en) * | 2003-07-18 | 2005-01-20 | Gibb Sean G. | Recoded radix-2 pipeline FFT processor |
TW200828044A (en) * | 2006-12-21 | 2008-07-01 | Univ Nat Chiao Tung | Pipeline structure reconfigurable mixed-radix Fast Fourier Transform |
CN102012800B (zh) * | 2010-12-01 | 2012-08-08 | 华东师范大学 | 一种混合基2/4蝶型运算核 |
CN201993753U (zh) * | 2011-01-19 | 2011-09-28 | 东南大学 | 一种应用于fft/ifft的基4蝶形单元电路 |
CN102073621B (zh) * | 2011-01-19 | 2012-08-22 | 东南大学 | 一种应用于fft/ifft的基4蝶形单元电路及其处理方法 |
WO2013159361A1 (zh) * | 2012-04-28 | 2013-10-31 | 华为技术有限公司 | 数据处理方法和相关装置 |
CN104657334B (zh) * | 2014-12-29 | 2018-12-28 | 南京大学 | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 |
CN107133194B (zh) * | 2017-04-11 | 2019-11-26 | 西安电子科技大学 | 基于混合基底的可配置fft/ifft协处理器 |
CN107391439B (zh) * | 2017-07-11 | 2020-08-14 | 创耀(苏州)通信科技股份有限公司 | 一种可配置快速傅里叶变换的处理方法 |
-
2018
- 2018-08-06 CN CN201810886891.3A patent/CN109117188B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109117188A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117188B (zh) | 一种多路混合基fft可重构蝶形运算器 | |
Nguyen et al. | A high-performance, resource-efficient, reconfigurable parallel-pipelined FFT processor for FPGA platforms | |
Ganjikunta et al. | An area-efficient and low-power 64-point pipeline Fast Fourier Transform for OFDM applications | |
Wang et al. | Design of pipelined FFT processor based on FPGA | |
Elango et al. | VLSI implementation of an area and energy efficient FFT/IFFT core for MIMO-OFDM applications | |
Kim et al. | High speed eight-parallel mixed-radix FFT processor for OFDM systems | |
Qureshi et al. | Multiplierless unified architecture for mixed radix-2/3/4 FFTs | |
Prakash et al. | Performance evaluation of FFT processor using conventional and Vedic algorithm | |
Chang et al. | An OFDM-specified lossless FFT architecture | |
CN107908389A (zh) | 小点数fft旋转因子复数乘法加速器 | |
Fu et al. | An area efficient FFT/IFFT processor for MIMO-OFDM WLAN 802.11 n | |
Lee et al. | A low-area dynamic reconfigurable MDC FFT processor design | |
Wang et al. | Hybrid wordlength optimization methods of pipelined FFT processors | |
Jang et al. | Area-efficient scheduling scheme based FFT processor for various OFDM systems | |
Kavitha et al. | An efficient FPGA architecture for reconfigurable FFT processor incorporating an integration of an improved CORDIC and Radix-2 r Algorithm | |
Qureshi et al. | Multiplierless reconfigurable processing element for mixed radix-2/3/4/5 FFTs | |
Jaber et al. | A higher radix FFT FPGA implementation suitable for OFDM systems | |
KR100576520B1 (ko) | 반복 연산 기법을 이용한 가변 고속 푸리에 변환프로세서 | |
KR100617248B1 (ko) | 고속 푸리에 변환 장치 및 방법 | |
Macleod | Multiplierless Winograd and prime factor FFT implementation | |
KR101652899B1 (ko) | 8-병렬 엠디씨 구조를 적용한 고속 푸리에 변환 장치 | |
US6985919B2 (en) | Time-recursive lattice structure for IFFT in DMT application | |
US20080052336A1 (en) | Method and Apparatus for Providing FFT-Based Signal Processing with Reduced Latency | |
Teymourzadeh | High-Resolution Single-Chip Radix II FFT Processor for High-Tech Application | |
Samir et al. | The effect of the digit slicing architecture on the FFT butterfly |
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 |