CN113378110A - 一种基于rns动态范围扩展fft系统 - Google Patents
一种基于rns动态范围扩展fft系统 Download PDFInfo
- Publication number
- CN113378110A CN113378110A CN202110652492.2A CN202110652492A CN113378110A CN 113378110 A CN113378110 A CN 113378110A CN 202110652492 A CN202110652492 A CN 202110652492A CN 113378110 A CN113378110 A CN 113378110A
- Authority
- CN
- China
- Prior art keywords
- rns
- remainder
- dynamic range
- fft
- conversion 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.)
- Pending
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/729—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开一种基于RNS动态范围扩展FFT系统,应用于数字电路设计优化领域,针对现有的FFT算法不可避免的复杂乘法器的问题;本发明的基于RNS的FFT系统,包括:前向转换单元、运算单元、后向转换单元;所述前向转换单元基于确定的余数基将二进制数转化为余数域;运算单元采用与余数基模数相等数量的蝶形运算通道,每个并行通道进行独立的模加模乘运算,后向转换单元将运算单元的输出结果转换至二进制数域,采用本发明的FFT系统不仅可以降低系统电路的电路面积而且可以减少资源的占用。
Description
技术领域
本发明属于数字电路和信号处理领域,特别涉及一种FFT系统电路优化设计技术。
背景技术
随着人工智能、大数据、超大规模集成电路(Very Large Scale IntegrationCircuit,VLSI)等技术领域的快速发展,基于计算机视觉的目标检测识别与跟踪技术的实现,也已逐渐进入到社会生活的各个领域,其重要性和经济性也日益凸显,在不管单目标还是多目标运动目标跟踪任务中,跟踪任务都是一项复杂且具有挑战性的工作,但是在相关滤波跟踪算法设计实现中,由于FFT计算模块的乘加运算以及不可避免的复数乘法运算,使得复杂乘法器LUTs数量的使用成为瓶颈问题,于是优化电路减少LUTs的数量是必不可少的。
快速傅里叶变换(FFT)是一种计算离散傅里叶变换(DFT)的算法,FFT的基本思想是由Cooley和Tukey在1965年提出的。在现代信号和数字图像处理中常用来获取信号的频域特性。然而传统的DFT算法计算量大,耗时长,不利于硬件平台实时对信号进行处理。快速傅里叶变换(FFT)就是一种DFT的高效算法,核心思想就是对离散傅里叶变换算法改进获得的。在相关滤波目标跟踪算法实现中,FFT算法是我们执行图像处理过程中提取关键信息,识别跟踪等环节非常重要运算单元,因此针对此算法进行结构级的优化至关重要。
发明内容
为解决上述技术问题,本发明提出一种基于RNS动态范围扩展FFT系统。
本发明采用的技术方案为:一种基于RNS动态范围扩展FFT系统,包括:前向转换单元、运算单元、后向转换单元;所述前向转换单元基于确定的余数基将二进制数转化为余数;运算单元采用蝶形级联运算对余数进行计算,后向转换单元将运算单元的输出结果转换至二进制数域。
还包括RNS2RNS转换器,用于扩大余数基的动态范围。
将RNS2RNS转换器分解为RNS2Bin转换器和Bin2RNS转换器。
所述前向转换单元基于余数基中模的个数将输入的二进制数拆分为多个独立通道数据,独立通道个数与余数基中模的个数相等。
在这多个并行通道内的多个余数基上并行执行乘法、加法和减法基本运算。
处理的数字图像的像素值均为正值。
所述蝶行级联运算中的每级通道数与余数基中模的个数相等。
本发明的有益效果:本发明将余数基动态范围逐步增大,在实现同样的模加/乘运算时,可以通过功能分解来减少逻辑资源使用的数量;相比于传统常用的二进制算法减少了FPGA中LUTs的数量,本发明实现将输入的二进制数值转换为余数数值表征,随后利用融入余数系统的FFT算法对数据进行处理,最后将余数数值转换回二进制数值,实现的FFT系统具有硬件资源消耗少、关键路径延迟低等优点。采用本发明的系统可以减少FFT算法实现的逻辑资源占用,不仅可以降低系统电路的功率损耗而且可以降低关键路径的延时。
附图说明
图1所示是16点基-4中一个4点序列DFT蝶形运算示意图;
图2所示是基于余数系统计算的FFT算法实现的示意图;
图3所示是基于余数系统模mi的FFT蝶行运算单元示意图;
图4所示是基于RNS的FFT插入RNS2RNS转换电路示意图;
图5所示是RNS2RNS转换器单元的示意图。
具体实施方式
与现有二进制计算机体系下的表征系统不同,余数系统(The residue numbersystem RNS)是一种无权重的数字数值表征系统,具有独立、并行的独特优势,这个性质也使得RNS系统具有高处理速度和低功耗的特点,并且高稳定性、低功耗的电路设计思路研究必然是未来的趋势,在RNS中,算术运算是以数字方式进行的。这意味着可以把大的乘数分解成小的乘数。这样一来可以减少FFT算法实现的LUTs数量。
本发明是运用硬件平台FPGA的数字图像处理的系统实现,为了使得发明的目的、技术路线和意义更加清楚地阐述,以下结合附图和实施方法,对本发明进行更进一步说明,以下描述的具体实施方式用于解释本发明,但并不限定于本发明。
如图1所示,N=16基-4时分FFT算法是把长度N=4i的序列一分为四,将N点DFT表示为4个N/4点的DFT的线性组合,然后继续一分为四,表示为四个N/16点的DFT,如此重复下去直至分解为两点DFT的运算。
输入序列X(n)可以分解成如下四个子序列:
子序列Xm(i)均为N/4点序列,设N/4点的DFT为Xm(r)
上式可以化简为
可以看出,基-4运算需要进行3次复数乘法和12次复数加法。
一般情况下,时域抽取法(DIT,Decimation-In-Time)和频域抽取法(DIF,Decimation-In-Time)运算量和复杂性一样,传统的基-2时分FFT和基-4时分FFT有着同样的复数加法单元,但基-4复数乘法为基-2算法的3/4倍,在功耗方面因为基-4乘法较少,电路面积更小,所以功耗相对更低。
如图2所示,本发明的一种基于RNS动态范围扩展FFT系统,主要包括:前向转换单元、运算单元及后向转换单元;
前向转换单元:二进制表征数域下的数据转换到余数系统表征下的Binary2RNS转换器(可简写为B2R转换器),B2R转换器可在BRAM(Block RAM,块RAM)中实现。
低资源占用FFT运算单元:将长序列二进制序列拆分为X个模mi的独立运算单元,其中FFT算法的旋转因子和中间计算结果存储在FPGA的ROM存储资源中或使用查表形式,此模块的每个信道运算单元都在并行、无权重的余数系统数域下单独完成,待处理数据由前向转换单元输入,最终的FFT计算结果输入到后向转换单元将余数数域结果转化到二进制数值中。
后向转换单元:将运算单元计算输出的数据结果,经过RNS2Binary转换器,将余数系统数域转换到二进制数域下。
余数系统前向转换单元,目前常用的都是特殊余数基形式3模集{m1,m2,m3}={2n-1,2n,2n+1},并没有考虑到余数系统的最优并行通道数选择,也没有讨论设计系统的性能是否达到最优。
低资源占用FFT运算单元,由于处理数据是32-bit的数字图像信息,在二进制表征下32-bit无符号数据的取值范围是0~232-1,要想实现这样动态范围的一个模加模乘法器,本发明选择余数基形式为{m1,m2,m3,m4,m5,m6}={8192,127,31,15,7,2},也可以表示为{213,27-1,25-1,24-1,23-1,21},余数基形式归纳为{2n-1,2n},已有的文献表明,使用选择更高性能算法单元的余数基,替代已有的特殊余数基形式,整个系统的性能会继续提升,因此研究针对不同余数基设计更加高效的运算电路具有广阔的前景。
余数基的确定决定了余数系统表征下的FFT算法运算单元的并行运算通道数目,其中每个独立运算通道的实现都按所选择余数基{m1,m2,……,mi}形式将二进制表征数值平均拆分为i个位宽相等的通道独立进行计算,位宽不够时可以通过高位补0的方式补位。
模加法器运算是余数系统运算中最基本的操作,其性能的高效是VISI实现的前提保证,因为余数基的确定在计算过程中是不能改变的,因此可针对模加法器形式设计进行优化,本发明提出一种逐步扩大动态范围的技术路线,相比于现有的余数计算过程实现,减少了由模运算带来的额外面积的增加。
与模加法器不一样,余数基的通用模乘法器的实现是比较困难的,模乘法器的实现有查表法(Look-up table,LUT)、组合逻辑电路以及这两种方法结合使用,尽管硬件平台内部有现成的多位乘法器资源,在考虑了蒙哥马利计算模乘法性能后,存在一些组合的乘法器和最终的校正方法是明显不适合在RNS独立通道中实现的问题,所以针对模2n可以直接截取低n位得到计算结果,模2n-1模乘法器则使用组合逻辑电路实现会非常高效。
本发明余数系统前向转换单元中的余数基形式为{m1,m2,m3,m4,m5,m6}={8192,127,31,15,7,2},将长序列二进制数X转化为余数<x1,x2,...,xn-1,xn>mi表示,计算结果输入至融入RNS的FFT算法运算单元,由于处理的图像像素信息均为正值,故不必考虑输入值为负数的情况,可以不用判断数值的符号,直接输入前向转换单元进行数域转换。
本实施例中余数基的确定是根据需要处理的二进制数据位宽的表示范围确定,例如:二进制表征下32-bit无符号数据的取值范围是0~232-1,故选择的余数基为{m1,m2,m3,m4,m5,m6}={8192,127,31,15,7,2},其中余数系统所能表示的动态范围M=8192*127*31*15*7*2=6772899840>232-1,以此表征余数基的选择是否合理。
低资源占用FFT算法运算单元,由于余数基一旦确定,其在计算过程中是固定不变的,所以运算单元包含了Y=6个模mi蝶行运算单元,就确定了融入RNS的基-4的FFT运算单元的运算通道数,其中FFT算法的旋转因子和中间计算结果存储在FPGA的ROM存储模块中或使用查表形式,运算单元都在并行、无权重的余数系统数域下完成,运算结果数据输入至余数系统的后向转换单元模块;
本领域技术人员应知,本发明中的前向转换单元(B2R)、融入RNS的FFT运算单元、后向转换单元(R2B),的算法实现全部是基于FPGA硬件电路实现。
其中,余数系统的运算单元具体运算过程为:
在本发明实施例中,由于余数基选择为{8192,127,31,15,7,2},故决定了FFT算法的运算过程中拆分为了独立并行、无进位链传播的6个计算通道,其中每个独立通道的基本运算操作分别为模8192的模加模乘运算、模127的模加模乘运算、模31的模加模乘运算、模15的模加模乘运算、模7的模加模乘运算、模2的模加模乘运算。
图3所示给出了融入RNS的模mi的FFT蝶形运算单元,由定理推导而得来,其中a,b分别表示复数输入,w表示复数相乘的旋转因子,r代表数值实部,i代表数值虚部。选择余数基为{m1,m2,m3,m4,m5,m6},运算单元的输入数据为RNS表示下的<x1,x2,x3,x4,x5,x6>mi,它们之间的运算进程是相互独立进行,其中FFT运算所需的旋转因子存放在存储器ROM中,模加法器(即图3中的add单元)完成模mi的模加运算,模复数乘法器(即图3中的mul单元)完成模mi的数据与旋转因子的模乘运算。对于N点的基于RNS的FFT算法所需的LUTs资源数量为O((mi)2logmilogN),因此可以通过减少mi来降低LUTs的使用数量,最终将蝶形运算结果作为该FFT算法运算单元的输出。
余数基mi的选择由处理数据位宽确定,只要余数基的连乘积大于二进制的表示范围即可,具体模基数量不做限制,一般情况下前者值略大于后者即可。
如图4所示,基于RNS的FFT插入动态范围转换器,将一个较小的动态范围转换成一个较大的动态范围,这样一来就使得计算过程使用的LUTs数量极大地减少了,与此同时,会引入一个RNS2RNS转换器。
一般情况下,直接运算图2所示的FFT运算电路单元,由于蝶形运算的动态范围过大,直接导致的后果就是LUTs使用的数量较大,如图5所示,给出了RNS2RNS转换器示意图,将余数基{m1,m2,…,mi}转换为{m1,m2,…,mi,mi+1},一般情况下,我们在RNS2RNS的转换电路中可以使用任意模集,但为了进一步减少逻辑资源的使用数量,我们使用G(m1,m2,…,mi)=(m1,m2,…,mi,mi+1)作为转换器,因此我们只需实现函数G1(m1,m2,…,mi)=mi+1.使得新的动态范围为将RNS2RNS转换过程分解为RNS2Bin转换器和Bin2RNS转换器,其中mi+1作为Bin2RNS转换的模。在实现同样的模加/乘运算时,算术运算是通过数字方式执行的,因此可以通过功能分解来减少LUTs的数量。
后向转换单元,将运算单元的余数系统表征下的计算结果作为输入,经过R2B转换器转换回二进制表征,便于后续处理单元处理运算,作为未来的展望,希望出现一种特殊的应用场景,使得余数系统的结算结果不再转化回二进制体系下,不仅可以避免复杂的后向转换电路设计,也可以使得系统的电路面积极大地减小,这样一来可以极大地促进和丰富余数系统的应用范围;
综上所述,在实际工程中,根据需要处理的数据位宽,选择合适的余数基,保证动态范围略大于二进制的表示范围,二进制数值X输入本余数计算FFT系统,数据先经过前向转换单元将二进制数值转换为余数表征,通过RNS2RNS转换器,将余数基逐步扩大动态范围,在独立通道不同于传统二进制下的加法和乘法运算,而是余数域下的模加和模乘运算得到FFT运算结果,将FFT的运算结果输送到后向转换单元,将计算结果转换回二进制数值,得到和传统二进制FFT变换相同的计算结果。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (6)
1.一种基于RNS动态范围扩展FFT系统,其特征在于,包括:前向转换单元、运算单元、后向转换单元;所述前向转换单元基于确定的余数基将二进制数转化为余数;运算单元采用蝶形级联运算对余数进行计算,后向转换单元将运算单元的输出结果转换至二进制数域。
2.根据权利要求1所述的一种基于RNS动态范围扩展FFT系统,其特征在于,还包括RNS2RNS转换器,用于扩大余数基的动态范围。
3.根据权利要求2所述的一种基于RNS动态范围扩展FFT系统,其特征在于,将RNS2RNS转换器分解为RNS2Bin转换器和Bin2RNS转换器。
4.根据权利要求3所述的一种基于RNS动态范围扩展FFT系统,其特征在于,所述前向转换单元基于余数基中模的个数将输入的二进制数拆分为多个独立通道数据,独立通道个数与余数基中模的个数相等。
5.根据权利要求4所述的一种基于RNS动态范围扩展FFT系统,其特征在于,在这多个并行通道内的多个余数基上并行执行乘法、加法和减法基本运算。
6.根据权利要求5所述的一种基于RNS动态范围扩展FFT系统,其特征在于,所述蝶行级联运算中的每级通道数与余数基中模的个数相等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110652492.2A CN113378110A (zh) | 2021-06-11 | 2021-06-11 | 一种基于rns动态范围扩展fft系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110652492.2A CN113378110A (zh) | 2021-06-11 | 2021-06-11 | 一种基于rns动态范围扩展fft系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113378110A true CN113378110A (zh) | 2021-09-10 |
Family
ID=77573887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110652492.2A Pending CN113378110A (zh) | 2021-06-11 | 2021-06-11 | 一种基于rns动态范围扩展fft系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113378110A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043760A (zh) * | 2010-12-27 | 2011-05-04 | 上海华为技术有限公司 | 数据处理方法及系统 |
CN102184160A (zh) * | 2011-05-18 | 2011-09-14 | 电子科技大学 | 基于余数系统的快速傅立叶变换系统 |
CN103841064A (zh) * | 2014-01-06 | 2014-06-04 | 中国航空无线电电子研究所 | 一种基于采样率数据的siso均衡方法及其均衡器 |
CN106356069A (zh) * | 2015-07-17 | 2017-01-25 | 北京信息科技大学 | 一种信号处理方法和装置 |
CN108616265A (zh) * | 2018-05-04 | 2018-10-02 | 重庆邮电大学 | 一种基于五模余数基的rns dwt滤波器组的电路结构 |
CN109787585A (zh) * | 2019-01-31 | 2019-05-21 | 电子科技大学 | 一种基于嵌套式余数系统的fir滤波系统 |
CN110765709A (zh) * | 2019-10-15 | 2020-02-07 | 天津大学 | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 |
CN112202703A (zh) * | 2020-08-11 | 2021-01-08 | 天津大学 | 基于冗余余数系统的区块链存储优化方法 |
CN112231626A (zh) * | 2020-10-19 | 2021-01-15 | 南京宁麒智能计算芯片研究院有限公司 | 一种fft处理器 |
-
2021
- 2021-06-11 CN CN202110652492.2A patent/CN113378110A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043760A (zh) * | 2010-12-27 | 2011-05-04 | 上海华为技术有限公司 | 数据处理方法及系统 |
CN102184160A (zh) * | 2011-05-18 | 2011-09-14 | 电子科技大学 | 基于余数系统的快速傅立叶变换系统 |
CN103841064A (zh) * | 2014-01-06 | 2014-06-04 | 中国航空无线电电子研究所 | 一种基于采样率数据的siso均衡方法及其均衡器 |
CN106356069A (zh) * | 2015-07-17 | 2017-01-25 | 北京信息科技大学 | 一种信号处理方法和装置 |
CN108616265A (zh) * | 2018-05-04 | 2018-10-02 | 重庆邮电大学 | 一种基于五模余数基的rns dwt滤波器组的电路结构 |
CN109787585A (zh) * | 2019-01-31 | 2019-05-21 | 电子科技大学 | 一种基于嵌套式余数系统的fir滤波系统 |
CN110765709A (zh) * | 2019-10-15 | 2020-02-07 | 天津大学 | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 |
CN112202703A (zh) * | 2020-08-11 | 2021-01-08 | 天津大学 | 基于冗余余数系统的区块链存储优化方法 |
CN112231626A (zh) * | 2020-10-19 | 2021-01-15 | 南京宁麒智能计算芯片研究院有限公司 | 一种fft处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jiang et al. | Low-power approximate unsigned multipliers with configurable error recovery | |
KR101603471B1 (ko) | 디지털 신호 프로세서들에서의 신호 처리를 위한 시스템 및 방법 | |
CN109359267B (zh) | 一种基于动态截位的低复杂度无乘法器定点fft优化方法 | |
CN110765709A (zh) | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 | |
JP4295777B2 (ja) | 高速フーリエ変換回路及び高速フーリエ変換方法 | |
CN112540743B (zh) | 面向可重构处理器的有无符号乘累加器及方法 | |
Ramachandran et al. | Performance analysis of mantissa multiplier and dadda tree multiplier and implementing with DSP architecture | |
US7912891B2 (en) | High speed low power fixed-point multiplier and method thereof | |
Liu et al. | A high-throughput subspace pursuit processor for ECG recovery in compressed sensing using square-root-free MGS QR decomposition | |
Menon et al. | Implementation of 24 Bit high speed floating point Vedic multiplier | |
CN110879697B (zh) | 一种近似计算tanh函数的装置 | |
Kumar et al. | Design of area and power efficient digital FIR filter using modified MAC unit | |
CN113010148A (zh) | 一种适用于混合精度神经网络的定点乘加运算单元及方法 | |
CN113378110A (zh) | 一种基于rns动态范围扩展fft系统 | |
Tang et al. | A high-accuracy hardware-efficient multiply–accumulate (mac) unit based on dual-mode truncation error compensation for cnns | |
Haritha et al. | Design of an enhanced array based approximate arithmetic computing model for multipliers and squarers | |
CN114237550B (zh) | 一种基于Wallace树的多输入移位求和累加器 | |
Daud et al. | Hybrid modified booth encoded algorithm-carry save adder fast multiplier | |
US5999962A (en) | Divider which iteratively multiplies divisor and dividend by multipliers generated from the divisors to compute the intermediate divisors and quotients | |
Bi et al. | Pipelined hardware structure for sequency-ordered complex Hadamard transform | |
CN113377333A (zh) | 基于抛物线综合法求复数的n次开根号的硬件计算系统和方法 | |
Bowlyn et al. | An Improved Distributed Multiplier-Less Approach for Radix-2 FFT | |
KR101318992B1 (ko) | 모듈로 n 연산방법 및 그 장치 | |
Li et al. | Accelerating position-aware top-k ListNet for ranking under custom precision regimes | |
Ghissoni et al. | Radix-2 decimation in time (DIT) FFT implementation based on a matrix-multiple constant multiplication approach |
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 |