[发明专利]多粒度并行FFT计算装置有效
申请号: | 201110459907.0 | 申请日: | 2011-12-31 |
公开(公告)号: | CN102411557A | 公开(公告)日: | 2012-04-11 |
发明(设计)人: | 王东琳;谢少林;蒿杰;林啸;汪涛;尹磊祖 | 申请(专利权)人: | 中国科学院自动化研究所 |
主分类号: | G06F17/14 | 分类号: | G06F17/14 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 周国城 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 粒度 并行 fft 计算 装置 | ||
技术领域
本发明涉及集成电路设计领域中的快速傅立叶变换(FFT)数据的并行存储、并行读写及并行计算。
背景技术
信号处理系统经常需要将信号内容在时域和频域进行转换,快速傅立叶变换算法(FFT)可进行时域和频域间的信号转换。相对于其它转换算法来说,快速傅立叶变换算法具有结构统一、计算量少的优点,因此广泛应用于信号处理系统中。
FFT算法输入N个数据,输出N个数据;一般称时域至频域的变换为正向变换,而频域至时域的变换变逆向变换。FFT算法有多种实现方式,但都由库利-图基算法演变而来。对于N个数据点,基2的库利-图基算法包括log2N个计算级。每个计算级输入N个数,输出N个数;前一计算级的输出经过一定的排序后作为后一计算级的输入。第一级输入为原始数据,最后一级输出为FFT计算结果,如图1所示。图1中假定数据点长度为8,整个计算过程需要计算三个计算级103:S0、S1、S2。
每个计算级103由N/2个蝶形(102)组成,蝶形计算的计算结构如图2所示。每个蝶形计算输入两个数据点A和B,以及一个旋转因子W,得到两个计算结果:A+BW和A-BW。在每个蝶形计算中,输入数据A和B的序号具有确定的对应关系,该对应关系由蝶形所在的计算级以及输入数据A或B的序号来确定;同时,旋转因子W的值由当前蝶形所在的计算级103、输入数据A或B的序号以及FFT的数据长度确定。例如在图1中,S0计算级中的第1个数据必定与第0个数据构成一蝶形,并且第0个数据为蝶形输入的A,第1个数据为蝶形输入的B,而W的值为1。而S1计算级中的第1个数据必定与第3个数据构成一蝶形,并且第1个数据为蝶形输入的A,第3个数据为蝶形输入的B,而W的值为1。
蝶形计算的计算级之间存在数据相关,后一计算级必须等待前一计算级完成以后才能开始计算。因此,每级计算完成后都需要将结果存放在存储器中,下一级计算从存储器中读取上一级的计算结果作为本计算级计算的输入。计算级内的蝶形相互独立,蝶形的计算顺序不影响计算结果,但每个蝶形所读取的数据A、B和旋转因子W必须满足内在的对应关系。
在并行FFT计算中,运算部件从多粒度并行存储器中读取多个蝶形所需数据及对应的旋转因子,并行计算多个、多级蝶形,然后将计算结果并行写入存储器,以便进行一下级计算,如图3所示。
图3中,假定数据长度为64,并行粒度为4,即多粒度并行存储器300一次可读写4个数据。此时,两相邻计算级中存在数据相关的4个蝶形303构成一个蝶形组302,两相邻计算级中的蝶形组构成一计算节301。在蝶形组302中,每个蝶形的输入A、B、W仍必须满足其内在的对应关系,因此,并行FFT算法中必须考虑计算数据和旋转因子在存储器中的分布,以及每个蝶形组302的读写地址和读写方式,以保证蝶形计算装置每次都能并行读取所需数据和旋转因子。
大部分并行FFT算法相关的专利都着重讨论如何将长序列的FFT数据分解成多个短序列的FFT,利用多个处理器并行计算各个短序列的FFT,最后对多个短序列的FFT进行交织计算,得到最终的长序列FFT结果。
如美国专利US 6,792,441 B2(Parallel MultiProcessing For Fast Fourier Transform With Pipeline Architecture)。这一类算法都没考虑多个处理单元同时访问存储器时的冲突问题,以及多个处理器如何交织多个短序列FFT结果。而实际应用中,存储器访问冲突以及处理器之间的同步和通信效率将严重影响FFT的计算效率。
美国专利US 6,304,887 B1(FFT-Based Parallel System For Array Processing With Low Latency)讨论了FFT算法中数据并行读写的问题,该专利将FFT数据存放在多个存储器中,利用多个数据缓冲区、多个选择器对数据进行排序,以保证每次读写的数据分布在不同的存储器中,实现并行读写。但该专利需要专用的存储器、数据缓冲区和选择器,读写地址计算复杂,难以实现不同数据长度、不同读写粒度的并行FFT算法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题实现对不同数据算度、不同读写粒度的FFT计算的支持,并提高FFT计算装置的计算效率,。
(二)技术方案
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院自动化研究所,未经中国科学院自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110459907.0/2.html,转载请声明来源钻瓜专利网。