[发明专利]一种FFT并行处理装置和方法有效
申请号: | 201310740883.5 | 申请日: | 2013-12-27 |
公开(公告)号: | CN103699515B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 苏永涛;姚彦斌;朱子元;唐杉;石晶林 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/14 | 分类号: | G06F17/14 |
代理公司: | 北京泛华伟业知识产权代理有限公司11280 | 代理人: | 王勇,李科 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fft 并行 处理 装置 方法 | ||
1.一种FFT并行处理装置,其支持一种或多种基数的蝶形运算,所述装置包括:
FFT控制器(101),用于根据并行度将FFT运算分解为一级或多级蝶形运算;其中,所述并行度是所述装置支持的一种或多种基数的倍数;
蝶形运算器(103),用于顺序执行每一级蝶形运算;其中,在每一级蝶形运算中执行一次或多次蝶形运算,并且每一次蝶形运算的基数是所述装置支持的基数。
2.根据权利要求1所述的装置,其中,所述FFT控制器(101)用于根据下式将N点FFT运算分解为m级点数为n或n'的蝶形运算:
N=N1×N2×…×Nm
其中,N1,N2,...Nm-1=n,Nm=n',m为正整数,n为并行度,n'小于等于n且为所述装置支持的一种或多种基数的倍数。
3.根据权利要求1或2所述的装置,其中,所述FFT控制器(101)还用于确定每一级蝶形运算中执行蝶形运算的次数以及每一次蝶形运算的基数;其中,每一级蝶形运算的点数等于该级蝶形运算中每一次蝶形运算的基数的乘积。
4.根据权利要求1或2所述的装置,其中,所述装置还包括:
向量数据存储器(102),用于在执行每一级蝶形运算前对参与该级蝶形运算的数据进行处理,使其符合该级蝶形运算的输入顺序,并且将处理后的数据按顺序发送到所述蝶形运算器(103)。
5.根据权利要求4所述的装置,其中,所述向量数据存储器(102)还包括:
数量为并行度n的存储单元,其中,每个存储单元的每一行依次存储序号相差为n的输入数据;
其中,在执行每一级蝶形运算前,所述向量数据存储器(102)每次重排n个数据直到所有输入数据均被重排,使得重排后参与每一级蝶形运算的一组数据存放在每个存储单元的同一行;
所述向量数据存储器(102)按行取出每个存储单元的同一行数据,将每个存储单元的同一行数据存储到其另一块空间。
6.根据权利要求5所述的装置,其中,所述向量数据存储器(102)将每个存储单元的同一行数据存储到其另一块空间之前,还对所述每个存储单元的同一行数据进行数据移位。
7.根据权利要求4所述的装置,其中,所述向量数据存储器(102)还用于在所述蝶形运算器(103)执行最后一级蝶形运算后对所述蝶形运算器(103)输出的数据进行倒换,并且存储倒换后的数据。
8.根据权利要求1或2所述的装置,其中,所述蝶形运算器(103)包括:
数据重排单元(1031),用于在执行每一次蝶形运算之前,对参与该次蝶形运算的数据进行重排,并且在执行最后一次蝶形运算之后,对运算后的数据进行重排;以及
蝶形运算单元(1032),用于执行一次蝶形运算。
9.根据权利要求8所述的装置,其中,所述FFT控制器(101)还用于根据对FFT运算所作的分解,确定每一次蝶形运算的重排规则。
10.根据权利要求1或2所述的装置,还包括:
旋转因子存储器(104),用于在执行每一级蝶形运算前,将相应的旋转因子发送到所述蝶形运算器(103)。
11.根据权利要求1或2所述的装置,还包括:
外部数据接口(105),用于所述向量数据存储器(102)和外部进行数据交互。
12.一种用于数字信号处理的FFT并行处理方法,其支持一种或多种基数的蝶形运算,所述方法包括:
步骤1)、根据并行度将对于所述数字信号的FFT运算分解为一级或多级蝶形运算;其中,所述并行度是所述方法支持的一种或多种基数的倍数;
步骤2)、顺序执行每一级蝶形运算;其中,在每一级蝶形运算中执行一次或多次蝶形运算,并且每一次蝶形运算的基数是所述方法支持的基数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310740883.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:分体式射频同轴转接器
- 下一篇:反面拉伸模具的下模板