发明名称 流水线结构的3780点快速傅里叶变换处理器
摘要 本发明属于数字信号处理和数字通信技术领域,具体为一种基于流水线结构的3780点快速傅里叶变换(FFT)处理器,它根据混合基算法,先将3780点FFT分解为63×60,其中63点FFT和60点FFT又根据素因子算法分别分解为7×9和5×3×4。其特征在于,各个子FFT运算单元均采用基于流水线的状态设计,并使用“乒乓”结构的存储单元存放运算数据,从而构成了全流水线结构的3780点FFT处理器,使输入数据可以不间断的进行FFT运算,并不断输出运算结果,提高了处理器的数据吞吐率,并降低了存储器读写地址控制的复杂度。
申请公布号 CN101136891B 申请公布日期 2011.12.28
申请号 CN200710044716.1 申请日期 2007.08.09
申请人 复旦大学;上海复旦微纳电子有限公司 发明人 曾晓洋;陈赟;林一帆;肖昊;许光铭
分类号 H04L27/26(2006.01)I;G06F17/14(2006.01)I 主分类号 H04L27/26(2006.01)I
代理机构 上海正旦专利代理有限公司 31200 代理人 陆飞;盛志范
主权项 一种流水线结构的3780点FFT快速傅里叶变换处理器,其特征在于由下述单元组成:一个FFT/IFFT控制单元(101),它控制处理器计算FFT或IFFT;第一读写地址和控制状态机(102),它产生存储单元的读写地址,控制各个单元的工作状态;一个输入共轭单元(103),它的一个输入端输入是要计算的输入数据,另一个输入端与上述FFT/IFFT控制单元(101)的输出端相连;第一“乒乓”结构存储单元(104),它的一个输入端与上述输入共轭单元(103)的输出端相连,另一个输入端与上述第一读写地址和控制状态机(102)的输出端相连;第一选择器(105),它的输入端与上述第一“乒乓”结构存储单元(104)的输出端相连;一个63点FFT计算单元(106),它的输入端与上述第一选择器(105)的输出端相连;一个旋转因子存储ROM(107),它的输入端与上述第一读写地址和控制状态机(102)的输出端相连;一个旋转因子映射单元(108),它的输入端与上述旋转因子存储ROM(107)的输出端相连;一个复数乘法单元(109),它的一个输入端与上述63点FFT计算单元(106)的输出端相连,另一个输入端与上述旋转因子映射单元(108)的输出端相连;第二“乒乓”结构存储单元(110),它的一个输入端与上述复数乘法单元(109)的输出端相连,另一个输入端与上述第一读写地址和控制状态机(102)的输出端相连;第二选择器(111),它的输入端与上述第二“乒乓”结构存储单元(110)的输出端相连;一个60点FFT计算单元(112),它的输入端与上述第二选择器(111)的输出端相连;一个输出共轭单元(113),它的一个输入端与上述FFT/IFFT控制单元(101)的输出端相连,另一个输入端与上述60点FFT计算单元的输出端相连,它的输出为整个3780点FFT的计算结果;具体处理过程为:(1)FFT/IFFT控制单元(101)根据输入信号,控制整个处理进行FFT运算还是IFFT运算;(2)在第一个周期中,数据经输入共轭单元(103)后,由第一读写地址和控制状态机(102)控制将输入数据存入第一“乒乓”结构存储单元(104)的高3780位中;(3)在第二个周期中,第一读写地址和控制状态机(102)控制将输入数据存入第一“乒乓”结构存储单元(104)的低3780位中,同时第一“乒乓”结构存储单元(104)中高3780位存的上一周期的3780点输入通过第一选择器(105)输入63点FFT计算单元(106),计算63点FFT;(4)旋转因子存储ROM(107)根据由第一读写地址和控制状态机(102)提供的地址输出相应的旋转因子,经过旋转因子映射单元(108)后,转换为对应的旋转因子与步骤(3)中的63点FFT计算单元(106)的输出数据相乘,相应的结果由第一读写地址和控制状态机(102)控制存入第二“乒乓”结构存储单元(110)的高3780位;(5)60次步骤(4)后,第一组3780个数据都经过了63点FFT计算,存在第二“乒乓”结构存储单元(110)的高3780位中;(6)步骤(5)中,第二“乒乓”结构存储单元(110)的高3780位中的结果经过第三选择器(111)后再输入到60点FFT计算单元(112)中进行计算;(7)经过63次步骤(6),第一组3780点FFT计算完成,结果经输出共轭单元(113)后输出;所述63点FFT计算单元(106)由以下单元组成:一个7点FFT计算单元(201),它的输入端输入本单元的输入数据;第二读写地址和控制状态机(202),它产生本单元所需的读写地址,控制本单元的状态;一个第三“乒乓”结构存储单元(203),它的一个输入端与上述7点FFT计算单元(201)的输出端相连,另一个输入端与上述第二读写地址和控制状态机(202)的输出端相连;第四选择器(204),它的输入端与上述第三“乒乓”结构存储单元(203)的输出端相连;一个9点FFT计算单元(205),它的输入端与上述第四选择器(204)的输出端相连,其输出数据即为本单元输出数据;具体处理过程为:(A)在一个周期中,数据输入7点FFT计算单元(201),运算结果由第二读写地址和控制状态机(202)控制存入“乒乓”结构存储单元(203)的高63位中,同时“乒乓”结构存储单元(203)的低63位中存的上一周期7点FFT的结果经过第四选择器(204)后输入9点FFT计算单元(205);(B)步骤(A)进行9次后,63点输入都经过了7点FFT计算,存在“乒乓”结构存储单元(203)的高63位中;(C)步骤(B)中,“乒乓”结构存储单元(203)的高63位中的数据输入9点FFT计算单元(205)中运算,一组63点FFT计算完成,同时另一组63点数据输入7点FFT计算单元(201)中进行计算;所述60点FFT计算单元(112)由以下单元组成:一个5点FFT计算单元(301),它的输入是本单元的输入数据;第三读写地址和控制状态机(302),它产生本单元所需的读写地址,控制本单元的状态;一个第四“乒乓”结构存储单元(303),它的一个输入端与上述5点FFT计算单元(301)的输出端相连,另一个输入端与上述第三读写地址和控制状态机(302)的输出端相连;第五选择器(304),它的输入端与上述第四“乒乓”结构存储单元(303)的输出端相连;一个3点FFT计算单元(305),它的输入端与上述第五选择器(304)的输出端相连;一个4点FFT计算单元(306),它的输入端与上述3点FFT计算单元(305)的输出端相连,其输出即为本单元的输出数据;具体处理过程同63点FFT计算单元(106)的处理过程。
地址 200433 上海市邯郸路220号