CN101354701A - 一种实现基4 fft/ifft计算的fft处理器 - Google Patents

一种实现基4 fft/ifft计算的fft处理器 Download PDF

Info

Publication number
CN101354701A
CN101354701A CNA2008100460762A CN200810046076A CN101354701A CN 101354701 A CN101354701 A CN 101354701A CN A2008100460762 A CNA2008100460762 A CN A2008100460762A CN 200810046076 A CN200810046076 A CN 200810046076A CN 101354701 A CN101354701 A CN 101354701A
Authority
CN
China
Prior art keywords
data
fft
point
result data
ifft
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.)
Granted
Application number
CNA2008100460762A
Other languages
English (en)
Other versions
CN101354701B (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.)
Sichuan Hongwei Technology Co Ltd
Original Assignee
Sichuan Hongwei Technology Co Ltd
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 Sichuan Hongwei Technology Co Ltd filed Critical Sichuan Hongwei Technology Co Ltd
Priority to CN2008100460762A priority Critical patent/CN101354701B/zh
Publication of CN101354701A publication Critical patent/CN101354701A/zh
Application granted granted Critical
Publication of CN101354701B publication Critical patent/CN101354701B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种实现基4 FFT/IFFT计算的FFT处理器,包括FFT蝶形运算单元、数据存储器以及一个用于接收FFT蝶形运算单元输出的四点计算结果数据的数据交换单元;如果进行的是IFFT计算,则数据交换单元工作,将四点计算结果数据中的第二点数据与第四点数据进行交换,交换后的计算结果数据存入数据存储器中;如果进行的是FFT计算,则数据交换单元不工作,四点计算结果数据不进行数据交换,FFT蝶形运算单元直接将四点计算结果数据存入数据存储器中。在本发明中,用同一FFT蝶形运算单元,实现了FFT和IFFT计算,从而既简化了硬件设计又减小了芯片面积,最关键的是可以在同一个FFT处理器上实现FFT和IFFT计算。

Description

一种实现基4 FFT/IFFT计算的FFT处理器
技术领域
本发明涉及一种实现基4FFT/IFFT计算的FFT处理器。
背景技术
数字处理技术的发展使得广播从模拟方式向数字方式过渡成为一种趋势。目前,部分无线广播已经采用了数字传输,其它的正准备采用数字传输方式。数字音频广播采用了正交频分多路复用(OFDM)技术,其中采用的FFT处理器可以处理长度为256、512、1024、2048四种数字音频广播(DAB)信号。
通常,用基2算法来处理长度为2n的DAB信号的FFT运算,如256、512、1024、2048等;用基4的算法来处理长度为4n的DAB信号的FFT运算,如256、1024等。基2算法和基4算法相比,运算速度慢。但是,基4算法不能处理长度为512、2048等非4n的数据。
为解决上述问题,现有技术中,如2004年08月11日公开的,公开号为CN1520071A,名称为“含有FFT处理器的数字音频广播接收器及其操作方法”的中国发明专利申请公开说明书公开了一种含FFT处理器的数字音频广播接收器,如图1所示,包括地址发生器,用于生成预定个数的写地址和读地址;快速FFT处理器,用于重复FFT模式的数据,生成预定个数的数据,并利用预定个数的数据实现快速FFT;以及控制器,用于根据FFT处理器的操作,控制地址发生器生成写地址和读地址。预定个数是4096个,并且FFT处理器使用4096个数据来实现快速付里叶变换。这样,利用重复FFT模式的数据生成的4096个数据来实现基于基4的运算,对于2048、1024、256和512不同长度的DAB信号可以用结构相同的FFT处理器进行处理,从而简化了它的硬件结构和FFT的运算控制。
但上述的基4算法的FFT处理器只能处理基4输入数据的FFT计算,不能同时处理基4输入数据的IFFT计算。
发明内容
本发明的目的在于克服现有技术的不足,提供一种实现基4FFT/IFFT计算的FFT处理器。
为了达到上述发明目的,本发明的一种实现基4FFT/IFFT计算的FFT处理器,包括FFT蝶形运算单元和数据存储器,其特征在于,还包括:
一个数据交换单元,用于接收FFT蝶形运算单元输出的四点计算结果数据;
如果当前进行的是IFFT计算,则数据交换单元工作,数据交换单元将四点计算结果数据中的第二点数据与第四点数据进行交换,交换后的计算结果数据存入数据存储器中;
如果当前进行的是FFT计算,则数据交换单元不工作,四点计算结果数据不进行数据交换,FFT蝶形运算单元直接将四点计算结果数据存入数据存储器中。
本发明的发明目的是这样实现的:
按时间抽取的基4FFT计算推导公式为:
A′=A+BWp+CW2p+DW3p
B′=A+jBWp-CW2p-jDW3p
C′=A-BWp+CW2p-DW3p
D′=A-jBWp-CW2p+jDW3p    (1)
按时间抽取的基4IFFT计算推导公式为:
A″=A+BWp+CW2p+DW3p
B″=A-jBWp-CW2p+jDW3p
C″=A-BWp+CW2p-DW3p
D″=A+jBWp-CW2p-jDW3p    (2)
其中,A、B、C、D为蝶形运算单元的四点输入数据,A′、B′、C′、D′为蝶形运算单元输出的四点FFT计算结果数据,A″、B″、C″、D″是蝶形运算单元输出的四点IFFT计算结果数据,W=e-j2π/N
如式(1)(2)所示,从两式中可以看出,FFT计算中的A′、B′、C′、D′分别和IFFT计算中的A″、D″、C″、B″结构相同。在本发明中,利用这一关系,用相同的电路结构,即同一FFT蝶形运算单元,实现了FFT和IFFT计算:在进行IFFT计算时,多了一个数据交换过程,即数据交换单元将FFT蝶形运算单元输出的四点计算结果数据中的第二点数据与第四点数据进行交换,从而既简化了硬件设计又减小了芯片面积,最关键的是可以在同一个FFT处理器上实现FFT和IFFT计算。
附图说明
图1是一种现有技术的FFT处理器结构图;
图2是本发明FFT处理器一种具体实施方式的结构图;
图3是图2所示的FFT蝶形运算单元的一种具体实施方式的结构图;
图4是16点的基4算法的FFT信号流图。
具体实施方式
为更好地理解本发明,下面结合具体实施方式对本发明进行更为详细描述。需要提醒注意的是,尽管相似部件出现在不同附图中,但它们被赋予相似的附图标记。在以下的描述中,当采用的已知功能和设计的详细描述也许会淡化本发明的主题内容时,这些描述在这儿将被忽略。
图1是一种现有技术的FFT处理器结构图。现有技术的FFT处理器在背景技术中已有描述,在此不再赘述。
图2是本发明FFT处理器一种具体实施方式的结构图。在本实施例中,存储器地址控制单元605,控制输入数据和旋转因子在数据存储器RAM 601及旋转因子存储器ROM 603中的存放位置;FFT蝶形运算单元602每次从数据存储器RAM 601中取四点数据,从旋转因子存储器ROM 603中取出相应的旋转因子,进行蝶形运算。
在本实施例中,所述的FFT处理器通过一控制信号IFFT_on控制数据交换单元606是否工作,同时控制蝶形运算单元602将计算结果数据传递给数据交换单元606还是存储器RAM 601。
如果当前进行的是IFFT计算,则控制信号IFFT_on有效,数据交换单元606工作,蝶形运算单元602将四点计算结果数据传递给数据交换单元606,数据交换单元606将四点计算结果数据中的第二点结果数据与第四点结果数据进行交换,交换后的计算结果数据存入数据存储器RAM 601中;
如果当前进行的是FFT计算,则控制信号IFFT_on无效,数据交换单元606不工作,蝶形运算单元602将四点计算结果数据传递给存储器RAM 601,直接将四点计算结果数据存入数据存储器中RAM 601。
当计算N=4n点数据的FFT/IFFT变换时,共需要n级迭代运算,每一级需要进行N/4次的蝶形运算;当n级迭代运算进行完之后就得到了N点数据的FFT/IFFT变换结果。从图4的信号流图可以看出,当输入数据是按照自然顺序输入时,FFT/IFFT变换结果数据是乱序的。整序模块604实现将结果数据整序为自然顺序。
在计算IFFT运算时,多了一个数据交换过程,控制信号IFFT_on用来控制数据交换单元606是否工作。当进行IFFT运算时,控制信号IFFT_on信号有效,数据交换单元606工作,将四点计算结果数据中的第二点数据与第四点数据交换后输出,从而既简化了硬件设计又减小了芯片面积,最关键的是可以在同一个FFT处理器上实现FFT和IFFT计算。
图3是图2所示的FFT蝶形运算单元的一种具体实施方式的结构图。从公式(1)或(2)中可知,在进行四点蝶形运算时,除输入数据A外,其他三点数据都需要和旋转因子进行复数相乘。在本实施例中,复数相乘采用CORDIC算法实现。B、C、D三点输入数据采用CORDIC算法实现和对应的旋转因子Wp、W2p、W3p相乘后结合输入数据A进行加减运算得到四点蝶形运算结果数据。其中,
Figure A20081004607600061
用来实现和j的相乘,即实现复数的实虚部交换。
图4是16点的基4算法的FFT信号流图。图中,输入数据是按照自然顺序输入的。N=16=42,所以需要进行2级的迭代运算,每一级需要进行N/4=16/4=4次蝶形运算。计算输出结果是乱序的。
尽管上面对本发明说明性的具体实施方式进行了描述,但应当清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1、一种实现基4 FFT/IFFT计算的FFT处理器,包括FFT蝶形运算单元和数据存储器,其特征在于,还包括:
一个数据交换单元,用于接收FFT蝶形运算单元输出的四点计算结果数据;
如果当前进行的是IFFT计算,则数据交换单元工作,数据交换单元将四点计算结果数据中的第二点数据与第四点数据进行交换,交换后的计算结果数据存入数据存储器中;
如果当前进行的是FFT计算,则数据交换单元不工作,四点计算结果数据不进行数据交换,FFT蝶形运算单元直接将四点计算结果数据存入数据存储器中。
2、根据权利要求1所述的实现基4 FFT/IFFT计算的FFT处理器,其特征在于,所述的FFT处理器通过一控制信号控制数据交换单元是否工作,同时控制蝶形运算单元将计算结果数据传递给数据交换单元还是存储器。
如果当前进行的是IFFT计算,则控制信号有效,数据交换单元工作,蝶形运算单元将四点计算结果数据传递给数据交换单元,数据交换单元将四点计算结果数据中的第二点结果数据与第四点结果数据进行交换,交换后的计算结果数据存入数据存储器中;
如果当前进行的是FFT计算,则控制信号无效,数据交换单元不工作,蝶形运算单元将四点计算结果数据传递给存储器,直接将四点计算结果数据存入数据存储器中。
CN2008100460762A 2008-09-16 2008-09-16 一种实现基4fft/ifft计算的fft处理器 Expired - Fee Related CN101354701B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100460762A CN101354701B (zh) 2008-09-16 2008-09-16 一种实现基4fft/ifft计算的fft处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100460762A CN101354701B (zh) 2008-09-16 2008-09-16 一种实现基4fft/ifft计算的fft处理器

Publications (2)

Publication Number Publication Date
CN101354701A true CN101354701A (zh) 2009-01-28
CN101354701B CN101354701B (zh) 2010-08-11

Family

ID=40307516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100460762A Expired - Fee Related CN101354701B (zh) 2008-09-16 2008-09-16 一种实现基4fft/ifft计算的fft处理器

Country Status (1)

Country Link
CN (1) CN101354701B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611667A (zh) * 2011-01-25 2012-07-25 中兴通讯股份有限公司 随机接入检测fft/ifft处理方法及装置
WO2015058558A1 (zh) * 2013-10-23 2015-04-30 腾讯科技(深圳)有限公司 问题推荐方法、装置及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611667A (zh) * 2011-01-25 2012-07-25 中兴通讯股份有限公司 随机接入检测fft/ifft处理方法及装置
WO2015058558A1 (zh) * 2013-10-23 2015-04-30 腾讯科技(深圳)有限公司 问题推荐方法、装置及系统

Also Published As

Publication number Publication date
CN101354701B (zh) 2010-08-11

Similar Documents

Publication Publication Date Title
Lin et al. A dynamic scaling FFT processor for DVB-T applications
Lin et al. Design of an FFT/IFFT processor for MIMO OFDM systems
Tang et al. An area-and energy-efficient multimode FFT processor for WPAN/WLAN/WMAN systems
Lin et al. A 1-gs/s fft/ifft processor for uwb applications
Saeed et al. Efficient FPGA implementation of FFT/IFFT processor
Chen et al. Hardware efficient mixed radix-25/16/9 FFT for LTE systems
Lee et al. Balanced binary-tree decomposition for area-efficient pipelined FFT processing
CN109359267A (zh) 一种基于动态截位的低复杂度无乘法器定点fft优化方法
US20070192394A1 (en) Processor and method for performing a fast fourier transform and/or an inverse fast fourier transform of a complex input signal
Kim et al. High speed eight-parallel mixed-radix FFT processor for OFDM systems
Li et al. A 128/256-point pipeline FFT/IFFT processor for MIMO OFDM system IEEE 802.16 e
CN107391439B (zh) 一种可配置快速傅里叶变换的处理方法
CN101354701B (zh) 一种实现基4fft/ifft计算的fft处理器
US8166088B2 (en) Fast fourier transform processor
Kim et al. Novel shared multiplier scheduling scheme for area-efficient FFT/IFFT processors
US8010588B2 (en) Optimized multi-mode DFT implementation
Nash High-throughput programmable systolic array FFT architecture and FPGA implementations
CN105608054B (zh) 基于lte系统的fft/ifft变换装置及方法
Lin et al. Expandable MDC-based FFT architecture and its generator for high-performance applications
Heo et al. Application-specific DSP architecture for fast Fourier transform
KR100810490B1 (ko) 고속 푸리에 변환 장치 및 이를 포함하는 직교 주파수 분할다중화 수신기
Leng et al. A novel 3780-point FFT processor scheme for the time domain synchronous OFDM system
CN112149046A (zh) 一种基于并行时分复用技术的fft处理器及处理方法
Yuan et al. A 256-point dataflow scheduling 2× 2 MIMO FFT/IFFT processor for IEEE 802.16 WMAN
CN110069746A (zh) 一种应用于td-lte中点数可变的ifft处理装置

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100811

Termination date: 20160916

CF01 Termination of patent right due to non-payment of annual fee