CN101354701A - 一种实现基4 fft/ifft计算的fft处理器 - Google Patents
一种实现基4 fft/ifft计算的fft处理器 Download PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 238000013461 design Methods 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000255777 Lepidoptera Species 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种实现基4 FFT/IFFT计算的FFT处理器,包括FFT蝶形运算单元、数据存储器以及一个用于接收FFT蝶形运算单元输出的四点计算结果数据的数据交换单元;如果进行的是IFFT计算,则数据交换单元工作,将四点计算结果数据中的第二点数据与第四点数据进行交换,交换后的计算结果数据存入数据存储器中;如果进行的是FFT计算,则数据交换单元不工作,四点计算结果数据不进行数据交换,FFT蝶形运算单元直接将四点计算结果数据存入数据存储器中。在本发明中,用同一FFT蝶形运算单元,实现了FFT和IFFT计算,从而既简化了硬件设计又减小了芯片面积,最关键的是可以在同一个FFT处理器上实现FFT和IFFT计算。
Description
技术领域
本发明涉及一种实现基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进行加减运算得到四点蝶形运算结果数据。其中,用来实现和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计算,则控制信号无效,数据交换单元不工作,蝶形运算单元将四点计算结果数据传递给存储器,直接将四点计算结果数据存入数据存储器中。
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)
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 | 腾讯科技(深圳)有限公司 | 问题推荐方法、装置及系统 |
-
2008
- 2008-09-16 CN CN2008100460762A patent/CN101354701B/zh not_active Expired - Fee Related
Cited By (2)
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 |