[发明专利]一种点数可变的混合基 FFT/IFFT实现装置及其方法无效
申请号: | 201110269212.6 | 申请日: | 2011-09-13 |
公开(公告)号: | CN102298570A | 公开(公告)日: | 2011-12-28 |
发明(设计)人: | 李云飞;赵民建;王勇松;侯维玮;李立言;王悦 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F17/14 | 分类号: | G06F17/14 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 张法高 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 点数 可变 混合 fft ifft 实现 装置 及其 方法 | ||
技术领域
本发明涉及一种点数可变的混合基FFT/IFFT实现装置及其方法。
背景技术
离散傅里叶变换(DFT)是数字信号处理领域最为基本也是最为常用的运算,我们可以利用DFT对信号做数字谱分析或者实现数字滤波,此外,在各种数字系统的设计和实现中也都会用到DFT。然而,在DFT运算提出初期,并没有一种很优的算法随之提出,因此,完成N点数据DFT的计算复杂度为O(N2);直到1965年,Cooley和Tukey在《Mathematics of Computation》上发表了“Analgorithm for the machine computation of complex Fourier series”一文,标志着快速傅里叶变换(FFT)算法的正式诞生。
FFT算法的提出被视为数字信号处理发展史上一个重要的里程碑,它将DFT的计算复杂度由O(N2)降到了O(N log2 N),解决了数字信号处理实现和应用的瓶颈,具有很强的理论和工程意义。在目前数字信号处理的各个应用领域中,FFT算法仍然起着举足轻重的作用:例如,FFT算法作为时域和频域转换的基本算法,是我们进行数字谱分析的必备前提,在数字通信、语音信号分析、图像处理、雷达以及生物医学工程等方面都有着极其广泛的应用;又如,在数字语音编码、数字滤波、射电干涉阵等情况下,都需要使用专用的FFT设备来处理这种实时快速的运算;特别是,近年来由于现场可编程门阵列(FPGA)的飞速发展,使得FPGA非常适合用来实现FFT算法,如FPGA厂商Altera和Xlinx都开发了相应的FFT IP核,且价格非常昂贵,无法广泛应用,因此在实际工程应用中,开发一个基于FGPA的FFT实现方法显得尤为重要。
目前,已有的各种各样的DFT计算快速算法大致可以分为两类:一类是将DFT转变为卷积,利用计算卷积的方法计算,其代表是Winograd算法和素因子算法;另一类是递归型算法,是将一维DFT转化为容易计算的二维或者多维DFT,且这个过程可以重复,具有代表性的算法有Cooley-Tukey算法、Rader-Brenner算法和分裂基算法。上述两类算法相比较而言,前者在运算量上占优,乘法器的使用比后者少,但是控制逻辑较复杂,控制单元实现起来相对较为麻烦。
发明内容
本发明的目的是克服现有技术的不足,提供一种点数可变的混合基FFT/IFFT实现装置及其方法。
点数可变的混合基FFT/IFFT实现装置包括模块:输入数据变换模块、存储模块A、数据选择器、蝶形运算模块、溢出检测模块、存储模块B、移位模块、输出数据变换模块以及控制模块,输入数据变换模块与存储模块A、数据选择 器、蝶形运算模块、溢出检测模块、存储模块B、移位模块依次连接,存储模块B与输出数据变换模块相连,移位模块与数据选择器相连;在控制模块控制下,根据本次运算为FFT或IFFT,将串行输入数据经过实部虚部变换后存储到存储模块A,然后控制模块控制存储模块A中所有数据完成第一级蝶形运算,蝶形运算结果经过溢出检测模块完成溢出检测,同时将蝶形运算结果存入存储模块B;当存储模块A中所有数据均完成了第一级蝶形运算后,控制模块向外给出存储模块A空闲可用的标志信号,预示着下一次运算数据可以输入,同时控制模块控制移位模块、存储模块B、蝶形运算模块以及溢出检测模块完成接下来的所有蝶形运算;当所有蝶形运算全部完成之后,控制模块控制存储模块B、输出数据变换模块,根据本次运算为FFT或IFFT,将存储模块B中的数据串行读出、进行实部虚部变换,然后经过移位得到最终的块浮点运算结果,当存储模块B中数据全部输出后,输出数据变换模块向控制模块给出存储模块B空闲可用标志信号,新一次FFT/IFFT运算开始进行。
所述的蝶形运算模块包括相连接的旋转因子存储模块、乘法器模块和加法器模块。
点数可变的混合基FFT/IFFT实现方法包括如下步骤:
1)根据本次运算为FFT或者IFFT,在控制模块的控制下,将串行输入数据经过实部虚部变换后按照分块倒序方式存入存储模块A;
2)串行输入数据经过实部虚部变换并全部写入存储模块A后,控制模块控制存储模块A、蝶形运算模块、和溢出检测模块,从存储模块A中读取四个数据完成一次基-4蝶形运算;对蝶形运算结果数据做溢出检测后,按原址存储到存储模块B中,当存储模块A中的所有数据均完成第一级蝶形运算,控制模块向外给出信号,下一次FFT或者IFFT运算的数据流进入存储模块A;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110269212.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:建筑外墙用真空绝热板
- 下一篇:轻钢构件及轻钢构件组件