CN109359267B - 一种基于动态截位的低复杂度无乘法器定点fft优化方法 - Google Patents
一种基于动态截位的低复杂度无乘法器定点fft优化方法 Download PDFInfo
- Publication number
- CN109359267B CN109359267B CN201811216197.7A CN201811216197A CN109359267B CN 109359267 B CN109359267 B CN 109359267B CN 201811216197 A CN201811216197 A CN 201811216197A CN 109359267 B CN109359267 B CN 109359267B
- Authority
- CN
- China
- Prior art keywords
- data
- bits
- fft
- bit
- shift
- 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
- 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
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明属于软件无线电及其数字信号处理应用领域,具体涉及一种基于动态截位的低复杂度无乘法器定点FFT优化方法。包括以下步骤:获取FFT输入数据位数N与输入数据;将每个旋转因子小数左移N位,数据分为实部和虚部,其中N为输入数据的比特数;对实部与虚部分别进行向上与向下取整,使其分别近似为整数;将所有整数进行2次幂分解,选择加法次数最少的整数;利用移位和加法进行电路设计,利用数据自身移位与加法取代原旋转因子的乘法运算。本发明在使用“移位”和“加减”替代传统复数乘法器的同时,进一步减少加法器的数量。同时加入动态截位模块,抑制数据比特位数的增长,降低硬件资源消耗,提高计算速度,提升电路性能。
Description
技术领域
本发明属于软件无线电及其数字信号处理应用领域,具体涉及一种基于动态截位的低复杂度无乘法器定点FFT优化方法。
背景技术
随着软件无线电系统、通信系统、视频信号分析、语音信号分析、图像信号处理、雷达信号处理等领域的飞速发展,快速傅里叶变换算法设计的开始受到各方关注。随着算法的不断开发改进,快速傅里叶变换在宽带接收机和图像与视频处理方面的处理备受青睐。快速傅里叶变换不仅是决定处理器性能的重要因素,而且在军工方面具有卓越的应用地位,在卫星信号处理,音频图像滤波,雷达信号处理占据重要的位置。因此,如何在稳定地实现快速傅里叶变换算法的硬件设计同时,对硬件资源占用的多少和处理速度的快慢提出了更高的要求。
在无乘法器FFT设计方面,申请号为2017111649758的专利《小点数FFT旋转因子复数乘法加速器》采用了高效的旋转因子复数乘法加速器的方法,与本发明结构设计不同;文献《低复杂度混合基FFT研究与设计》主要对正交频分复用技术中的FFT数字处理实现优化设计进行了研究,采用的是混合基结构,与本发明结构设计不同;文献《面向LTE的超低复杂度FFT处理单元设计》主要利用了折叠技术对FFT进行算法单元复用,并且利用正则符号数进行乘法器结构优化,与本发明内容不同;文献《符合IEEE802.15.3c标准的高速低复杂度FFT处理器设计》主要是512点FFT运算旋转因子进行改进,降低复数乘法的个数降低,并未涉及无乘法器的设计,与本发明专利有别。
综上所述,现有技术并没有利用移位加法模块和动态截位模块进行快速傅里叶变换。
发明内容
本发明的目的提供了一种基于无乘法器与动态截位的低复杂度FFT构造方法。
一种基于动态截位的低复杂度无乘法器定点FFT优化方法,包括以下步骤:
(1)获取FFT输入数据位数N与输入数据;
(2)将每个旋转因子小数左移N位,数据分为实部和虚部,其中N为输入数据的比特数;
(3)对实部与虚部分别进行向上与向下取整,使其分别近似为整数;
(4)将所有整数进行2次幂分解,选择加法次数最少的整数;
(5)利用移位和加法进行电路设计,利用数据自身移位与加法取代原旋转因子的乘法运算;
(6)在每一级蝶形运算后增加动态截位方法,对于N位数据数据每经过一次蝶形运算后,判断器去判断其计算结果是否大于2N/2,大于则会截取蝶形结果的前N位,小于则截取数据后N位;
(7)数据经过每一级蝶形运算后进行输出,得出结果。
所述将所有整数进行2次幂分解,选择加法次数最少的整数,包括:
2次幂分解的具体形式为:
N=a20+a21+a22...a2m。
本发明的有益效果在于:
本发明设计了一种高效的无乘法器与动态截位结合的FFT电路,在使用“移位”和“加减”替代传统复数乘法器的同时,进一步减少加法器的数量。同时加入动态截位模块,抑制数据比特位数的增长,降低硬件资源消耗,提高计算速度,提升电路性能。
附图说明
图1是本发明优化设计流程图;
图2是本发明中取整整数与原旋转因子坐标位置图;
图3是本发明中利用移位器和加法器取代乘法器的FFT蝶形运算结构图;
图4是本发明的动态截位原理图;
图5是本发明中基于无乘法器与动态截位的低复杂度FFT结构流程图;
图6是本发明整体设计运算仿真图;
图7是本发明中移位加法模块硬件设计图;
图8是本发明中动态截位模块硬件设计图;
图9是本发明与VIVADO IP核资源复杂度对比图;
具体实施方式
下面结合附图对本发明做进一步描述。
本发明属于软件无线电及其数字信号处理应用领域,具体涉及到一种无乘法器及低资源消耗的FFT优化设计方法。
随着软件无线电系统、通信系统、视频信号分析、语音信号分析、图像信号处理、雷达信号处理等领域的飞速发展,快速傅里叶变换(fast Fourier transform,FFT)算法设计的开始受到各方关注。随着算法的不断开发改进,快速傅里叶变换在宽带接收机和图像与视频处理方面的处理备受青睐。快速傅里叶变换不仅是决定处理器性能的重要因素,而且在军工方面具有卓越的应用地位,在卫星信号处理,音频图像滤波,雷达信号处理占据重要的位置。因此,如何在稳定地实现快速傅里叶变换算法的硬件设计同时,对硬件资源占用的多少和处理速度的快慢提出了更高的要求。
在无乘法器FFT设计方面,专利《小点数FFT旋转因子复数乘法加速器》(申请号:2017111649758)采用了高效的旋转因子复数乘法加速器的方法,与本发明结构设计不同;文献《低复杂度混合基FFT研究与设计》(北京理工大学博士论文,2014年)主要对正交频分复用技术中的FFT数字处理实现优化设计进行了研究,采用的是混合基结构,与本发明结构设计不同;文献《面向LTE的超低复杂度FFT处理单元设计》(实验科学与技术,2016年)主要利用了折叠技术对FFT进行算法单元复用,并且利用正则符号数进行乘法器结构优化,与本发明内容不同;文献《符合IEEE802.15.3c标准的高速低复杂度FFT处理器设计》(华东师范大学,2013年)主要是512点FFT运算旋转因子进行改进,降低复数乘法的个数降低,并未涉及无乘法器的设计,与本发明专利有别。
本发明的目的提供了一种基于无乘法器与动态截位的低复杂度FFT构造方法。本发明具体实现过程如下:
步骤1:将每个旋转因子小数左移N位,N为输入数据的比特数;
步骤2:将移位后的每个二进制进行向上和向下取整,使其分别近似为整数;
步骤3:将所有整数进行2次幂分解,选择加法次数最少的整数;
步骤4:用移位相加的方式分别对选择的整数进行电路设计;
步骤5:在每一级蝶形运算后增加一个判断器,对于N位数据数据每经过一次蝶形运算后,判断器去判断其计算结果是否大于N/2,大于则会截取蝶形结果的前N位,小于则截取数据后N位;
步骤6:对于多个加法器采用并行的电路设计,进行并行运算。
本发明设计了一种高效的无乘法器与动态截位结合的FFT电路,在使用“移位”和“加减”替代传统复数乘法器的同时,进一步减少加法器的数量。同时加入动态截位模块,抑制数据比特位数的增长,降低硬件资源消耗,提高计算速度,提升电路性能。
图1本发明优化设计流程图
图2本发明中取整整数与原旋转因子坐标位置图
图3本发明中利用移位器和加法器取代乘法器的FFT蝶形运算结构图
图4本发明的动态截位原理图
图5本发明中基于无乘法器与动态截位的低复杂度FFT结构流程图
图6本发明整体设计运算仿真图
图7本发明中移位加法模块硬件设计图
图8本发明中动态截位模块硬件设计图
下面结合说明书附图,详细描述本发明的具体实施方案。
如图1所示,本发明是一种基于动态截位的低复杂度无乘法器定点FFT优化设计方法,其特征在于:利用加法器与移位器,将快速傅里叶算法(FFT)中输入数据与复指数调制因子(其数学表达式为)的相乘运算转化为数据自身的移位与加法运算;在数据经过移位与加法运算后,会经过动态截位模块进行判断与特定截位处理;最后经过延时模块得到最终的转换信号。
经过移位后,表达式变为:
100.31616+j235.52768 (3)
本发明对实部与虚部分别进行向上与向下取整,可以得到100,101与235,236,取整整数与原旋转因子在坐标上的位置如图2所示。将以上整数进行二次幂展开,可分别得到:
100=26+25+22
101=26+25+22+20
235=27+26+25+23+21+20
236=27+26+25+23+22
可得100与236所用的加法次数更少,作为取整选择。则数据与100相乘可转化成数据分别右移2位,3位和6位的加和;同理,数据与236相乘可转化成数据分别右移1位,2位,3位,5位和6位的加和。可见这种方法可以在精度相差较小的情况下使用更少的加法器。利用移位器和加法器取代乘法器的蝶形结构如图3所示。
已知数据在经过FFT中每一级蝶形运算后,数据会增加1个比特位,经过多级蝶形运算后,为避免数据占用过多资源,常规方法会直接截取最后一位,但这会导致弱信号的失真及丢失。本发明在每一级蝶形运算后增加动态截位模块,模块原理图如图4所示。模块中的判断器对计算后的数据进行大小判断,数值大于2N/2则截取数值的前N位,N为输入数据的位数,小于2N/2则截取数值的后N位。动态截位方法可以在保持数据位数不变的情况下,对弱信号具有更好的信息保留作用。
本发明得到的基于无乘法器与动态截位的低复杂度FFT结构流程图,如图5所示。
本发明中的一种基于无乘法器与动态截位的FFT设计构造方法,主要包括以下几个步骤:
步骤1:移位加法模块,将FFT中的复指数旋转因子小数左移N位,N为输入数据位数。移位后数值进行向上和向下取整,得到图2所示4组坐标。将每组坐标数值进行二次幂分解,选用加法次数最少的一组替代原有的复指数旋转因子,再利用移位器和加法器进行硬件设计。
步骤2:动态截位模块,数据经过每级蝶形运算后会增加一位,之后由动态截位模块进行判断与截位,若判断得出计算结果大于2N/2,则截取数据的前N位,小于2N/2则截取数据的后N位,以恢复N位输出。
对于整个设计的仿真结果如图6所示,本示例中FFT点数为128点。仿真输入信号为5×cos(2π×15t)+2.5×cos(2π×40t)+2.5×cos(2π×50t),为具有15Hz,40Hz及50Hz频率的余弦信号。仿真结果表明,整体设计能检测出在15Hz,40Hz和50Hz处具有峰值,从而验证出整体设计的准确性。
此设计以低资源调用低延时为主要设计方向,经过对算法的改进以及对电路结构的优化,来达到低资源调用低延时的目标。设计的硬件验证在Matlab软件的SystemGenerator平台进行设计及实现。其中移位加法模块如图7所示,主要利用shift移位模块与addsub模块完成移位与加法功能。动态截位模块在平台中的搭建如图8所示,主要利用M-code模块完成判断与截位功能。其中M-code模块可以利用编写好的执行判断功能的简易Matlab代码转换为硬件设计语言以完成设计功能。因M-code模块输入输出的比特数相同,并不具有截位功能,所以Matlab代码主要设计步骤为:对输入数据进行大小判断,如果大于限定值2N/2,则保持原数据输出,等价于原设计中数据增加一位后取低N位;如果数据小于限定值,则输出数据扩大为原数据的2倍,等价于原设计中数据增加一位后取高N位。功能模块在System Generator搭建完成后,即可对接到VIVADO软件进行资源评估。本设计在VIVADO软件中综合后的资源使用情况为:整个设计所使用的芯片型号为xc7vx690tffg1157-1,优化设计中针对128点FFT进行了优化设计,其中VIVADO中显示查找表使用了743个单位,寄存器使用了3974个单位,最大电路延时为2.06ns。本设计与VIVADO中自带的FFT IP核对比如图9所示。可知本发明比VIVADO自带FFT IP核节省更多资源,路径延时更少。
本发明中的一种基于动态截位的低复杂度无乘法器定点FFT优化设计方法,整体设计流程如下:
步骤1:获取FFT输入数据位数N与输入数据;
步骤2:将每个旋转因子小数左移N位,N为输入数据的比特数;
步骤3:将移位后的每个二进制进行向上和向下取整,使其分别近似为整数;
步骤4:将所有整数进行2次幂分解,选择加法次数最少的整数;
步骤5:利用移位和加法进行电路设计,利用数据自身移位与加法取代原旋转因子的乘法运算;
步骤6:在每一级蝶形运算后增加动态截位方法,对于N位数据数据每经过一次蝶形运算后,判断器去判断其计算结果是否大于2N/2,大于则会截取蝶形结果的前N位,小于则截取数据后N位;
步骤7:数据经过每一级蝶形运算后进行输出,得出结果。
该优化设计方法借助Matlab,在System Generator平台上进行电路设计,利用平台中的shift模块和addsub模块完成算法设计的移位和加法部分,利用M-code模块与Matlab代码结合完成判断与截位功能。
将每个旋转因子(其数学表达式为)小数左移M位,M为输入数据的比特位数。左移后数据分为实部和虚部,对实部与虚部分别进行向上与向下取整,将取整后数据进行二次幂展开,具体形式为N=a20+a21+a22…a2m。展开后加法次数更少的作为取整选择,最后根据取整选择用移位与加法设计电路,在精度误差较小的同时消耗最少的加法器。
使用判断器对计算后的数据进行大小判断,数值大于2N/2则截取数值的前N位,N为输入数据的位数,小于2N/2则截取数值的后N位。动态截位方法可以在数据经过所有蝶形运算后保持位数不变。
本发明提供了一种基于动态截位的低复杂度无乘法器定点FFT优化设计方法,其具体实施步骤如下:无乘法器与动态截位的低复杂度FFT构造方法,采用的具体技术方案及其结构流程主要包括以下几个方面:首先利用移位加法模块,将FFT中的复指数旋转因子小数左移N位,N为输入数据位数。移位后数值进行向上和向下取整,得到相邻位置的4组坐标。将每组坐标数值进行二次幂分解,选用加法次数最少的一组替代原有的复指数旋转因子,再利用移位器和加法器进行硬件设计;然后利用动态截位模块,对经过FFT中每一级计算后的数据进行判断与截位,若判断得出计算结果大于2N/2,则截取数据的前N位,小于2N/2则截取数据的后N位。本发明将传统的FFT结构进行无乘法器和动态截位优化处理,不仅减少了运算量和硬件资源损耗,还可以提高FFT硬件实现的处理速度。该优化设计方法具有计算量小、延时低的特点。
Claims (2)
1.一种基于动态截位的低复杂度无乘法器定点FFT优化方法,其特征在于,包括以下步骤:
(1)获取FFT输入数据位数N与输入数据;
(2)将每个旋转因子小数左移N位,数据分为实部和虚部,其中N为输入数据的比特数;
(3)对实部与虚部分别进行向上与向下取整,使其分别近似为整数;
(4)将所有整数进行2次幂分解,选择加法次数最少的整数;
(5)利用移位和加法进行电路设计,利用数据自身移位与加法取代原旋转因子的乘法运算;
(6)在每一级蝶形运算后增加动态截位方法,对于N位数据数据每经过一次蝶形运算后,判断器去判断其计算结果是否大于2N/2,大于则会截取蝶形结果的前N位,小于则截取数据后N位;
(7)数据经过每一级蝶形运算后进行输出,得出结果。
2.根据权利要求1所述的一种基于动态截位的低复杂度无乘法器定点FFT优化方法,其特征在于,所述将所有整数进行2次幂分解,选择加法次数最少的整数,包括:
2次幂分解的具体形式为:
N=a20+a21+a22...a2m。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811216197.7A CN109359267B (zh) | 2018-10-18 | 2018-10-18 | 一种基于动态截位的低复杂度无乘法器定点fft优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811216197.7A CN109359267B (zh) | 2018-10-18 | 2018-10-18 | 一种基于动态截位的低复杂度无乘法器定点fft优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109359267A CN109359267A (zh) | 2019-02-19 |
CN109359267B true CN109359267B (zh) | 2022-11-01 |
Family
ID=65345826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811216197.7A Active CN109359267B (zh) | 2018-10-18 | 2018-10-18 | 一种基于动态截位的低复杂度无乘法器定点fft优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359267B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134911A (zh) * | 2019-05-24 | 2019-08-16 | 河北民族师范学院 | 一种用于256点fft处理器的新型串接csd常数乘法器算法结构 |
CN110856000B (zh) * | 2019-10-22 | 2020-10-27 | 深圳市华星光电技术有限公司 | 图像解压缩方法及装置 |
CN110957996B (zh) * | 2019-12-13 | 2023-08-01 | 哈尔滨工程大学 | 一种基于abc算法的无乘法器frm滤波器组优化设计方法 |
CN111210806B (zh) * | 2020-01-10 | 2022-06-17 | 东南大学 | 一种基于串行fft的低功耗mfcc语音特征提取电路 |
CN112800387B (zh) * | 2021-03-30 | 2021-08-03 | 芯翼信息科技(上海)有限公司 | 基-6蝶形运算单元、方法、电子设备及存储介质 |
CN114265701B (zh) * | 2022-03-01 | 2022-06-28 | 深圳思谋信息科技有限公司 | 资源处理方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2318449A1 (en) * | 1998-01-21 | 1999-07-29 | Telefonaktiebolaget Lm Ericsson | Pipelined fast fourier transform processor |
CN104679720A (zh) * | 2015-03-17 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种实现fft的运算方法 |
CN107300632A (zh) * | 2017-06-28 | 2017-10-27 | 青岛汉泰智能科技有限公司 | 一种荧光示波器的数字信号处理系统 |
CN107908389A (zh) * | 2017-11-21 | 2018-04-13 | 天津大学 | 小点数fft旋转因子复数乘法加速器 |
-
2018
- 2018-10-18 CN CN201811216197.7A patent/CN109359267B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2318449A1 (en) * | 1998-01-21 | 1999-07-29 | Telefonaktiebolaget Lm Ericsson | Pipelined fast fourier transform processor |
CN104679720A (zh) * | 2015-03-17 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种实现fft的运算方法 |
CN107300632A (zh) * | 2017-06-28 | 2017-10-27 | 青岛汉泰智能科技有限公司 | 一种荧光示波器的数字信号处理系统 |
CN107908389A (zh) * | 2017-11-21 | 2018-04-13 | 天津大学 | 小点数fft旋转因子复数乘法加速器 |
Non-Patent Citations (2)
Title |
---|
一种高性能快速傅里叶变换的硬件设计;沈耀坡等;《西安电子科技大学学报》;20171204(第03期);全文 * |
高速定点快速傅立叶变换处理器的设计与实现;谭磊等;《浙江大学学报(工学版)》;20050330(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109359267A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359267B (zh) | 一种基于动态截位的低复杂度无乘法器定点fft优化方法 | |
CN112100568B (zh) | 定点傅里叶变换fft处理器及处理方法 | |
Saeed et al. | Efficient FPGA implementation of FFT/IFFT processor | |
CN110765709B (zh) | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 | |
CN107544942A (zh) | 一种快速傅里叶变换的vlsi设计方法 | |
Kim et al. | High speed eight-parallel mixed-radix FFT processor for OFDM systems | |
Jafri et al. | FPGA implementation of UFMC based baseband transmitter: Case study for LTE 10MHz channelization | |
Lai et al. | Low-computation-cycle, power-efficient, and reconfigurable design of recursive DFT for portable digital radio mondiale receiver | |
CN107908389A (zh) | 小点数fft旋转因子复数乘法加速器 | |
CN114186183A (zh) | 一种轻量化的fft运算方法及其实现装置 | |
Cho et al. | Pipelined FFT for wireless communications supporting 128–2048/1536-point transforms | |
Dali et al. | An efficient MIMO-OFDM radix-2 single-path delay feedback FFT implementation on FPGA | |
Jang et al. | Memory size reduction technique of SDF IFFT architecture for OFDM-based applications | |
Jang et al. | Low-power FFT design for NC-OFDM in cognitive radio systems | |
KR20120109214A (ko) | Ofdm 시스템에서의 고속 푸리에 변환 프로세서 및 그 고속 푸리에 변환방법 | |
Chandu et al. | Optimized high speed radix-8 fft algorithm implementation on fpga | |
Leng et al. | A novel 3780-point FFT processor scheme for the time domain synchronous OFDM system | |
He et al. | An efficient implementation of PRACH generator in LTE UE transmitters | |
Ramesha et al. | A novel Architecture of FBMC Transmitter using Poly phase Filtering and its FPGA implementation | |
Han et al. | A new twiddle factor merging method for low complexity and high speed FFT architecture | |
Ramesha et al. | Design and Implementation of fully pipelined 64-point FFT Processor in a FPGA | |
CN112364589A (zh) | 用于fft处理器芯片设计的新型改良蝶形单元算法结构 | |
CN112149046A (zh) | 一种基于并行时分复用技术的fft处理器及处理方法 | |
CN111404858A (zh) | 应用于宽带卫星通信系统的高效的fft处理方法和装置 | |
Yuan et al. | A 256-point dataflow scheduling 2× 2 MIMO FFT/IFFT processor for IEEE 802.16 WMAN |
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 |