一种FFT/IFFT处理方法及一种FFT/IFFT处理器技术

技术编号:4024318 阅读:290 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种FFT/IFFT处理方法及一种FFT/IFFT处理器,以解决现有的FFT/IFFT计算占用存储空间的问题。所述方法包括:将存储空间按照奇偶地址划分为两部分,并在其中一部分奇数/偶数地址中写入FFT/IFFT蝶形运算数据;在每一级FFT/IFFT蝶形运算中,从所述奇数/偶数地址中读取FFT/IFFT蝶形运算数据,并进行FFT/IFFT蝶形运算,然后再将FFT/IFFT蝶形运算的结果数据写入另一部分偶数/奇数地址中;其中,所述存储空间的大小至少为所述FFT/IFFT蝶形运算数据的两倍。本发明专利技术不仅节省了存储空间,还采用混合基实现,同时可以很好地防止数据溢出并提高了处理精度。

【技术实现步骤摘要】

本专利技术涉及信号处理
,特别是涉及一种FFT (Fast FourierTransform,快 速傅里叶变换)/IFFT (Inverse Fast-Fourier-Transformation,快速傅立叶反变换)处理 方法及一种FFT/IFFT处理器。
技术介绍
为了在未来的移动通信技术竞争激烈的环境中处于有利位置,满足日益增长 的用户多元化需求,3GPP组织于2004年底通过了关于3GPP长期演进LTE (Long Term Evolution)的立项工作,加速制定新的空中接口和无线接入网络标准。3G LTE的目标是 更高的数据速率、更低的时延、改进的系统容量和覆盖范围,以及较低的成本。基于上述目 标,LTE 系统采用 OFDM (Orthogonal Frequency Division Multiplexing,正交频分复用)、 ΜΙΜΟ (Multiple-Input Multiple-Out-put,多输入多输出)等关键技术减小多径衰落的影 响,以及提高系统的传输速率,目前,LTE系统在20M的信道带宽下能够提供下行IOOMbps和 上行50Mbps的峰值速率,甚至更高。LTE系统下行数据链路采用OFDM调制,OFDM调制中最关键的运算就是IFFT,相类 似,OFDM解调的核心为FFT。FFT/IFFT处理过程中涉及蝶形运算,传统的FFT/IFFT处理器 在实现蝶形运算时,由于每一级蝶形运算都要输出中间数据,因此需要占用两块大小相同 的内存空间,一块用于存储进行蝶形运算的数据,另一块用于存储蝶形运算的中间数据。但是,这种实现方法会占用较大的内存,因为为了蝶形运算数据读写方便,这两块 内存是分别按照奇数地址和偶数地址来存储数据的。例如,参照图1所示,长度是1024字 节的数据进行蝶形运算时,一块内存在偶数地址中存储该数据,另一块内存在奇数地址中 存储蝶形运算的每一级运算结果。这样,每块内存的大小都是2048字节,但每块内存都只 使用了一半,造成很大的浪费。特别的,如果蝶形运算数据的点位越多,就需要更多级的蝶形运算,而每一级的运 算结果都需要存储,就需要占用更多的空间。尤其是当运算数据量很大时,会占用更大的内 存,影响整个处理器的处理速度。
技术实现思路
本专利技术所要解决的技术问题是提供一种FFT/IFFT处理方法及一种FFT/IFFT处理 器,以解决现有的FFT/IFFT计算占用存储空间的问题。为了解决上述问题,本专利技术公开了一种FFT/IFFT处理方法,包括将存储空间按照奇偶地址划分为两部分,并在其中一部分奇数/偶数地址中写入 FFT/IFFT蝶形运算数据;在每一级FFT/IFFT蝶形运算中,从所述奇数/偶数地址中读取FFT/IFFT蝶形运 算数据,并进行FFT/IFFT蝶形运算,然后再将FFT/IFFT蝶形运算的结果数据写入另一部分 偶数/奇数地址中;其中,所述存储空间的大小至少为所述FFT/IFFT蝶形运算数据的两倍。优选的,所述存储空间的大小为所有长度的FFT/IFFT蝶形运算数据最大值的两倍。优选的,在每一级FFT/IFFT蝶形运算中,从所述奇数/偶数地址中读取FFT/IFFT 蝶形运算数据之后,进行FFT/IFFT蝶形运算之前,还包括对每一级FFT/IFFT蝶形运算数 据取最大值;将所述最大值与预定义的最大值进行比较,得到当前级的移位值;利用所述 移位值对FFT/IFFT蝶形运算数据进行移位判断。其中,将所述最大值与预定义的最大值进行比较,得到当前级的移位值包括如果 比较结果符合溢出条件,则将上一级的移位值减一,否则,将上一级的移位值加一,得到当 前级的移位值。其中,利用所述移位值对FFT/IFFT蝶形运算数据进行移位包括当所述移位值大 于0时,将FFT/IFFT蝶形运算数据右移;当所述移位值小于0时,将FFT/IFFT蝶形运算数 据左移。本专利技术还提供了一种FFT/IFFT处理器,包括存储模块,用于将存储空间按照奇偶地址划分为两部分,并在其中一部分奇数/ 偶数地址中写入FFT/IFFT蝶形运算数据;其中,所述存储空间的大小至少为所述FFT/IFFT 蝶形运算数据的两倍;蝶形运算模块,用于在每一级FFT/IFFT蝶形运算中,从所述存储模块的奇数/偶 数地址中读取FFT/IFFT蝶形运算数据,并进行FFT/IFFT蝶形运算,然后再将FFT/IFFT蝶 形运算的结果数据写入所述存储模块的另一部分偶数/奇数地址中。优选的,所述存储空间的大小为所有长度的FFT/IFFT蝶形运算数据最大值的两倍。优选的,所述蝶形运算模块采用基4或基2的混合基运算。优选的,所述FFT/IFFT处理器还包括移位模块,用于对每一级从存储模块读取 出的FFT/IFFT蝶形运算数据取最大值,将所述最大值与预定义的最大值进行比较,得到当 前级的移位值,然后利用所述移位值对FFT/IFFT蝶形运算数据进行移位判断,输出移位结 果到蝶形运算模块。其中,所述移位模块包括移位计算子模块,用于对每一级从存储模块读取出的 FFT/IFFT蝶形运算数据取最大值,将所述最大值与预定义的最大值进行比较,如果比较结 果符合溢出条件,则将上一级的移位值减一,否则,将上一级的移位值加一,得到当前级的 移位值;移位子模块,用于当所述移位值大于0时,将FFT/IFFT蝶形运算数据右移;当所述 移位值小于0时,将FFT/IFFT蝶形运算数据左移。与现有技术相比,本专利技术具有以下优点首先,本专利技术对现有的FFT/IFFT处理器进行了改进,将存储空间按照奇偶地址划 分为两部分,其中一部分(如奇数地址中)存储FFT/IFFT蝶形运算数据,另一部分(如偶 数地址中)存储蝶形运算的每一级运算结果。这样,蝶形运算总共占用的存储空间为蝶形 运算数据的两倍。而现有技术中需要两块存储空间,每块的大小都是蝶形运算数据的两倍。 相比可知,本专利技术占用的存储空间远远小于现有技术,大大节省了内存。其次,本专利技术还实现了混合基的FFT/IFFT计算。目前进行FFT/IFFT计算的数据长度有4096/2048/512等各种长度,现有技术中一个FFT/IFFT处理器只设计成适用于一种 长度的计算,而本专利技术将所述存储空间设为最大长度的两倍,就可以在同一个FFT/IFFT处 理器中完成各种长度的FFT/IFFT计算。由于不同长度的数据又分别采用不同基的计算,如 基2或基4运算,因此本专利技术可以完成混合基的FFT/IFFT变换。再次,本专利技术在FFT/IFFT变换过程中,通过移位的方法可以将运算数据限制到一 定范围之内,一方面可以防止数据过大而造成系统溢出,另一方面还可以防止数据过小而 造成处理精度不够。因此本专利技术可以防止溢出并提高处理精度。附图说明图1是现有技术中蝶形运算占用内存的示意图;图2是本专利技术中蝶形运算占用内存的示意图;图3是本专利技术实施例一所述一种FFT/IFFT处理方法的流程图;图4是本专利技术实施例二所述一种FFT/IFFT处理过程示意图;图5是本专利技术实施例二所述一种FFT/IFFT处理方法的流程图;图6是本专利技术实施例三所述一种FFT/IFFT处理器的结构图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本专利技术作进一步详细的说明本文档来自技高网
...

【技术保护点】
一种FFT/IFFT处理方法,其特征在于,包括:将存储空间按照奇偶地址划分为两部分,并在其中一部分奇数/偶数地址中写入FFT/IFFT蝶形运算数据;在每一级FFT/IFFT蝶形运算中,从所述奇数/偶数地址中读取FFT/IFFT蝶形运算数据,并进行FFT/IFFT蝶形运算,然后再将FFT/IFFT蝶形运算的结果数据写入另一部分偶数/奇数地址中;其中,所述存储空间的大小至少为所述FFT/IFFT蝶形运算数据的两倍。

【技术特征摘要】

【专利技术属性】
技术研发人员:张辉王西强宋磊王飒爽
申请(专利权)人:北京创毅视通科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1