一种点数可变实时FFT处理芯片制造技术

技术编号:3844012 阅读:291 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出了一种点数可变实时FFT处理芯片,包括:输入缓冲模块、64点FFT流水处理模块、旋转因子处理模块、中间序列存储模块、16点FFT流水处理模块、单元选择控制模块、输出缓冲模块。七个模块共同完成FFT的二维处理;其中64点FFT流水处理模块实现16点或64点可变FFT运算;16点FFT流水处理模块实现2点、4点、8点或16点可变FFT运算;旋转因子处理模块基于CORDIC算法实现;选择与控制模块实现对整个芯片的控制。本发明专利技术可实现2↑[n]点可变FFT处理,而且所占芯片管芯面积小,同时具备实时高速处理、低功耗、高精度等特性,适合ASIC实现。

【技术实现步骤摘要】

本专利技术属于信号处理领域,涉及一种信号处理器芯片,特别是涉及 一种实时2"点("^10 )可变的快速傅立叶变换处理器芯片。背景A术离散傅立叶变换(D F T)作为将信号从时域转换到频域的基本工具, 在各种数字信号处理中起着核心作用。其快速算法FFT在无线通信、语 音识別、图像处理、数字滤波和频谱分析领域有着广泛的应用。在实际 应用中,常常对FFT处理器提出了实时、高精度地计算不同点数序列的 要求。由于Cooley-Tukey算法具有原址运算的特点,易于硬件实现,因 此基于此算法实现的流水线结构FFT处理器在实时专用处理器中得到 了广泛的应用。F.FT的实现一直是人们致力解决的问题。过去,执行FFT的系统可 采用通用处理器或单独的数字信号处理器(DSP)来进行FFT运算。近 年来,由于现场可编程门阵列(FPGA)的快速发展,越来越多的FFT 处理采用FPGA实现。但是用FPGA实现FFT处理还有一些不足之处 一是由于FPGA固有的可编程结构,使得FPGA实现FFT的速度难以进 一步提高;二是FPGA实现FFT所消耗的功耗较大;三是FPGA的保密 性不如专用集成电3各(ASIC);四是用FPGA实现FFT不适合量产; 五是FPGA芯片为通用芯片,管脚多,外围电路多,信号处理系统复杂 度高。现在人们一方面寻求结构筒单、运算速度快、存储量小的FFT计 算方法,另一方面采用先进的VLSI技术实现FFT的硬件结构,将算法 硬件化,研制成ASIC芯片,大大提高了 FFT的处理性能,筒化信号处 理系统的设计工作,适合定型的武器系统。然而,在ASIC上实现输入序列长度可变的实时FFT面临以下几个 问题(1 ) ASIC芯片内的管芯面积有限,所以,在ASIC上实现的功能需要在面积、速度和功^^方面都进行优化,以提高ASIC总体设计的功能。 在保证进行FFT变换速度的同时,专用于FFT的资源量应该最小化,因此 需要优化在ASIC集成电路中实现FFT的结构;(2) 在ASIC芯片上实现FFT进行应用时,具有可实时重新配置FFT 点数的功能,以便适应不同应用需求;(3) 由于在FFT运算中存在有限字长效应,运算的中间数据有溢出瓶 颈问题,影响到结果的准确性,因此必须采用定标算法防止溢出,同时提 高信号处理精度。目前有不少可变点FFT实现方法,文献"实时可重配置FFT处理 器的ASIC设计"(北京理工大学学报,2006年(M期)提及了一种能够 进行4点、16点、64点、256点或1024点FFT运算的可变点流水线FFT 处理器,但其不能进行2"可变点FFT处理,且中间旋转因子没有压缩, 占用芯片面积。文献"可变2"点流水线FFT处理器的设计与实现"(北 京理工大学学报,2005年03期)提及了一种可以连续计算2"点复数序 列FFT的流水线结构处理器,但其因采用传统级联方法实现流水线FFT 处理,占用芯片面积大,不适合ASIC实现。
技术实现思路
本专利技术的目的是为了克服已有技术的缺陷,解决如何用最小芯片面 积实时处理2"点("^10 )可变FFT运算的问题,提出一种点数可变实 时FFT处理芯片。本专利技术所基于的技术原理如下Cooley-Tukey (库利-图基)快速FFT算法具有原址运算的特点,在 硬件设计时模块便于重复利用,易于实现并行处理,因此得到了广泛的 应用。经常采用的有基-2或基-4库利-图基算法,而在基-2和基-4算法 硬件实现的比较中,基-4运算可使存储器和运算部件间的必要通讯减少 一半,并行性比基-2高,并且可以显著地改善数值精度,故可优先采用 基—4库利-图基算法。但是,尽管基-4的运算量较基-2的运算量有所减 小,它有自身的不足基-4的FFT运算只能处理4"点数,而基-2的算法可以处理任意2"点数。如果采用基-4和基-2混合时间抽取快速算法,这样不仅可以实现较 高的运算效率、处理点数的可配置,而且能够节省资源,便于ASC实 现。N个样本点的FFT表达式为釋)(A:二0,1,…,W-1)假设N=^ x尸2w = Wj r2 + WQ将k表示为 At = A, r , + A"(公式i)可将n表示为("二0,l,…,s —1; 。 二0,1,…,2 -l) (、二0,1,-.,,^ -l; &0 二0,1,…;^ 一l)X(/ ) = X(/^2 + "。 ) 二 X(/7, , M。) 令婦)二婦,1+^) = 1駄)则公式1可以表示为踏OH"。=05一1『。' ' (公式2)公式2表明,计算组合数N=~ x r2点FFT等价于先求出,2组r,点的 FFT,-其结果乘以旋转因子后,再计算r,组^点的FFI,。因此公式1中 一个较大N点FFT便转化为用较小的r,点FFT和^点FFT来实现。r,点 FFT和r2点FFT的数据及旋转因子存储量要远远小于一个N点FFT。同 时公式2也表示出了单独计算^点FFT和r2点FFT的方法。在进行点 FFT运算时,只需要将[]外的运算屏蔽即可。同理,在进行^点FFT运 算时,只需要将U内的运算屏蔽即可。N最大为1024点,进行二维处理时取^=64点,r2=16点。而为了 达到点数可变的目的,令二维FFT处理中的第一维为16点或64点可变, 而第二维为2点、4点、8点或16点可变,二维组合实现2"可变点FFT。根据以上原理,本专利技术所采用的技术方案是一种点数可变实时FFT处理芯片,由下述模块组成输入緩冲模块、64点基-4 FFT处理模块、旋转因子处理模块、中间序列存储模块、16 点基-2FFT处理模块、单元选择控制模块、输出緩冲模块。输入緩冲模块用于完成最大1024点的输入数据緩存及数据的寻址。64点基-4 FFT处理模块用于16点或64点可变FFT运算。该模 块采用基-4 FFT级联流水线结构,通过对第二级基-4运算单元增加输出 选择电路实现可变点l喿作,且64点FFT处理采用块浮点定标方式,能 够获得较高处理精度。旋转因子处理模块用于完成二维FFT处理的中间旋转因子产生与 相乘,中间旋转因子产生与相乘均基于CORDIC算法。该模块包括二 进制计数器、循环移位寄存器和CORDIC处理器。宁间序列存储模块用于存储64点基-4 FFT处理模块处理结杲, 并将其作为16点基-2FFT处理模块的输入。该模块由两个1024点数据 存储器构成"乒乓"存储结构。16点基-2 FFT处理才莫块用于2点、4点、8点或16点可变FFT 运算。该模块采用基-2FFT级联流水线结构,通过对每一级基-2运算单 元增加输出选择电路实现点数可变操作,且16点FFT处理采用块浮点 定标方式,能够获得较高处理精度。输出缓沖模块用于完成最大1024点的输出结果数据存储及输出。选择与控制模块用于产生模块选择与各种控制信号,对整个芯片进行寧制。上述组成模块间的连接关系如下输入緩冲模块、64点基-4FFT处理模块、旋转因子处理模块、中间 序列存储模块、16点基-2FFT处理模块、输出緩沖模块依次相连,单元 选择控制模块与各个模块相连。上迷模块间的信号转换关系为首先,输入数据(最大不超过1024点)在输入緩沖模块进行緩存 及数据的寻址。然后,将输入数据传入64点基-4 FFT处理模块进4亍16 点或本文档来自技高网
...

【技术保护点】
一种点数可变实时FFT处理芯片,其特征在于:包括输入缓冲模块、64点基-4FFT处理模块、旋转因子处理模块、中间序列存储模块、16点基-2FFT处理模块、单元选择控制模块和输出缓冲模块; 输入缓冲模块:用于完成最大1024点的输入数据 缓存及数据的寻址; 64点基-4FFT处理模块:用于16点或64点可变FFT运算;该模块采用基-4FFT级联流水线结构,通过对第二级基-4运算单元增加输出选择电路实现可变点操作,且64点FFT处理采用块浮点定标方式; 旋转因子处 理模块:用于完成二维FFT处理的中间旋转因子产生与相乘,中间旋转因子产生与相乘均基于CORDIC算法; 中间序列存储模块:用于存储64点基-4FFT处理模块处理结果,并将其作为16点基-2FFT处理模块的输入,该模块由两个1024点数 据存储器构成“乒乓”存储结构; 16点基-2FFT处理模块:用于2点、4点、8点或16点可变FFT运算;该模块采用基-2FFT级联流水线结构,通过对每一级基-2运算单元增加输出选择电路实现点数可变操作,且16点FFT处理采用块浮点定标 方式; 输出缓冲模块:用于完成最大1024点的输出结果数据存储及输出; 选择与控制模块:用于产生模块选择与各种控制信号,对整个芯片进行控制; 上述组成模块间的连接关系如下: 输入缓冲模块、64点基-4FFT处理模块、 旋转因子处理模块、中间序列存储模块、16点基-2FFT处理模块、输出缓冲模块依次相连,单元选择控制模块与各个模块相连; 上述模块间的信号转换关系为:首先,输入数据在输入缓冲模块进行缓存及数据的寻址,输入数据最大不超过1024点;然后, 将输入数据传入64点基-4FFT处理模块进行16点或64点可变FFT处理,得到第一维FFT处理结果;将第一维理处结果送入旋转因子处理模块中,完成序列与旋转因子的相乘,得到乘积数据;之后,将乘积数据送入中间序列存储模块进行缓存,待缓存完所有乘积数据后,根据16点基-2FFT处理模块的要求将乘积数据送给16点基-2FFT处理模块进行16点可变FFT处理,得到第二维FFT处理结果;最后,将第二维FFT处理结果送入输出缓冲模块中进行整理,形成最终输出结果。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈禾曾大治刘峰龙腾刘伟
申请(专利权)人:北京理工大学
类型:发明
国别省市:11[中国|北京]

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

1