[发明专利]基于FPGA实现并行结构FFT处理器的方法无效
申请号: | 200910054018.9 | 申请日: | 2009-06-26 |
公开(公告)号: | CN101582059A | 公开(公告)日: | 2009-11-18 |
发明(设计)人: | 黄正;刘亮;皋魏;席刚;周正仙;仝芳轩 | 申请(专利权)人: | 上海华魏光纤传感技术有限公司 |
主分类号: | G06F17/14 | 分类号: | G06F17/14 |
代理公司: | 上海思微知识产权代理事务所 | 代理人: | 郑 玮 |
地址: | 201700上海市青浦区赵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 实现 并行 结构 fft 处理器 方法 | ||
技术领域
本发明涉及一种FFT实现方法,尤其涉及一种基于FPGA实现并行结构FFT处理器的方法。
背景技术
快速傅里叶变换(FFT,即Fast Fourier Transform)在数字信号处理领域有着非常广泛的应用,但长序列FFT运算量很大,实现比较困难。随着高速器件的发展,关于如何快速实现长序列FFT这方面的研究很多,各种各样的实现方法也相继出现。例如文献(Ananth Gramam,AnshulGupta,George Karypi s.Introduction to ParallelComputing,SecondEdition[M],Pearson Education,Harlow,England,2003:245-250)提到了使用多个专用芯片来构成并行结构以快速实现长序列FFT,但这种方法是基于专用芯片的,灵活性不足。近年来元件可编程逻辑门阵列(FPGA,即Field Programmable Gate Array)器件发展迅速,其可编程重构特性使得它在许多领域得到了越来越广泛的应用。Xilinx公司Virtex-II系列FPGA内部集成了大量专用乘法器(Block Multiplier)、大量块RAM(Block RAM)以及丰富的逻辑门资源,这使得它非常适合实现FFT这种需要大量乘法器、大量块RAM和寄存器的设计。
发明内容
本发明所要解决的技术问题是提供一种基于FPGA实现并行结构FFT处理器的方法,它可以通过简单的电路结构提高长序列FFT的处理速度和系统吞吐量(Throughput)。
为了解决以上技术问题,本发明提供了一种基于FPGA实现并行结构FFT处理器的方法,用于进行N(N为2的k次幂,或不足k次幂,将序列补0使N变为2的k次幂,k为正整数)点的FFT运算,所述FPGA包含多个专用乘法器、多个大量块RAM、以及多个逻辑门,包括如下步骤:
(1)将所述N点等分为M段,每段具有N/M个点;
(2)将所述N点的FFT运算,转化为所述M段(每段N/M个点)FFT运算的表达式;
(3)提取步骤(2)所得表达式中各M段FFT运算表达式的系数,用所述专用乘法器、大量块RAM、及逻辑门通过所述FPGA内部电路实现所述系数与对应各M段FFT运算结果乘积,再将所述各段的乘积结果求和得到所述N点的FFT运算结果。
因为本发明把长序列分裂成较短序列,并由多个FFT单元并行实现短序列的FFT,最后用FPGA内部一个特定结构的运算电路来处理各单元的计算结果,从而得到最终的结果,有效提高了长序列FFT的处理速度和系统吞吐量(Throughput)。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1是N=16按时间抽取法(DIT)的基-2FFT的运算流程图;
图2是本发明四路并行的基-2 DIT FFT实现框图。
具体实施方式
本发明从理论上分析并设计一种基于FPGA实现的并行FFT处理器结构——把长序列分裂成较短序列,并由多个FFT单元并行实现短序列的FFT,最后用FPGA内部一个特定结构的运算电路来处理各单元的计算结果,从而得到最终的结果。
基于FPGA实现并行结构FFT处理器的方法,用于进行N(N为2的k次幂,或不足k次幂,将序列补0使N变为2的k次幂,k为正整数)点的FFT运算,所述FPGA包含多个专用乘法器、多个大量块RAM、以及多个逻辑门,包括如下步骤:
(1)将所述N点等分为M段,每段具有N/M个点;
(2)将所述N点的FFT运算,转化为所述M段(每段N/M个点)FFT运算的表达式;
(3)提取步骤(2)所得表达式中各M段FFT运算表达式的系数,用所述专用乘法器、大量块RAM、及逻辑门通过所述FPGA内部的电路实现所述系数与对应各M段FFT运算结果乘积,再将所述各段的乘积结果求和得到所述N点的FFT运算结果。
如图1显示了一个标准的按时间抽取(DIT)的N=16点FFT运算流程图,由图1我们可观察到最后两级之前的数据流程在水平上明显地分成四个独立单元(如图中虚线所示),每个单元独立地实现点的FFT,从而构成一个四路并行的结构。因此,我们可以用四个点的FFT单元来并行计算N点的FFT,即所谓并行结构的FFT,然后设计一个特定结构的运算电路来处理最后两级。下面将详细描述如何设计这个的电路。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华魏光纤传感技术有限公司,未经上海华魏光纤传感技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910054018.9/2.html,转载请声明来源钻瓜专利网。