我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。
前面的文章我们介绍了关于FFT的硬件实现。关于FFT的逆运算IFFT,其实就是将实现FFT的过程反过来执行就可以了。
在实现过程中要注意很多问题。
同 FFT一样,效率问题。以2048点为例,根据理论值计算,计算一次2048点的IFFT的时间应为130us。在采用流水线的方式下,实部计算和虚部计算均采用两块RAM实现流水线。
结构如上图。在这种方式下,FPGA的片上RAM会消耗很多。
为了节省RAM,可以采用一块RAM的流水线方式。在实现过程中要注意对RAM操作的reading-during-write,之前的文章介绍过了。这种方式速度会降低一半。
最节省的方式是使用控制器方式,但速度更低。这里不再介绍。
上图所示的IFFT流程,存在大量的组合逻辑,时序远远不够,所以应当在组合逻辑中加入寄存器提高速度。但是,寄存器流水线的级数又影响到了读写两块RAM的切换,从而影响计算效率,所以这里值得商榷。
由于设计中RAM输出端没有使用REG,所以1处应该加入REG,提高速度,否则1处会出现时序违规,1处的组合逻辑延迟很大。
2处和3处也是值得深入考虑的地方,加法器的输出到乘法器的输入,以及乘法器的输出再到加法器的输入,均是大量的组合逻辑,设计中一定要注意,不能仅仅完成功能仿真就可以了,一定要在综合工具下综合一下,看看时序是否满足。实践中,这两处均加入REG。
4处是否再加REG需要看综合后的结果。根据实际分析,4处加REG会降低计算效率,读RAM和写RAM来不及切换,这是根据自己的设计得出的结果。
由于FFT计算过程用到乘法器,所以在IFFT中需要用到除法器。如何减少除法器使用的资源或者将除法器更改为其他逻辑实现,需要深入探讨。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
原文标题:关于硬件实现FFT逆运算
文章出处:【微信号:ALIFPGA,微信公众号:FPGA极客空间】欢迎添加关注!文章转载请注明出处。
相关推荐
实现。总体来讲,DSP速度较慢,接口不灵活,而且没有FFT运算所需要的巨量存储器,需外置特定的接口、控制芯片和RAM,限制了运算速度,但DSP开发相对简单,技术成熟,开发费用相对较低,
发表于 06-14 00:19
本帖最后由 gk320830 于 2015-3-8 21:23 编辑
开始科创,老师给了我们一个题基于FPGA的FFT算法硬件实现。但是什么都不会,想找些论文看看,求相关的论文
发表于 05-24 22:14
(LE)数ALUT数相关。(3)在允许使用M-RAM资源的情况下,前面的数字表明在FFT设计向导中取消使用M-RAM时.M4K-RAM的模块
发表于 08-12 16:14
通过例化调用Xilinx IP核来实现一个512点、数据位宽和相位因子位宽都为10 bit的FFT算法模块,时钟频率为 50MHz,采用流水线,Streaming I/O和定点压缩结构。为了方便验证
发表于 12-27 14:12
的FFT,首先会把最外层的8点运算分成两个4点FFT的奇偶组合,第二层FFT又分成四个两点FFT的奇偶组合,并且由此计算出的频谱中很有趣的一
发表于 08-02 17:32
FPGA实现的 FFT 处理器的硬件结构。接收单元采用乒乓RAM 结构, 扩大了数据吞吐量。中间数据缓存单元采用双口RAM , 减少了访问
发表于 11-21 15:55
=64 点的基-4DIT信号流其输入数据序列是按自然顺序排列的,输出结果需经过整序。64点数据只需进行3次迭代运算,每次迭代运算含有N/4=16个蝶形单元。2 FFT算法的硬件实现2.
发表于 06-17 09:01
嗨,我已经实现了radix2 / 4&在ISE 14.1中没有使用cordic的分裂基数FFT算法。它们运行良好... o / p即将到来,但问题是代码是不可合成的。为了使代码
发表于 03-06 08:40
介绍了频域抽取基二快速傅里叶运算的基本原理;讨论了基于FPGA达4 096点的大点数超高速FFT硬件系统设计与实现方法,当多组大点数进行FFT运算时,利用FPGA内部大容量存储资源,采
发表于 04-26 18:33
•26次下载
在现代逻辑设计中,FPGA占有重要的地位,不仅因为具有强大的逻辑功能和高速的处理速度,同时因为其内部嵌有大量的可配置的块RAM,使其得到了广泛地应用,例如FFT算法的实现等。
发表于 09-27 17:07
•54次下载
针对WIMAX系统中变长子载波的特点,通过采用流水线乒乓结构,以基2、基4混合基实现了高速可配置的FFT/IFFT。将不同点数的FFT旋转因子统一存储,同时对
发表于 02-29 11:29
•5次下载
FFT算法是离散傅罩叶变换(DFT)的一种高效算法,它被广泛地运用于图像处理、音频编码、频谱分析等数字信号处理(DSP)领域,其变换长度N.一般要求很大。DSP速度较慢、接口不灵活,而且没有FFT
发表于 04-03 16:48
•2次下载
关于Block RAM的寄存器输出,我们在《通过RTL改善时序的技巧之Block RAM的输出》中介绍过。如果我们在时序报告
发表于 03-26 15:50
•1846次阅读
采用IEEE745格式的浮点+ROM RAM的方式成功实现FFT的设计(嵌入式开发要学什么知乎)-采用IEEE745格式的浮点+ROM RAM的方式成功
发表于 07-30 16:21
•9次下载
)hls_fft.h。实际上,在HLS中调用该库实现FFT,其实是Vivado中的那个FFT核
发表于 07-11 10:05
•1123次阅读
评论