一种可变点数的浮点fft处理器的制造方法

文档序号:6626622阅读:375来源:国知局
一种可变点数的浮点fft处理器的制造方法
【专利摘要】本发明涉及一种可变点数的浮点FFT处理器,包括数据选择存储模块,用于存储输入数据,根据时域基2算法输出蝶形运算单元所需要的数据;当FFT点数选择为1024点时,外部输入的数据在数据选择存储模块的RAM中按顺序放置,当选择其它点数时,数据间隔放置;蝶型运算单元,用于完成FFT算法中的蝶型运算,个数为4个。旋转因子存储器,用于存储蝶型运算单元所需要的旋转因子,其地址由数据选择存储模块所控制。本发明拥有4个蝶形运算单元,可以使原来的运算时间减少四分之三,运算速度是ALTERA公司IP核的4倍;同时可以选择32,64,128,256,512,1024点五种不同的点数,点数可配置,使用更加灵活。
【专利说明】-种可变点数的淳点FFT处理器

【技术领域】
[0001] 本发明涉及数字信号处理和集成电路设计【技术领域】,尤其是一种可变点数的浮点 FFT处理器。

【背景技术】
[0002] 在气象雷达信号处理中,快速傅里叶变换是常用的算法,由于其算法较为复杂,一 般在DSP处理器中实现,但是在DSP处理器中实现则需要在电路板上设置额外的DSP处理 器而且受到DSP处理器运行速度的限制,无法实现并行运算。
[0003] 为了提高系统硬件的集成度,节约成本,提高运算速度,在FPGA控制器中实现 FFT处理是一个更好的方案,然而在FPGA控制器中实现则要消耗相当多的资源,如果使用 IP(知识产权)核,还需要购买相应的license。
[0004] 气象雷达信号处理的FFT运算点数一般为32点?1024点,同时为了保证FFT运 算的精度,一般需要进行浮点处理,目前ALTERA公司的浮点FFT处理器的IP核可以实现点 数的更改但是消耗的资源较多,而且只有一个蝶形运算单元,运算速度较慢。


【发明内容】

[0005] 本发明的目的在于提供一种具有4个浮点运算的蝶形运算单元,运算速度快,点 数可配置的可变点数的浮点FFT处理器。
[0006] 为实现上述目的,本发明采用了以下技术方案:一种可变点数的浮点FFT处理器, 包括: 数据选择存储模块,用于存储输入数据,根据时域基2算法输出蝶形运算单元所需要 的数据,并存储蝶形运算单元的输出数据用于下一级运算;当FFT点数选择为1024点时,夕卜 部输入的数据在数据选择存储模块的RAM中按顺序放置,当选择其它点数时,数据间隔放 置; 蝶型运算单元,用于完成FFT算法中的蝶型运算,个数为4个; 旋转因子存储器,用于存储蝶型运算单元所需要的旋转因子,其地址由数据选择存储 模块所控制。
[0007] 所述数据选择存储模块由用于存储实部数据的实部数据选择存储模块和用于存 储虚部数据的虚部数据选择存储模块组成,实部和虚部数据先由外部输入至数据选择存储 模块,运算开始后数据选择存储模块将数据输出至对应的蝶形运算单元,同时旋转因子存 储模块内的数据也输出至蝶形运算单元,二者在蝶形运算单元内完成运算,其结果再输出 至数据选择存储模块,并在相应的位置存储,如果最后一级运算完成,则由数据选择存储模 块将结果输出,即实部结果由实部数据选择存储模块输出,虚部结果由虚部数据选择存储 模块输出;否则,再进行下一级运算。
[0008] 所述实部数据选择存储模块、虚部数据选择存储模块的暂存空间均由八片双口 RAM构成,每片双口 RAM的大小为256 X32bit,其读写和使能信号由地址状态机控制,地址 状态机根据当前运行级数对外部输入数据和上一级蝶型运算输出数据进行分配,使其存储 到合适地址,而输出的数据通过数据输出选通模块通往相应的蝶型运算单元。
[0009] 所述蝶型运算单元由四个浮点乘法器和六个浮点加/减法器构成,完成输入数据 和旋转因子的运算,分为实部和虚部输出; 蝶形运算单元用于实现一个标准的基2蝶形运算,如下式所示:

【权利要求】
1. 一种可变点数的浮点FFT处理器,其特征在于:包括: 数据选择存储模块,用于存储输入数据,根据时域基2算法输出蝶形运算单元所需要 的数据,并存储蝶形运算单元的输出数据用于下一级运算;当FFT点数选择为1024点时,夕卜 部输入的数据在数据选择存储模块的RAM中按顺序放置,当选择其它点数时,数据间隔放 置; 蝶型运算单元,用于完成FFT算法中的蝶型运算,个数为4个; 旋转因子存储器,用于存储蝶型运算单元所需要的旋转因子,其地址由数据选择存储 模块所控制。
2. 根据权利要求1所述的可变点数的浮点FFT处理器,其特征在于:所述数据选择存 储模块由用于存储实部数据的实部数据选择存储模块和用于存储虚部数据的虚部数据选 择存储模块组成,实部和虚部数据先由外部输入至数据选择存储模块,运算开始后数据选 择存储模块将数据输出至对应的蝶形运算单元,同时旋转因子存储模块内的数据也输出 至蝶形运算单元,二者在蝶形运算单元内完成运算,其结果再输出至数据选择存储模块, 并在相应的位置存储,如果最后一级运算完成,则由数据选择存储模块将结果输出,即实 部结果由实部数据选择存储模块输出,虚部结果由虚部数据选择存储模块输出;否则,再进 行下一级运算。
3.根据权利要求1所述的可变点数的浮点FFT处理器,其特征在于:所述实部数据选 择存储模块、虚部数据选择存储模块的暂存空间均由八片双口RAM构成,每片双口RAM的大 小为256X32bit,其读写和使能信号由地址状态机控制,地址状态机根据当前运行级数对 外部输入数据和上一级蝶型运算输出数据进行分配,使其存储到合适地址,而输出的数据 通过数据输出选通模块通往相应的蝶型运算单元。
4. 根据权利要求1所述的可变点数的浮点FFT处理器,其特征在于:所述蝶型运算单 元由四个浮点乘法器和六个浮点加/减法器构成,完成输入数据和旋转因子的运算,分为 实部和虚部输出; 蝶形运算单元用于实现一个标准的基2蝶形运算,如下式所示:
其中,乂/2〇^)表示3端口输入的复数,父'/2〇^')表示13端口输入的数据,1 表示旋转因子,为复数,将上式按实部和虚部展开则得到蝶形运算单元的结构,结果数据 XN(k)包含两部分,分别由两个端口输出;N表示N点的FFT变换,X表示FFT变换中的数 字序列,X(k)表示这个序列中第k个数据。
5. 根据权利要求1所述的可变点数的浮点FFT处理器,其特征在于:所述FFT点数可 以选择32、64、128、256、512、1024点中的任意一种。
6. 根据权利要求1所述的可变点数的浮点FFT处理器,其特征在于:所述的按顺序放 置的地址为递增的,设数据为乂〇〇沙=0,1,2- 1024,那么数据放置的地址为1^;数据间隔 放置的地址间隔为最大点数和当前点数之比,设数据为X(k),k=0,l,2…N,N彡 1024,其在 RAM中的地址为m*k,其中,m=1024/N。
【文档编号】G06F9/302GK104268122SQ201410460573
【公开日】2015年1月7日 申请日期:2014年9月12日 优先权日:2014年9月12日
【发明者】徐鹏来 申请人:安徽四创电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1