[发明专利]一种实现FFT运算的装置及方法有效
申请号: | 201310662842.9 | 申请日: | 2013-12-09 |
公开(公告)号: | CN103605636A | 公开(公告)日: | 2014-02-26 |
发明(设计)人: | 雷韶华;陈岚;倪茂 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F17/14 | 分类号: | G06F17/14 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 fft 运算 装置 方法 | ||
技术领域
本发明涉及信号处理技术领域,尤其涉及一种实现FFT运算的装置及方法。
背景技术
离散傅立叶变换(Discrete Fourier Transform,DFT)是数字信号处理与分析的重要手段,是将信号从时域变换到频域并对其分析处理的重要方法。快速傅立叶变换(Fast Fourier Transformation,FFT)是DFT的快速运算方式,也是图像处理、现代无线通信等领域的一项关键技术。
现代无线通信系统WLAN、B3G以及正在热点研究的4G技术中,正交频分多路复用技术OFDM/OFDMA成为必不可少的提高频带利用率的关键技术之一,而FFT为OFDM/OFDMA提供快速运算方式,因此,FFT的运算效率直接制约着通信系统性能。
请参阅图1,为现有技术中通过RAM来实现流水线FFT运算的装置的结构示意图,其实现过程为:分别通过RAM地址生成模块和旋转因子地址发生器来读取相应的参与蝶算的数据及旋转因子,然后将其送入蝶算单元进行运算,并将结果写入双端口RAM。由于双端口RAM不能同一时钟进行读或写两个数据,这导致蝶算单元不能同时读取两个待蝶算数据,并且不能同时写回两个运算结果,需要中间插一个等待时钟以保证流水线的顺利运转。因此,现有技术中通过RAM来实现流水线FFT运算的速度较慢。
发明内容
有鉴于此,本发明提供了一种实现FFT运算的装置及方法,用以解决现有技术中通过RAM实现流水线FFT运算的速度较慢的问题,其技术方案如下:
一方面,一种实现FFT运算的装置,包括:第一FIFO存储器、第二FIFO存储器、蝶算单元、数据选择单元、第一FIFO缓存、第二FIFO缓存、旋转因子存储器和地址发生器,其中:
所述第一FIFO存储器,用于存储待运算偶数点序列;
所述第二FIFO存储器,用于存储待运算奇数点序列;
所述旋转因子存储器,用于存储进行蝶形运算的旋转因子;
所述蝶算单元,用于在同一时钟周期从所述第一FIFO存储器读取待运算的偶数点数据,从所述第二FIFO存储器读取待运算的奇数点数据,通过所述地址发生器从所述旋转因子存储器读取与所述待运算两点数据对应的旋转因子,进行蝶形运算,得到第一蝶算结果和第二蝶算结果,其中,所述待运算的两点数据分别为原始偶数点数据和对应的原始奇数点数据,或者,为上一级蝶算结果中的偶数点数据和对应的奇数点数据;
所述第一FIFO缓存,用于存储第一蝶算结果;
所述第二FIFO缓存,用于存储第二蝶算结果;
所述第一数据选择单元,用于基于控制信号确定将所述第一FIFO缓存和第二FIFO缓存中的两个蝶算结果存储至所述第一FIFO存储器还是所述第二FIFO存储器。
上述装置还包括:
溢出处理单元,用于对所述蝶算单元的蝶算结果进行溢出检测,当所述蝶算结果出现溢出时,记录最大溢出位数,以使所述蝶算单元进行下一级蝶形运算时依据记录的最大溢出位数对读取的待运算数据进行移位处理。
上述装置还包括:
第二选择单元,用于依据所述蝶算单元是否进行蝶形运算,选择是将原始数据还是所述蝶算单元的蝶算结果写入第一FIFO存储器和第二FIFO存储器。
所述第二选择单元,具体用于当所述蝶算单元未进行蝶形运算,原始数据写入单元要把原始数据写入到所述第一FIFO存储器和所述第二FIFO存储器时,将所述原始数据写入单元与所述第一FIFO存储器101和所述第二FIFO存储器接通,当所述蝶算单元进行蝶形运算时,将所述蝶算单元与所述第一FIFO存储器和所述第二FIFO存储器接通。
其中,所述旋转因子为复数,所述旋转因子存储器由两块ROM组成,所述两块ROM分别用于存储旋转因子的实部和虚部,每个ROM大小均为(N/2)*16bit,其中,N为FFT的点数。
其中,所述第一数据选择单元设置有第一输入端口、第二输入端口、第一输出端口和第二输出端口;
所述第一数据选择单元通过所述第一输入端口获取所述第一FIFO缓存的数据,通过所述第二输入端口获取所述第二FIFO缓存的数据;
当所述控制信号为高电平时,所述第一输出端口输出的数据为通过所述第一输入端口获取的数据,所述第二输出端口输出的数据为通过所述第二输入端口获取的数据;当所述控制信号为低电平时,所述第一输出端口输出的数据为通过所述第二输入端口获取的数据,所述第二输出端口输出的数据为通过所述第一输入端口获取的数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310662842.9/2.html,转载请声明来源钻瓜专利网。