CN1259782C - 确定并行双蝶算快速傅立叶变换处理器结构的方法 - Google Patents
确定并行双蝶算快速傅立叶变换处理器结构的方法 Download PDFInfo
- 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
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、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,
其中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个时钟。
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)
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 | 重庆唐大科技有限公司 | 一种基带处理器和基带处理方法 |
-
2003
- 2003-07-10 CN CN 03141540 patent/CN1259782C/zh not_active Expired - Fee Related
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 |