CN1265294C - 基4和混合基(4+2)fft处理器地址映射方法和系统 - Google Patents

基4和混合基(4+2)fft处理器地址映射方法和系统 Download PDF

Info

Publication number
CN1265294C
CN1265294C CNB02152484XA CN02152484A CN1265294C CN 1265294 C CN1265294 C CN 1265294C CN B02152484X A CNB02152484X A CN B02152484XA CN 02152484 A CN02152484 A CN 02152484A CN 1265294 C CN1265294 C CN 1265294C
Authority
CN
China
Prior art keywords
address
data
twiddle factor
memory
dual
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
CNB02152484XA
Other languages
English (en)
Other versions
CN1504890A (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.)
Ningbo hi tech Zone Zhongke core integrated circuit technology Co., Ltd.
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB02152484XA priority Critical patent/CN1265294C/zh
Publication of CN1504890A publication Critical patent/CN1504890A/zh
Application granted granted Critical
Publication of CN1265294C publication Critical patent/CN1265294C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

一种基4和混合基(4+2)FFT处理器地址映射方法和系统,操作数存放在双端口存储器中;旋转因子存放在ROM中;确定操作数的读写地址;确定旋转因子地址。本发明充分利用了FFT算法本身的同址运算性质,使用4个数据存储体和3个旋转因子存储体,数据的输入和输出在同一个存储单元,每个周期能提供一个蝶形运算所需要的操作数,具有最大的并行性。按照本发明的旋转因子存放规则,在处理器工作期间,旋转因子只需要简单的增一方式寻址。本发明的地址映射技术适合N点(N为2的幂)的FFT计算,既有基4运算的高效率,也具有基2运算的计算范围。

Description

基4和混合基(4+2)FFT处理器地址映射方法和系统
技术领域
本发明涉及FFT处理器,特别涉及基4和混合基(4+2)FFT处理器的地址映射方法和系统。
背景技术
离散傅立叶变换(DFT)是描述离散信号时域和频域关系的重要数学工具,随着许多快速计算方法(FFT)的出现,它在数字信号处理和图像信号处理等方面得到了广泛的应用,是许多系统的核心运算。FFT对运算速度和数据存取速度都有很高的要求,计算一个n点基r的FFT,需要有(N/r)×logrN次蝶式运算,以及2N×logrN次数据存取操作。早期处理器大多通过提高运算并行性来获得高性能,数据并行度不高。随着运算部件的流水和并行处理,和数据访问速度相比,运算速度已经很快,对于FFT处理器来说,如何安排数据存储已经成为关键问题,特别需要提高数据吞吐能力。
发明内容
为解决上述问题,本发明的目的是优化FFT处理器的存储结构,通过地址映射,提供基4、混合基(4+2)FFT处理器并行数据访问能力。为实现上述目的,一种基4和混合基(4+2)FFT处理器地址映射方法,其特征在于包括步骤:
操作数存放在双端口存储器中;
旋转因子存放在ROM中;
确定操作数的读写地址,其中,存储体的地址为操作数序号按照4进制方式去掉最后一位的倒序值,体号为输入数地址按照4进制方式各位相加模4后的值;
确定旋转因子地址,其中,当运算点数为4的幂时,三个存储体R1,R2,R3分别存放指数为w,2w,3w的旋转因子,w的值为输入数地址按照4进制方式去掉最后一位的倒序值,存放时ROM的地址等于输入数据地址去掉最后一位;
当运算点数不为4的幂,但为2的幂时,处理器先做基4运算,最后一级做基2运算;基4运算的旋转因子形成方法和前面一样,最后一级基2运算旋转因子的指数项w的计算方法为对输入数地址去掉最低一位后按四进制倒序的方式产生,所需的2个旋转因子分别存放到R1和R3中,ROM中先存放基4运算的旋转因子,然后顺序存放基2运算的旋转因子。
本发明充分利用了FFT算法本身的同址性质,数据的输入和输出在同一个存储单元,具有最大的并行性。按照本发明的旋转因子存放规则,在处理器工作期间,旋转因子只需要简单的增一方式寻址。本发明的地址映射技术适合N点(N为2的幂)的FFT计算,既有基4运算的高效率,也具有基2运算的计算范围。
附图说明
图1是FFT处理器结构框图;
图2256点FFT的移位阵列;
图3数据交换单元;
图4是64点FFT计算的地址映射关系。
具体实施方式
本发明的FFT处理器结构框图见图1,它主要由以下几个部分组成:蝶形运算部件每个周期能完成一个基4或两个基2运算;操作数据按照一定的规则存储在双端口存储器中,双端口存储器分为4个存储体(M0,M1,M2,M3),能完成每次4个输入数据、4个输出数据的并行读写;根据地址映射算法的要求,在运算单元和存储器间还需要一个数据交换部件;旋转因子保存到ROM中,它们分为三个存储体,提供给一个基4蝶形运算所需要的三个旋转因子;系统控制部件负责处理器内部数据的控制和同步:外部数据接口则负责和外部数据的通信。
1.背景介绍
N个样本点的DFT定义为:
x k = Σ n = 0 N - 1 x n W N k - - - ( 1 )
其中 W N = e - j · N ‾ , N=2n,k=0,1,…,N-1
令N=2q×4r,q等于0或者1。
对于N个样本点的任何一个输入操作数地址A,记
A = Σ i = 0 r 4 i · A ( i ) , A ( i ) = 0,1,2,3 ; r = log 4 N - - - ( 2 )
如果q=0,则A(r)=0;q=1,则A(r)=0,1。
2.操作数地址映射技术
把A写作: A = 4 · Σ i = 1 r 4 i - 1 · A ( i ) + A ( 0 ) - - - ( 3 )
构造 B = 4 · Σ i = 1 r 4 i - 1 · A ( i ) + ( Σ i = 0 r A ( i ) ) mod 4 - - - ( 4 )
这样,对于任何一个地址A(0≤A<N),A和B是一一对应的。
m = Σ i = 1 r 4 i - 1 · A ( i ) , b = ( Σ i = 0 r A ( i ) ) mod 4 , 则B=4m+b    (5)
把地址A映射到2维的存储器上,存储器分成四个存储体,由b对应体号,m对应体内地址。图4是64个地址的映射关系,其中,灰色部分每一行代表一个存储体。
3.旋转因子的地址映射技术
当q=0时处理器只进行基4蝶形运算,一个基4蝶形运算需要三个旋转因子Ww,W2w,W3w,其中w计算方法如式(6):
W = 4 r - 1 - p · Σ i = 0 p - 1 4 i A ( r - 1 - i ) , p = 0,1 , · · · , r - 1 - - - ( 6 )
为了实现三个旋转因子的同时读取,把它们分别存放到三个存储体中。即R1存放Ww,R2存放W2w,R2存放W3w。旋转因子是预先存放到ROM中的,根据旋转因子的性质,按照最后一级的顺序存放。即 w = Σ i - 1 r - 2 4 i A ( r - 1 - i ) , 即对输入数地址去掉A(0)后按四进制倒序的方式产生,存放时ROM的地址等于输入数据地址右移一个四进制数(去掉A(0))。
如果q=1,处理器先进行r级基4蝶形运算,最后同时进行2个基2的蝶形运算。此时基4运算的旋转因子的指数项w的计算式子为 w = 2 · Σ i = 0 r - 2 4 i A ( r - 1 - i ) , 其产生存储方法和q=0一样。最后一级基2运算旋转因子的指数项w的计算方法为对输入数地址去掉最低一位后按四进制倒序的方式产生,所需的2个旋转因子分别存放到R1和R3中,ROM中先存放基4运算的旋转因子,然后顺序存放基2运算的旋转因子。
4.读数据地址形成方法
第p级的蝶形运算的操作数地址只是A(p)位不同,我们把式(5)中的地址按照A(0)的取值分4组来进行处理,这样,在一组中,蝶形运算的四个操作数地址映射后的存储体地址有一个4p·A(p)的增量关系。
为了达到分组处理和产生4p·A(p)的目的,设计了一个二维的移位阵列S(s1,s2),其中s1对应A(0),s2=r,实线是在s1方向循环移位,需线同时向两个方向移位。图2是256点FFT的移位阵列,在一级处理中,A(0)每变化一次,沿实线移位一次,完成一级后,按虚线方向移位,同时进行A(3)到A(0)的变化和产生4p·A(p)值。
有了移位阵列,操作数地址产生可以按照如下方法来实现。
1)初始数据存放规则
输入数据存放规则:N点操作数按照式(5)方法存储在四个存储体中,其中b对应存储体号,r对应体内地址。
旋转因子存放规则:旋转因子按照第3步的方法分别存储在三个存储体中。
移位阵列的初始值:S(0)=0,S(1)=4r-1,S(2)=2×4r-1,S(3)=3×4r-1
其它辅助变量:A表示已经完成的级数,初值为0,B表示后续级数,初值为r-1。
2)读数据地址形成过程
for p=r-1 to 0(做r级迭代运算)
begin
for i=0 to 4A-1
for k=0 to 3(针对A(0)分组处理)
begin
for j=0 to 4B-1-1(注:当B-1小于0时,定义这里的4B-1值为0)
         begin
                if(j=0)
Addr(b)=S(b),b=0,1,2,3
Else
Addr(b)=Addr(b)+1,b=0,1,2,3
      end
         S按实线移位一次
      end
A=A+1;B=B-1
S按虚线移位一次
End
这里Addr(b),b=0,1,2,3就是发给四个存储体的地址。
5.写数据地址形成过程
由于本方法为完全的同址运算,写数据时的地址和读数据相同,在时序上要后移一个蝶形运算所需要的周期数。
6.运算时旋转因子地址生成方法
按照这种存放规则,蝶形运算内,三个旋转因子的地址是一样的,它们在第4步中同时产生,当q=0时,地址为:romaddr=i;q=1时仅最后一级不同,为romaddr=i+r。
7.数据交换单元的实现
在进行数据读写操作时,式(5)规定了存储体到蝶形运算输入的映射关系。根据A(0)有图3的对应关系,在地址形成过程时,把第4步中的K作为命令字发送到数据交换单元中,就可以实现正确的蝶形运算所要求的顺序。

Claims (6)

1.一种基4和混合基(4+2)FFT处理器地址映射方法,其特征在于包括步骤:
操作数存放在双端口存储器中;
旋转因子存放在ROM中;
确定操作数的读写地址,其中,存储体的地址为操作数序号按照4进制方式去掉最后一位的倒序值,体号为输入数地址按照4进制方式各位相加模4后的值;
确定旋转因子地址,其中,当运算点数为4的幂时,三个存储体R1,R2,R3分别存放指数为w,2w,3w的旋转因子,w的值为输入数地址按照4进制方式去掉最后一位的倒序值,存放时ROM的地址等于输入数据地址去掉最后一位;
当运算点数不为4的幂,但为2的幂时,处理器先做基4运算,最后一级做基2运算;基4运算的旋转因子形成方法和前面一样,最后一级基2运算旋转因子的指数项w的计算方法为对输入数地址去掉最低一位后按四进制倒序的方式产生,所需的2个旋转因子分别存放到R1和R3中,ROM中先存放基4运算的旋转因子,然后顺序存放基2运算的旋转因子。
2.按权利要求1所述的方法,其特征在于在所述的FFT处理器上操作数存储器分成4个相互独立的存储体。
3.按权利要求1所述的方法,其特征在于在所述的FFT处理器上旋转因子存储器分成3个相互独立的存储体。
4.一种基4和混合基(4+2)FFT处理器地址映射系统,其特征在于包括:
系统控制部件,用于处理器内部数据的控制和同步,直接控制蝶形运算部件、数据交换单元、旋转因子地址生成单元和数据地址生成单元,并和外部数据接口进行交互;
蝶形运算部件,在每个周期内完成一个基4或两个基2的运算,运算的原始数据存放在双端口存储器中,并经由数据交换单元进行数据交换,旋转因子存在于3个ROM存储体中;运算的结果将经过数据交换单元写回到双端口存储器中;
双端口存储器,用于存储输入数据和输出数据的并行读写;
旋转因子ROM,用于存储旋转因子;
数据交换单元,用户在双端口存储器和蝶形运算部件之间交换数据,它由系统控制部件进行控制,在读取双端口存储器时,数据交换单元把双端口存储体的数据传送到蝶形运算部件的相应数据接收端口上,在写双端口存储器时,数据交换单元把数据蝶形运算部件运算完的结果传送到的相应双端口存储体上;
数据地址生成单元,用于生成数据地址,实现对双端口存储器的读写;
旋转因子地址生成单元,用于生成旋转地址,实现对ROM存储器的读写。
5.按权利要求4所述的系统,其特征在于所述的双端口存储器是4个独立的存储体。
6.按权利要求4所述的系统,其特征在于所述的旋转因子ROM是3个独立的存储体。
CNB02152484XA 2002-12-03 2002-12-03 基4和混合基(4+2)fft处理器地址映射方法和系统 Expired - Fee Related CN1265294C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB02152484XA CN1265294C (zh) 2002-12-03 2002-12-03 基4和混合基(4+2)fft处理器地址映射方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB02152484XA CN1265294C (zh) 2002-12-03 2002-12-03 基4和混合基(4+2)fft处理器地址映射方法和系统

Publications (2)

Publication Number Publication Date
CN1504890A CN1504890A (zh) 2004-06-16
CN1265294C true CN1265294C (zh) 2006-07-19

Family

ID=34234767

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02152484XA Expired - Fee Related CN1265294C (zh) 2002-12-03 2002-12-03 基4和混合基(4+2)fft处理器地址映射方法和系统

Country Status (1)

Country Link
CN (1) CN1265294C (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101160729B (zh) * 2004-06-23 2011-09-14 Nxp股份有限公司 用于并行处理递归数据的定址体系结构
CN100378719C (zh) * 2005-06-16 2008-04-02 中国航天时代电子公司第七七一研究所 基2单路深度延时反馈的流水线构成fft处理器的实现方法
CN101330489A (zh) * 2008-07-28 2008-12-24 中兴通讯股份有限公司 快速傅立叶变换/快速傅立叶反变换处理器及其处理方法
CN101729463A (zh) * 2008-10-24 2010-06-09 中兴通讯股份有限公司 一种实现快速傅立叶变换、反变换的硬件装置及方法
CN101650706B (zh) * 2009-06-30 2012-02-22 重庆重邮信科通信技术有限公司 Fft分支计算方法及装置
CN102045279B (zh) * 2009-10-21 2013-11-06 中兴通讯股份有限公司 一种旋转因子的生成方法及装置
CN102104773B (zh) * 2009-12-18 2013-03-20 上海华虹集成电路有限责任公司 用于实现可变数据个数的fft/ifft处理器的基4模块
CN102855222A (zh) * 2011-06-27 2013-01-02 中国科学院微电子研究所 并行分支蝶形单元的fft的地址映射方法及装置
WO2013097217A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 一种多粒度并行fft蝶形计算的方法及相应的装置
CN102411491B (zh) * 2011-12-31 2014-01-29 中国科学院自动化研究所 一种用于并行fft计算的数据存取方法及装置
CN102591796B (zh) * 2011-12-31 2014-09-17 中国科学院自动化研究所 并行位反序装置和方法
WO2013097219A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 一种用于并行fft计算的数据存取方法及装置
CN103455281B (zh) * 2012-05-30 2018-01-09 博科通讯系统有限公司 由单端口存储器块实现的两端口存储器
CN103034621B (zh) * 2012-12-13 2015-08-19 合肥工业大学 基2×k并行fft架构的地址映射方法及系统
CN103544111B (zh) * 2013-10-08 2016-06-01 北京理工大学 一种基于实时性处理的混合基fft方法
CN103699515B (zh) * 2013-12-27 2017-01-18 中国科学院计算技术研究所 一种fft并行处理装置和方法
US10783216B2 (en) * 2018-09-24 2020-09-22 Semiconductor Components Industries, Llc Methods and apparatus for in-place fast Fourier transform
CN109657192B (zh) * 2018-12-10 2022-10-11 西安微电子技术研究所 一种用于fft中旋转因子乘运算的操作数地址生成方法
CN114356409B (zh) * 2021-01-29 2024-06-18 展讯半导体(成都)有限公司 处理基为模6为零点数dft的方法、设备、装置及存储介质
CN114995765B (zh) * 2022-06-06 2023-11-21 南京创芯慧联技术有限公司 数据处理方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN1504890A (zh) 2004-06-16

Similar Documents

Publication Publication Date Title
CN1265294C (zh) 基4和混合基(4+2)fft处理器地址映射方法和系统
CN101290613B (zh) Fft处理器的数据存储系统和方法
CN101630308B (zh) 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法
CN1828773A (zh) 多维数组在动态随机存取存储器上的快速读写方法及装置
US20040034677A1 (en) Method and system for performing a fast-fourier transform
WO2013097219A1 (zh) 一种用于并行fft计算的数据存取方法及装置
CN1655143A (zh) 使用大小减半的存储器的快速傅立叶变换处理器和方法
Reisis et al. Conflict-free parallel memory accessing techniques for FFT architectures
CN110647719A (zh) 基于fpga的三维fft计算装置
WO2013097236A1 (zh) 多粒度并行fft计算装置
TWI708193B (zh) 應用於卷積神經網路之記憶體適應性處理方法及其系統
CN103034621B (zh) 基2×k并行fft架构的地址映射方法及系统
CN101082906A (zh) 一种低存储器开销的固定基fft处理器及其方法
CN105718424B (zh) 一种并行快速傅立叶变换处理方法
CN102541813B (zh) 一种多粒度并行fft蝶形计算的方法及相应的装置
WO2013097235A1 (zh) 并行位反序装置和方法
CN101398784A (zh) 一种二维寻址方法及装置
CN114201725B (zh) 基于多模可重构fft的窄带通信信号处理方法
CN102411491B (zh) 一种用于并行fft计算的数据存取方法及装置
US20210255832A1 (en) Bit string accumulation
CN106469134B (zh) 一种用于fft处理器的数据无冲突存取方法
CN1858998A (zh) 数字音频滤波器的无乘法实现方法
JP4159761B2 (ja) Fftのためのインプレイスメモリ管理
Ma et al. A novel conflict-free parallel memory access scheme for FFT constant geometry architectures
CN106354693A (zh) 一种fft处理器的块浮点方法

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
ASS Succession or assignment of patent right

Owner name: NINGBO HIGH + NEW ZONE ZHONGKE XINYUAN INTEGRATED

Free format text: FORMER OWNER: INSTITUTE OF COMPUTING TECHNOLOGY, CHINESE ACADEMY OF SCIENCES

Effective date: 20121206

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: NINGBO, ZHEJIANG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20121206

Address after: Room 622, Pioneer Building, hi tech Zone, Zhejiang, Ningbo

Patentee after: Ningbo hi tech Zone Zhongke core integrated circuit technology Co., Ltd.

Address before: 100080 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

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

Granted publication date: 20060719

Termination date: 20121203