发明名称 一种可变点数流水线FFT处理器
摘要 本发明一种可变点数流水线FFT处理器,包括第一1024点可变FFT处理模块、旋转因子处理模块、第二1024点可变FFT处理模块、选择与控制模块。上述四个模块与处理器外部的中间数据存储模块共同完成大点数FFT的二维处理。两个1024点可变FFT处理模块均包括第一、第二32点可变FFT处理子模块、旋转因子处理子块、中间数据存储子模块、选择与控制子模块。通过32点可变FFT处理子模块实现可变点FFT运算;旋转因子处理模块产生中间旋转因子,并与FFT运算结果相乘;选择与控制模块实现对整个芯片的控制。本发明适于在单片FPGA或ASIC中实现,同时可获得高速、低功耗、高精度等特性。
申请公布号 CN101504638A 申请公布日期 2009.08.12
申请号 CN200910080477.4 申请日期 2009.03.19
申请人 北京理工大学 发明人 陈禾;刘伟;曾大治;刘峰;龙腾
分类号 G06F17/14(2006.01)I 主分类号 G06F17/14(2006.01)I
代理机构 北京理工大学专利中心 代理人 张利萍
主权项 1、一种可变点数流水线FFT处理器,其特征在于,包括第一1024点可变FFT处理模块、旋转因子处理模块、第二1024点可变FFT处理模块、选择与控制模块;(1)第一、第二1024点可变FFT处理模块用于实现大点数FFT的二维小点数处理,可实时地进行1024可变点的FFT处理;两个模块的结构组成相同,每一个1024点可变FFT处理模块均包括:第一32点可变FFT处理子模块、第二32点可变FFT处理子模块、旋转因子处理子模块、中间数据存储子模块、选择与控制子模块;其中,32点可变FFT处理子模块中每级基-2运算单元加入输出选择电路,通过控制可实现可变点FFT计算,且32点FFT处理采用块浮点定标方式,获得较高处理精度;旋转因子处理子模块用于完成二维FFT处理的中间旋转因子的产生,并将中间旋转因子同第一32点可变FFT处理子模块的处理结果相乘;中间数据存储子模块用于存储第一32点可变FFT处理子模块的处理结果,并将其作为第二32点可变FFT处理子模块的输入;选择与控制子模块用于产生第一和第二32点可变FFT处理子模块、旋转因子处理子模块、中间数据存储子模块的选择与控制信号;连接关系为:第一32点可变FFT处理子模块、旋转因子处理子模块、中间数据存储子模块、第二32点可变FFT处理子模块依次相连,选择与控制子模块与上述各个模块分别相连;(2)旋转因子处理模块完成二维FFT处理的中间旋转因子的产生,并将中间旋转因子同第一1024点可变FFT处理子模块的处理结果相乘,以便进行二维运算;(3)选择与控制模块用于产生各种控制信号,对各个模块进行控制与协调,保证整个芯片能够正常工作;上述组成模块间的连接关系如下:第一1024点可变FFT处理模块中的第二32点可变FFT处理子模块和旋转因子处理模块相连,旋转因子处理模块另一端与FFT处理器外部的中间数据存储模块相连,处理器外部的中间数据存储模块的另一端与第二1024点可变FFT处理模块中的第一32点可变FFT处理子模块相连,选择与控制模块分别与第一1024点可变FFT处理模块中的选择与控制子模块、旋转因子处理模块、FFT处理器外部的中间数据存储模块、第二1024点可变FFT处理模块中的选择与控制子模块相连;上述模块之间的信号转换关系为:N点输入序列进入处理器的第一1024点可变FFT处理模块进行小点数FFT运算;其中,在第一1024点可变FFT处理模块内部,先在第一32点可变FFT处理子模块内进行2n点FFT运算,n≤5,处理结果送入旋转因子处理子模块中与旋转因子相乘,以便进行二维运算处理;相乘后的结果送到中间数据存储子模块进行存储;当所有的点数据全部处理完毕之后,送入第二32点可变FFT处理子模块中再次进行2n点FFT运算;若N小于等于1024时,处理过程到此结束,第一1024点可变FFT处理模块的处理结果直接输出;若N大于1024时,则将第一1024点可变FFT处理模块的处理结果送入旋转因子处理模块中,与此处的旋转因子相乘;相乘结果送到处理器外部的中间数据存储模块中进行存储;当N点数据的相乘结果全部到达后,将全部数据送入第二1024点可变FFT处理模块,数据在第二1024点可变FFT处理模块中进行2n点FFT运算,运算方法与第一32点可变FFT处理子模块内的方法相同;运算结束之后,将第二1024点可变FFT处理模块结果输出。
地址 100081北京市海淀区中关村南大街5号