CN1259782C - 确定并行双蝶算快速傅立叶变换处理器结构的方法 - Google Patents

确定并行双蝶算快速傅立叶变换处理器结构的方法 Download PDF

Info

Publication number
CN1259782C
CN1259782C CN 03141540 CN03141540A CN1259782C CN 1259782 C CN1259782 C CN 1259782C CN 03141540 CN03141540 CN 03141540 CN 03141540 A CN03141540 A CN 03141540A CN 1259782 C CN1259782 C CN 1259782C
Authority
CN
China
Prior art keywords
butterfly
parallel
processing
butterfly computation
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 03141540
Other languages
English (en)
Other versions
CN1477802A (zh
Inventor
田继锋
姜海宁
宋文涛
罗汉文
张海滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN 03141540 priority Critical patent/CN1259782C/zh
Publication of CN1477802A publication Critical patent/CN1477802A/zh
Application granted granted Critical
Publication of CN1259782C publication Critical patent/CN1259782C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

一种确定并行双蝶算快速傅立叶变换处理器结构的方法,属于信息技术领域。本发明对快速傅立叶变换处理器中的核心单元——蝶算单元进行改进,得到并行双蝶算处理方法,首先进行并行蝶算处理,即将蝶算处理中只含加法器的处理与既含乘法器又含加法器的处理并行进行,得到并行蝶算结构,然后进行双蝶算处理,即将蝶算单元的输入按照所对应旋转因子进行分组处理,再对输入数据按照蝶算处理中是否含有乘法器分两个蝶算处理单元进行处理,得到并行双蝶算快速傅立叶变换处理器结构。本发明有效地提高了快速傅立叶变换处理器的运算速度,占用较少的硬件资源,尤其是乘法器资源,从而较好地解决了快速傅立叶变换处理器中的运算速度和硬件耗用量之间的矛盾。

Description

确定并行双蝶算快速傅立叶变换处理器结构的方法
技术领域
本发明涉及的是一种确定快速傅立叶变换处理器结构的方法,特别是一种确定并行双蝶算快速傅立叶变换处理器结构的方法,属于信息技术领域。
背景技术
正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)是一项多载波技术,它将一个宽带信道分成若干个正交的窄带子信道,并在各个子信道上同时传输信息,从而提高了信道利用率。而且,通过加入循环前缀减少了符号间干扰,增强了系统抗多径干扰的能力。最近几年,OFDM技术因其卓越的性能得到了越来越广泛的应用。它不仅已在数字电视、数字音频广播中得到了成功的应用,而且无线局域网标准IEEE 802.11a、HIPERLAN-2也采用了该技术作为物理层接口,现在紧锣密鼓进行的B3G的研究也趋向于选用OFDM技术。在OFDM技术的发展过程中,由于采用快速傅立叶变换(Fast Fourier Transform,FFT)替代最初的单个子载波调制,从而大大降低了OFDM系统的实现复杂度,但是,面对OFDM系统所需处理速度的日益增加,高速FFT处理器的实现又成了OFDM技术进一步发展的瓶颈。
高速FFT处理器的实现方法按结构的不同可分为如下几种:单内存结构、双内存结构、流水线结构和并行结构。传统的单内存结构和双内存结构占用的硬件资源较少,但是吞吐量低,需要较高的时钟频率。为了有效提高FFT的运算速度,经文献检索发现,Byung S.Son等人在《IEEE International Symposium on Circuits andSystems》(2002,vol.3,pp.281-284)上发表文章“High-speed FFT Processor forOFDM Systems”(OFDM系统中的高速FFT处理器,IEEE电路与系统国际会议),该文在传统的单内存结构基础上提出单内存分组方案,该方案较大地提高了FFT处理器运算速度并占用了较小的内存,但是增加了寻址复杂度和复数乘法器的耗用量,从而占用了更多的硬件资源。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种确定并行双蝶算快速傅立叶变换处理器结构的方法,使其实现容易,成本低,硬件资源耗用少,处理器的运算速度快,能很好的满足OFDM通信系统中对FFT处理器的要求。
本发明是通过以下技术方案实现的,本发明对快速傅立叶变换处理器中的核心单元——蝶算单元进行改进,得到并行双蝶算处理方法,首先进行并行蝶算处理,即将蝶算处理中只含加法器的处理与既含乘法器又含加法器的处理并行进行,得到并行蝶算结构;然后进行双蝶算处理,即将蝶算单元的输入按照所对应旋转因子的不同进行分组处理,再对输入数据按照蝶算处理中是否含有乘法器分两个不同的蝶算处理单元进行处理,得到并行双蝶算快速傅立叶变换处理器结构。
以下对本发明方法作进一步的描述,具体内容如下:
1、并行蝶算处理
蝶算单元为快速傅立叶变换处理器的核心单元。基四频率抽取的蝶算单元先进行4点离散傅立叶变换处理,然后将结果与旋转因子相乘,
Ai=(A+C)+(B+D)  Bi=(A-C)-j(B-D)
Ci=(A+C)-(B+D)  Di=(A-C)+j(B-D)(1)
A ′ = A i , B ′ = B i × W N p , C ′ = C i × W N 2 p , D ′ = D i × W N 3 p - - - - ( 2 )
其中 W N = e - j 2 π / N , A、B、C、D为蝶算单元的输入,A′、B′、C′、D′为蝶算
单元的输出。由(2)式可得只需要若干加法器就可以得到A′的输出结果,将得到A′输出的处理与得到其他B′、C′、D′三个输出的处理并行进行。即在原蝶算单元中增加一个4点离散傅立叶变换处理单元,该单元只含有加法器。
为了更加有效的提高硬件资源的利用率,在并行蝶算结构中引入流水线的方法。该方法分四步进行:
第一步,从内存中读入数据,采用3个时钟分两路从双口RAM中读入4个复数数据;
第二步,进行4点离散傅立叶变换处理,为了采用流水线的方法,通过状态机(3个状态)来控制整个流程,使得状态S1得到Ai、Bi,状态S2得到Ci,状态S3得到Di
第三步,进行相应结果与旋转因子的复乘处理,一个复数乘法器由3个实数乘法器和5个实数加法器实现,3个实数乘法器并行处理,其前为3个并行加法器,其后为2个并行加法器,处理过程共需3个时钟;
第四步,将处理所得写入内存,3个时钟分两路写入4个数据。整个流水线长度为12个时钟。
2、双蝶算处理
由(2)式,每一次的蝶算处理需要4个旋转因子,而这4个旋转因子与一个p值相关联,所以,每次蝶算处理的四个输入与一个特定的p值相对应。将与某个p值相关的蝶算单元的四个输入数据定义为一个蝶算单元数据组,定义与p=0相关的蝶算单元数据组为零数据组,否则为非零数据组。不同的数据组采用不同的蝶算处理,非零数据组的蝶算处理中含乘法器,采用上述的并行蝶算处理,零数据组的蝶算处理中只含加法器,采用多个4点离散傅立叶变换处理(称该蝶算处理为简单蝶算处理),将并行蝶算处理与简单蝶算处理并行进行,得到并行双蝶算结构,具体步骤如下:
第一步,输入输出数据处理。并行蝶算结构中每次蝶算处理3个时钟读入4个数据,所以在3个时钟内,双口RAM的一个端口读入3个数据,另一个端口读入1个数据,因而该端口在3个时钟内将有2个时钟空闲,利用这两个时钟传输零数据组的数据进行简单蝶算处理。
第二步,简单蝶算处理单元的流水处理。为了保证非零数据组和零数据组的传输保持同步,在简单蝶算处理中引入与并行蝶算处理相应的流水延迟。即采用6个时钟从内存中读数据,简单蝶算处理3个时钟,向内存中写数据6个时钟。
第三步,最后一级的处理。基于蝶算单元的FFT处理器分若干级进行,在最后一级,输入数据全为零数据组,可以全部进行简单蝶算处理,并充分利用双口RAM中的两个端口并行传输数据。此时流水线长度为7个时钟。
本发明具有实质性特点和显著进步,本发明在传统的双内存结构中,引入并行结构和流水处理,得到并行双蝶算结构的快速傅立叶变换处理器,有效地提高了快速傅立叶变换处理器的运算速度。该并行结构中只包含若干简单的加法器,与背景技术中提到的方法相比,占用较少的硬件资源,尤其是乘法器资源,从而较好地解决了快速傅立叶变换处理器中的运算速度和硬件耗用量之间的矛盾。
附图说明
图1并行双蝶算处理示意图
具体实施方式
如图1所示,结合本发明的内容提供以下实施例:
将本发明的方法用于无线局域网标准IEEE 802.11a中的64点FFT处理器的设计,并以IEEE 802.11a中的时间参数(tFFT=3.2μs)为标准。
第一步,进行并行蝶算处理。64点的基四频率抽取FFT处理器分3级进行,每级处理64个数据,每次蝶算处理3个时钟读入4个数据,每一级耗用时钟数为none_stge=64/4×3+12=60个时钟,一次64点的FFT处理共耗用时钟数为nFFT=none_stage×3=60×3=180个时钟。如果采用60MHz的系统时钟,那么64点FFT处理器完成一次处理耗时180/60MHz=3μs<3.2μs。通过采用并行蝶算处理,所得FFT处理器已能达到协议标准。
第二步,采用双蝶算处理,对每一级数据进行分组,不同数据组采用不同的蝶算处理,如图1。第一级有15个非零数据组,进行并行蝶算处理,1个零数据组,进行简单蝶算处理,因而第一级处理耗用时钟数为15×4×3/4+12=57个时钟;第二级有12个非零数据组,4个零数据组,该级处理耗用时钟数为12×4×3/4+12=48个时钟;第三级为最后一级,全为零数据组,全部进行简单蝶算处理,故完成该级处理耗用时钟数为64/2+7=39个时钟。因而64点FFT处理器完成一次处理耗用时钟数为57+48+39=144个时钟。在60MHz系统时钟下,64点FFT处理器完成一次处理耗时144/60MHz=2.4μs。
并行双蝶算处理不仅很好地满足802.11a协议对FFT处理器的要求,而且极大的提高了FFT处理器的运算速度。另外并行蝶算处理和双蝶算处理都只是在传统双内存结构中增加了若干简单的加法器,所以硬件资源耗用量很少。

Claims (5)

1、一种确定并行双蝶算快速傅立叶变换处理器结构的方法,其特征在于,在蝶算单元内部以及蝶算单元之间引入了并行处理方法,首先进行并行蝶算处理,即将蝶算处理中只含加法器的处理与既含乘法器又含加法器的处理并行进行,得到并行蝶算结构,然后进行双蝶算处理,即将离散傅立叶变换的所有输入数据按照对应蝶算处理中是否含有乘法器分成非零数据组和零数据组,然后将两数据组的处理并行进行,得到并行双蝶算快速傅立叶变换处理器结构。
2、根据权利要求1所述的确定并行双蝶算快速傅立叶变换处理器结构的方法,其特征是,所述的并行蝶算处理,具体如下:
蝶算单元为快速傅立叶变换处理器的核心单元,基四频率抽取的蝶算单元先进行4点离散傅立叶变换处理,然后将结果与旋转因子相乘,
At=(A+C)+(B+D)    Bt=(A-C)-j(B-D)
Ct=(A+C)-(B+D)    Dt=(A-C)+j(B-D)                (1)
A′=At B ′ = B t × W N p , C ′ = C t × W N 2 p , D ′ = D t × W N 3 p - - - ( 2 )
其中A、B、C、D为蝶算单元的输入,At、Bt、Ct、Dt为4点离散傅立叶变换处理结果,WN p、WN 2p、WN 3p依次为Bt、Ct、Dt对应的旋转因子,A′、B′、C′、D′为蝶算单元的输出,将得到A′输出的处理与得到其他B′、C′、D′三个输出的处理并行进行。
3、根据权利要求1或2所述的确定并行双蝶算快速傅立叶变换处理器结构的方法,其特征是,有效提高硬件资源的利用率,通过在并行蝶算结构中引入流水线的方法,该方法分四步进行:
第三步,进行相应结果与旋转因子的复乘处理,一个复数乘法器由3个实数乘法器和5个实数加法器实现,3个实数乘法器并行处理,其前为3个并行加法器,其后为2个并行加法器,处理过程共需3个时钟;
第四步,将处理所得写入内存,3个时钟分两路写入4个数据,整个流水线长度为12个时钟。
4、根据权利要求1所述的确定并行双蝶算快速傅立叶变换处理器结构的方法,其特征是,所述的双蝶算处理,具体如下:
每次蝶算处理的四个输入与一个特定的p值相对应,将与某个p值相关的四个蝶算单元输入数据定义为一个蝶算单元数据组,定义与p=0相关的蝶算单元数据组为零数据组,否则为非零数据组,非零数据组的蝶算处理中含乘法器,采用并行蝶算处理,零数据组的蝶算处理中只含加法器,采用简单蝶算处理,将并行蝶算处理与简单蝶算处理并行进行,得到并行双蝶算结构。
5、根据权利要求1或4所述的确定并行双蝶算快速傅立叶变换处理器结构的方法,其特征是,所述的双蝶算处理,具体步骤如下:
第一步,输入输出数据处理,并行蝶算结构中每次蝶算处理3个时钟读入4个数据,在3个时钟内,双口RAM的一个端口读入3个数据,另一个端口读入1个数据,该端口在3个时钟内有2个时钟空闲,通过这两个时钟传输零数据组的数据进行简单蝶算处理;
第二步,简单蝶算处理单元的流水处理,在简单蝶算处理中引入与并行蝶算处理相应的流水延迟,即采用6个时钟从内存中读数据,简单蝶算处理3个时钟,向内存中写数据6个时钟,保证非零数据组和零数据组的同步传输;
第三步,最后一级的处理,基于蝶算单元的FFT处理器分若干级进行,在最后一级,输入数据全为零数据组,全部进行简单蝶算处理,并充分利用双口RAM中的两个端口并行传输数据,此时流水线长度为7个时钟。
CN 03141540 2003-07-10 2003-07-10 确定并行双蝶算快速傅立叶变换处理器结构的方法 Expired - Fee Related CN1259782C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03141540 CN1259782C (zh) 2003-07-10 2003-07-10 确定并行双蝶算快速傅立叶变换处理器结构的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03141540 CN1259782C (zh) 2003-07-10 2003-07-10 确定并行双蝶算快速傅立叶变换处理器结构的方法

Publications (2)

Publication Number Publication Date
CN1477802A CN1477802A (zh) 2004-02-25
CN1259782C true CN1259782C (zh) 2006-06-14

Family

ID=34155340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03141540 Expired - Fee Related CN1259782C (zh) 2003-07-10 2003-07-10 确定并行双蝶算快速傅立叶变换处理器结构的方法

Country Status (1)

Country Link
CN (1) CN1259782C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006109240A2 (en) * 2005-04-12 2006-10-19 Nxp B.V. Fast fourier transform architecture
CN100390782C (zh) * 2005-07-15 2008-05-28 北京大学深圳研究生院 一种实时快速傅立叶变换电路
CN101277283B (zh) * 2007-03-28 2010-10-20 中国科学院微电子研究所 快速傅立叶变换蝶型装置
CN101764778B (zh) * 2009-10-09 2012-12-19 重庆唐大科技有限公司 一种基带处理器和基带处理方法

Also Published As

Publication number Publication date
CN1477802A (zh) 2004-02-25

Similar Documents

Publication Publication Date Title
CN1109991C (zh) 流水线式快速傅里叶变换处理器
Jo et al. New continuous-flow mixed-radix (CFMR) FFT processor using novel in-place strategy
Lin et al. A dynamic scaling FFT processor for DVB-T applications
US5941940A (en) Digital signal processor architecture optimized for performing fast Fourier Transforms
CN112465110B (zh) 一种卷积神经网络计算优化的硬件加速装置
CN101154215B (zh) 基23频域取样快速傅立叶变换的硬件结构
CN103970718A (zh) 一种快速傅里叶变换实现装置及方法
Wang et al. Novel memory reference reduction methods for FFT implementations on DSP processors
CN1808419A (zh) 一种实时快速傅立叶变换电路
CN1259782C (zh) 确定并行双蝶算快速傅立叶变换处理器结构的方法
Lai et al. Low-computation-cycle, power-efficient, and reconfigurable design of recursive DFT for portable digital radio mondiale receiver
CN103186503B (zh) 一种fft/dft倒序排列系统与方法及其运算系统
CN104657334B (zh) 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用
CN1348141A (zh) 3780点离散傅里叶变换处理器系统及其结构
CN105975436A (zh) 一种SoC系统中通用可配置加速单元的IP电路
CN207529364U (zh) 一种并行处理器阵列结构
CN101764778B (zh) 一种基带处理器和基带处理方法
Jiang et al. Design of FFT processor with low power complex multiplier for OFDM-based high-speed wireless applications
Heo et al. Application-specific DSP architecture for fast Fourier transform
Cetin et al. Real-time fft computation using gpgpu for OFDM-based systems
Chang et al. An enhanced memory assignment scheme for memory-based FFT processor
Zhang et al. Small area high speed configurable FFT processor
CN102023963A (zh) 高速多模式时频域变换方法
He et al. A High Throughput Fully Parallel FFT with CSD Constant Multiplier
CN1320478C (zh) 离散变换运算设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060614