CN110941792A - 用于执行就地快速傅里叶变换的信号处理器、系统和方法 - Google Patents
用于执行就地快速傅里叶变换的信号处理器、系统和方法 Download PDFInfo
- Publication number
- CN110941792A CN110941792A CN201910798797.7A CN201910798797A CN110941792A CN 110941792 A CN110941792 A CN 110941792A CN 201910798797 A CN201910798797 A CN 201910798797A CN 110941792 A CN110941792 A CN 110941792A
- Authority
- CN
- China
- Prior art keywords
- sub
- butterfly
- data element
- memory
- memory space
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000011065 in-situ storage Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 34
- 239000000872 buffer Substances 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 230000014509 gene expression Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 5
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 4
- 101150046378 RAM1 gene Proteins 0.000 description 4
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 4
- RVRCFVVLDHTFFA-UHFFFAOYSA-N heptasodium;tungsten;nonatriacontahydrate Chemical compound O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[W].[W].[W].[W].[W].[W].[W].[W].[W].[W].[W] RVRCFVVLDHTFFA-UHFFFAOYSA-N 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 241000470001 Delaya Species 0.000 description 2
- 241000255777 Lepidoptera Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101000630134 Homo sapiens Syncollin Proteins 0.000 description 1
- 102100026185 Syncollin Human genes 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Complex Calculations (AREA)
Abstract
本发明题为“用于执行就地快速傅里叶变换的信号处理器、系统和方法”。本发明涉及用于执行就地快速傅里叶变换的信号处理器、系统和方法。根据各种实施方案,该装置包括RAM,RAM具有被划分成多个子存储器空间的单地址空间,其中子存储器空间的数量是FFT的长度的函数,使得两个输入始终来自不同的子存储器,两个输出也是如此。根据各种实施方案,该装置还可包括除法电路,除法电路被配置为执行“逐位”除法操作以便将来自上述单地址空间的地址转换为特定子存储器及其内的地址。根据各种实施方案,该装置还可包括能够执行蝶式操作的蝶式处理器。
Description
技术领域
本发明涉及用于执行就地快速傅里叶变换的信号处理器、系统和方法。
背景技术
诸如通信系统、信号处理系统和图像处理系统的各种应用利用各种信号处理操作,诸如快速傅里叶逆变换(IFFT)操作、快速傅里叶变换(FFT)操作等。为了执行这些操作,该系统可采用专用处理器来执行各种计算。一种类型的此类专用处理器可“就地”执行操作。在“就地”FFT操作的情况下,从存储器中的多个位置读取输入,并且将相同数量的输出写回到相同位置,从而覆写所输入的数据。在采用仅一个单端口存储器的情况下,必须按一次一个元素的方式读取数据,然后按一次一个元素的方式写回数据。因此存储器带宽变成专用处理器的速度的限制因素。将存储器划分成较小数量的子存储器以避免该带宽限制并不那么简单-在算法中的各个点处,可能需要FFT对来自相同子存储器的超过一个元素进行操作以执行算法的一个步骤,这会使操作慢下来。
发明内容
本发明涉及用于执行就地快速傅里叶变换的信号处理器、系统和方法。
本发明所解决的技术问题是用于执行FFT的常规系统由于具有单端口存储器且会向相同子存储器读取和写入而具有较慢操作速度。
根据各种实施方案,该装置包括RAM,该RAM具有被划分成多个子存储器空间的单地址空间,其中子存储器空间的数量是FFT的长度的函数,使得两个输入始终来自不同的子存储器,两个输出也是如此。根据各种实施方案,该装置还可包括除法电路,该除法电路被配置为执行“逐位”除法操作以便将来自上述单地址空间的地址转换为特定子存储器及其内的地址。根据各种实施方案,该装置还可包括能够执行蝶式操作的蝶式处理器。
根据第一方面,被配置为执行就地快速傅里叶变换(FFT)的信号处理器包括:具有单地址空间的随机存取存储器(RAM),其中该RAM被划分成固定数量的子存储器空间,并且其中该固定数量与FFT的长度互质;和蝶式处理器,该蝶式处理器连接到RAM并且被配置为:同时从固定数量的子存储器空间中的第一子存储器空间读取第一数据元素;以及从固定数量的子存储器空间中的第二子存储器空间读取第二数据元素;并且同时将第三数据元素写入到固定数量的子存储器空间中的第三子存储器空间;以及将第四数据元素写入到固定数量的子存储器空间中的第四子存储器空间。
在上述信号处理器的一个实施方案中,每个子存储器空间根据以下表达式与子存储器数量、分割地址和外部地址相关:As=floor(Ae/M),并且m=Ae-M×As,其中M是子存储器空间的固定数量,m是子存储器数量,As是分割地址,并且Ae是外部地址。
在上述信号处理器的一个实施方案中,每个子存储器空间包括数据缓冲区,该数据缓冲区被配置为延迟将第五数据元素写入到第一子存储器空间和第二子存储器空间之一。
在上述信号处理器的一个实施方案中:蝶式处理器执行总数为H的蝶式处理操作以完成就地FFT;总数H中的每个蝶式处理操作在核心时钟的单个周期内执行;并且总数为H的蝶式处理操作在数量为K的核心时钟周期内完成,其中K等于H。
根据第二方面,用于执行就地快速傅里叶变换(FFT)的方法包括:提供具有单地址空间的主存储装置,其中该主存储装置按固定数量划分以形成多个子存储器空间,其中子存储器空间的固定数量与FFT的长度互质;使用蝶式处理器执行第一蝶式操作,该第一蝶式操作包括:同时从所述多个子存储器空间中的第一子存储器空间读取第一数据元素;以及从所述多个子存储器空间中的第二子存储器空间读取第二数据元素;处理第一数据元素和第二数据元素;并且将经处理的第一数据元素写入到第一子存储器空间;以及将经处理的第二数据元素写入到第二子存储器空间;使用蝶式处理器执行第二蝶式操作,该第二蝶式操作包括:从第一子存储器空间读取第三数据元素;并且延迟写入经处理的第一数据元素和第二数据元素之一以防止同时将第一数据元素和第二数据元素之一写入到第一子存储器空间并从第一存储器空间读取第三数据元素。
在上述方法的一个操作中:蝶式处理器执行总数为H的蝶式操作以完成就地FFT;总数H中的每个蝶式操作在核心时钟的单个周期内执行;并且总数为H的蝶式操作在数量为K的核心时钟周期内完成,其中K等于H。
根据第三方面,被配置为执行就地快速傅里叶变换(FFT)的系统包括:具有单地址空间的随机存取存储器(RAM),其中该RAM被划分成固定数量的子存储器空间,并且其中子存储器空间的数量与FFT的长度互质;和蝶式处理器,该蝶式处理器连接到RAM并且被配置为执行多个蝶式操作,其中所述多个蝶式操作中的每个蝶式操作在核心时钟的连续周期开始;其中该系统防止同时对固定数量的子存储器空间中的相同子存储器空间读取数据和写入数据。
在上述系统的一个实施方案中:蝶式处理器执行总数为H的蝶式操作以完成就地FFT;并且总数为H的蝶式操作在数量为K的核心时钟周期内完成,其中K等于H。
在上述系统的一个实施方案中,在一个时钟周期中,蝶式处理器:同时从第一子存储器空间接收第一数据元素;以及从第二子存储器空间接收第二数据元素;处理第一数据元素和第二数据元素;并且同时将经处理的第一数据元素传输到第一子存储器空间;以及将经处理的第二数据元素传输到第二子存储器空间。
在上述系统的一个实施方案中:该系统根据具有系统频率的系统时钟操作,并且该蝶式处理器根据具有核心频率的核心时钟操作;核心频率高于系统频率;并且系统时钟控制进入系统的输入数据和离开系统的输出数据的传输速率。
本发明所实现的技术效果是通过对具有单地址空间的存储器内的子存储器空间同时读取两个元素并且同时写入两个元素来执行就地FFT,从而提高操作速度。
附图说明
当结合以下示例性附图考虑时,可参照具体实施方式更全面地了解本技术。在以下附图中,通篇以类似附图标记指代各附图中的类似元件和步骤。
图1是根据本技术的示例性实施方案的系统的框图;
图2代表性地示出了根据本技术的示例性实施方案的使用位反转输入时蝶式操作的顺序及数据输入和输出位置;
图3代表性地示出了根据本技术的示例性实施方案的使用非反转位输入时蝶式操作的顺序及数据输入和输出位置;
图4代表性地示出了根据本技术的示例性实施方案的除法操作;
图5代表性地示出了根据本技术的替代实施方案的存储设备中的寻址;
图6代表性地示出了根据本技术的替代实施方案的除法操作;
图7是用于执行8点基数2FFT的时序图;和
图8A至图8B是用于执行16点基数2FFT的时序图。
具体实施方式
本技术可在功能块部件和各种加工步骤方面进行描述。此类功能块可通过被配置成执行指定功能并且实现各种结果的任何数量的部件来实现。例如,本技术可以采用可执行各种功能的各种复用器、控制电路、蝶式处理器、计数器等。另外,本技术可结合任何数量的系统(诸如通信系统、信号处理系统、图像处理系统等)一起操作。
参见图1,系统100可被配置为执行各种信号处理操作,诸如快速傅里叶变换(FFT)。系统100可被配置为处理N点FFT,其中N是FFT的长度。另外,系统100可被配置为“就地”执行各种操作,其中特定操作周期的输入和输出被存储在相同存储器位置中。根据一个示例性实施方案,系统100可包括第一控制电路115、第二控制电路110、输入地址计数器105、输出地址计数器120、蝶式处理器130、旋转因子存储器125、多个写入复用器135、多个读取复用器190和主存储器160(诸如随机存取存储器(RAM)设备)。
根据一个示例性实施方案,系统100可被配置为接收各种输入控制信号和输入数据,并且传输各种输出控制信号和输出数据。例如,系统100可接收‘SYCN IN’信号和‘ENABLE IN’信号和输入数据(‘DATA IN’)。系统100可传输‘SYNC OUT’信号和‘ENABLEOUT’信号和输出数据(‘DATA OUT’)。
输入地址计数器105可被配置为接收各种控制信号,诸如‘SYNC IN’信号和‘ENABLE IN’信号。输入地址计数器105可包括常规计数器电路,并且可响应于控制信号(例如,‘SYNC IN’信号和‘ENABLE IN’信号)。例如,输入地址计数器105可根据控制信号来开始或停止。输入地址计数器105可生成控制信号,诸如‘START FFT’信号,并且将控制信号传输到第一控制电路115。例如,输入地址计数器105可被配置为在计数器已达到预定计数器数量时生成并传输‘START FFT’信号。
输入地址计数器105还可根据特定计数数量来生成输入地址信号‘Addr I’和输入信号(“输入有源”)。输入地址计数器105可将输入地址信号‘Addr I’和“输入有源”信号传输到第二控制电路110。
根据各种实施方案,输入地址计数器105可进一步被配置为对输入数据(‘DATAIN’)执行位反转。
第一控制电路115可被配置为执行各种控制功能,诸如启动FFT操作,发送FFT操作结束的信号,和/或地址生成。根据一个示例性实施方案,第一控制电路115连接到输入地址计数器105并且响应于‘START FFT’信号。例如,第一控制电路115可根据‘START FFT’信号来启动FFT操作。
另外,第一控制电路115可生成各种控制信号。例如,第一控制电路115可被配置为生成第一地址‘Addr A’和第二地址‘Addr B’,其中每个地址对应于主存储器160内的特定地址。第一控制电路115可将第一地址‘Addr A’和第二地址‘Addr B’传输到第二控制电路110。
在一个示例性实施方案中,第一控制电路115还可向第二控制电路110生成第一延迟的地址信号‘Addr_AD’(未示出)和第二延迟的地址信号‘Addr_BD’(未示出)。第一延迟的地址信号和第二延迟的地址信号分别是第一地址‘Addr A’和第二地址‘Addr B’的延迟版本。
第一控制电路115可进一步被配置为生成旋转地址‘Addr T’和停止信号(‘FFTDone’)。例如,第一控制电路115可根据FFT操作的特定阶段来生成旋转‘Addr T’,并且可在已完成FFT操作时生成停止信号。第一控制电路115可将旋转地址‘Addr T’传输到旋转因子存储器125,并且将停止信号传输到输出地址计数器120。
输出地址计数器120可包括常规计数器电路,并且可响应于停止信号‘FFT DONE’。输出地址计数器120还可根据特定计数数量来生成输出地址信号‘Addr O’和输出信号(“输出有源”)。输出地址计数器120可将输出地址信号‘Addr O’和输出信号(“输出有源”)传输到第二控制电路110。
输出地址计数器120还可生成可传输到伴侣电路(未示出)的各种控制信号,诸如‘SYNC OUT’信号和‘ENABLE OUT’信号。
主存储器160(也称为RAM)可用于存储FFT操作中所用的N个元素。RAM 160可具有单地址空间。根据一个示例性实施方案,RAM 160可被划分(即,分区)成多个M个子存储器空间165,其中每个子存储器空间165与分割地址As和外部地址Ae相关联。具体地讲,外部地址Ae按照以下关系式映射到共M个的子存储器空间m和分割地址As:As=floor(Ae/M),m=Ae-M×As,其中M为子存储器空间165的总数。例如,并参见RAM 160被划分成5个子存储器空间(例如,“RAM 0”、“RAM 1”、“RAM 2”、“RAM 3”、“RAM 4”各自为子存储器空间165并且M=5)的图5,外部地址0映射到RAM 0、分割地址0(即,Ae=0,m=0,As=0);外部地址1映射到RAM 1、分割地址0(即,Ae=1,m=1,As=0);外部地址4映射到RAM 4、分割地址0(即,Ae=4,m=4,As=0);外部地址5映射到RAM 0、分割地址1(即,Ae=5,m=0,As=1)等。
应当注意,可修改上述寻址方法以适应具有任何数量子存储器空间的主存储器(RAM)。例如,RAM 160可具有3个子存储器空间、5个子存储器空间、7个子存储器空间等,并且子存储器空间的数量M可基于FFT的长度和/或蝶式处理器130的特定配置(例如,单基数基底、混合基数或分裂基数)。
根据一个示例性实施方案,子存储器空间的总数M与FFT的长度N互质。例如,对于32点FFT(其中N=32)而言且在使用基数2FFT算法时,RAM 160可被划分成5个子存储器空间(即,M=5),这是由于5与32互质。对于243点FFT(其中N=243)而言且在使用基数3FFT算法时,RAM 160可被划分成大于6的数量,诸如7或8个子存储器空间,这是由于7和8均与243互质。
在FFT的长度N是2的幂且因此基数基底R也是2的幂的情况下,RAM 160被划分成大于基数基底R两倍(或混合基数FFT的最大基数基底R两倍)的奇数个子存储器空间。
RAM 160可连接到第二控制电路110,并且被配置为从第二控制电路110接收外部地址Ae(例如,A0、A1、A2、A3、A4)和写入启用信号‘WE’。RAM 160还可被配置为接收数据输入,诸如数据输入‘2D0’、‘D1’、‘D2’、‘D3’和‘D4’。例如,RAM 160可连接到所述多个写入复用器135,其中每个写入复用器135传输单个数据输入。响应于外部地址Ae和写入启用信号‘WE’,RAM 160可将数据输出诸如数据输出‘Q0’、‘Q1’、‘Q2’、‘Q3’和‘Q’传输到所述多个读取复用器190。
蝶式处理器130可被配置为对N个元素(即,N点FFT)执行包括一个或多个蝶式操作的FFT算法,诸如库利-图基算法。一般来讲,对于长度N=RP的基数R实施方式而言,N点FFT需要RP-1蝶式操作的P次传递(这可另选地表示为N/R蝶式操作的P次传递)。因此,例如,8点基数2FFT是4个蝶式操作的3次传递,并且16点基数2是8个蝶式操作的4次传递。完成FFT所需的蝶式操作总数H被描述为:H=(N/R)log(R)N。
例如,图2和图3示出了使用基数2的8点FFT,各有3次传递(例如,传递1、传递2、传递3)。每次传递包括4个蝶式操作,使得在每次传递期间,数据的每个元素被读取、处理并被其自身处理结果覆写。蝶式处理器130可被配置为对位反转输入(图2)或非反转位输入(图3)执行蝶式操作。
在常规系统中,图2和图3所示的每个蝶式操作将需要至少两个时钟周期以便读取其操作所需的数据。根据本技术的实施方案,图2和图3所示的每个蝶式操作将仅需要1个时钟周期就能在其可操作之前获得数据,因此蝶式处理器130可在每一个时钟周期开始对新数据的蝶式操作。在一个示例性实施方案中,蝶式处理器130可在内部流水化以使得在产生第一个结果之前需要多个时钟周期,但在每个时钟周期产生新的有效结果。
系统100可被配置为提供延迟,使得输出数据(例如,‘DA’和‘DB’)被写回到不在相同时钟周期中读取的子存储器165。另选地,每个子存储器空间165可包括一个或多个“先入先出”(FIFO)数据缓冲区以确保数据被写回一直等待到子存储器空间165不被读取。如上所述主存储器160向子存储器空间165的划分确保了数据以重复模式读取和写入。根据图1的示例性实施方案,在任何5个顺序时钟周期,可在两个连续时钟周期读取每个子存储器空间165,这使三个随后的连续时钟周期可用于将就地数据写回到读取该数据的相同子存储器空间165。这可使得每一个五时钟周期的组中有可用于数据导入或导出的空闲时钟周期。
蝶式处理器130可被配置为处理任何N点FFT,并且可使用任何数量的FFT算法以任何基数基底数量R(即,基数R)来形成。例如,蝶式处理器130可使用分裂基数FFT、混合基数FFT或单基数算法来实现。例如,512点FFT可使用256个蝶式操作的9次基数2传递、或者128个蝶式操作的4次基数4传递和256个蝶式操作的1次基数2传递的组合来执行。由于基数4传递需要4个输入,因此可能方便的是允许蝶式处理器130以2个基数2蝶式运算的方式并行操作。在混合基数FFT的情况下,24点FFT可使用12个蝶式操作的3次基数2传递和8个蝶式操作的1次基数3传递来执行。
根据各种实施方案,蝶式处理器130接收输入数据,诸如第一元素Xk和第二元素其中p是集合{0,1,2,...,P-1}的一部分,k和k+2P各自表示外部地址Ae,并且P是完成FFT操作所需的传递总数。根据一个示例性实施方案,蝶式处理器130同时接收第一元素Xk和第二元素蝶式处理器130每次传递正好处理一次N点FFT的每个元素。
根据各种实施方案,蝶式处理器130生成输出诸如数据输出‘DA’和‘DB’作为蝶式操作的结果,并且将输出‘DA’,‘DB’传输到所述多个写入复用器135中的每个写入复用器135。
旋转因子存储器125可被配置为存储多个旋转因子。每个旋转因子T是蝶式操作中所用的常数系数。旋转因子存储器125可连接到蝶式处理器130,并且被配置为将旋转因子T传输到蝶式处理器130。每个旋转因子T的值可基于特定FFT体系结构(例如,分裂基数FFT、混合基数FFT、单基数FFT),并且在任何特定时间传输到蝶式处理器130的特定旋转因子T可基于特定传递及FFT算法的该传递内的蝶式计数。
第二控制电路110可响应于来自第一控制电路115和输入地址计数器105的各种信号。第二控制电路110可被配置为执行各种控制功能,诸如地址转换,并且生成各种控制信号,诸如启用控制信号和复用器控制信号。例如,第二控制电路110可接收输入地址‘AddrI’、“输入有源”信号和第一地址‘Addr A’和第二地址‘Addr B’。响应于各种输入信号,第二控制电路110可生成并传输各种选择信号、地址信号和写入启用信号。
第二控制电路110可包括除法电路(未示出),该除法电路被配置为按常数C执行除法操作以便将外部地址Ae转换为特定子存储器空间165和与该特定子存储器空间165相关联的分割地址As。根据各种实施方案,除法电路中所用的常数C可与子存储器空间165的总数M相同。例如,在本实施方案中,RAM 160包括五(5)个子存储器空间165,因此除法电路将被配置为除以5。因此,常数C可根据子存储器空间165的数量M而变化。
在一个实施方案中并参见图4,第二控制电路110和/或除法电路可被配置为执行逐位除法操作400。根据逐位除法操作400,B位的无符号整数被除以常数C。例如,在16位数的情况下,对于每个位b15至b3而言,除法操作的结果(即,第一商结果)被传输到第一加法器405并且余数(即,第一余数)被传输到第二加法器410。第二加法器410可接收多个第一余数以形成余数的总和。
然后可利用电路420(诸如只读存储器(ROM)设备或组合逻辑设备)生成输出,其中该输出的一部分(即,第二商结果)被传输到第三加法器415并且剩余的输出表示最终余数。电路420可包括查找表以有利于生成第二商结果和最终余数。例如,假定除数为5(即,C=5)的除法且给定无符号16位数,如果位b15表示32768,则32768/5=6553余3,并且如果位b14表示16384,则16384/5=3276余4等。位b2至b0有余数,但没有除法结果(这是由于4/5=0余4,2/5=0余2,并且1/5=0余1)。
如果b15被设定(1),则值6553被传输到第一加法器405并且值3被传输到第二加法器410。如果位b15被清除(0),则值0被传输到第一加法器405并且值0被传输到第二加法器410。类似地,如果位b14被设定(1),则值3276被传输到第一加法器405并且值4被传输到第二加法器410,而不论位b15的结果如何。以相同方式处理每个位。该操作产生0至13099范围内的除法结果和0至40范围内的余数。然后可使用ROM或组合逻辑设备在该特定示例中将6位无符号整数除以5,从而再次产生商和余数。第三加法器415将4位数的商(0至8的范围)加到来自第一加法器405的除法结果,从而产生0至13107(=65535/5)范围内的最终结果。该余数是0至4范围内的3位数。
在一个替代实施方案中并参见图6,除法电路可被配置为执行长除法操作600。根据本实施方案,长除法操作产生条件相关层,其中每个层依赖于来自前一层的结果。
每个写入复用器135有利于输入数据的选择及向RAM 160的传输。每个写入复用器135可连接到第二控制电路110并且被配置为接收选择信号,诸如选择信号‘W0_sel’、‘W1_sel’、‘W2_sel’、‘W3_sel’和‘W4_sel’,其中每个选择信号被传输到不同的写入复用器135。每个写入复用器135可进一步被配置为接收输入数据(‘DATA IN’)。每个写入复用器135可进一步被配置为从蝶式处理器130接收输出数据,诸如输出数据‘DA’、‘DB’。
根据各种实施方案,每个写入复用器135可包括用于选择若干输入信号之一并将若干输入信号之一传输到单个输出线的常规复用器电路。
每个读取复用器190有利于存储在RAM 160中的数据的检索和传输。例如,每个读取复用器190接收输出数据,例如数据‘Q0’、‘Q1’、‘Q2’、‘Q3’、‘Q4’。第一读取复用器190(0)可被配置为选择性地将数据从系统100向外传输到伴侣电路(未示出)。第二读取复用器190(1)和第三读取复用器190(2)可被配置为选择性地将数据传输到蝶式处理器130以便在蝶式操作中使用。
根据各种实施方案,每个读取复用器190可包括用于选择若干输入信号之一并将若干输入信号之一传输到单个输出线的常规复用器电路。
根据各种实施方案,系统100可由具有系统频率fs的系统时钟(未示出)控制,该系统时钟控制输入数据(‘DATA IN’)、输出数据(可由‘ENABLE IN’控制信号选通数据)和‘ENABLE OUT’控制信号的传输速率和时序。系统100可在每个子存储器空间165接收第一输入的同时断言‘SYNC IN’信号,并且可在每个子存储器空间165输出数据的同时断言‘SYNCOUT’信号。
根据各种实施方案,系统100还可包括具有核心频率fc的核心时钟。核心频率fc为系统频率fs的大约5至10倍。
主存储器160、第二控制电路110、所述多个读取复用器190和所述多个写入复用器130可统称为复合存储器。因此,复合存储器包括多个读取端口,例如‘Addr A’、‘QA’、‘AddrB’、‘QB’、‘Addr O’和‘DATA OUT’的端口。类似地,复合存储器还包括多个写入端口,例如‘Addr I’、‘DATA IN’、‘Addr AD’、‘DA’、‘Addr BD’和‘DB’的端口。
在操作中,并参见图1,本技术的各种实施方案执行就地快速傅里叶变换操作。根据各种实施方案,系统100可同时从主存储器160读取两个数据元素,并且在后续时钟周期中,同时将两个数据元素写入到主存储器160。
根据一个示例性操作,系统100接收输入数据并且将输入数据传输到所述多个写入复用器135。然后第二控制电路110可选择性地激活所述多个写入复用器135中的一者或多者,其中写入复用器的激活选择性地将若干输入之一输出到主存储器160。例如,第一写入复用器135(0)将数据传输到第一子存储器空间165(0),第二写入复用器135(1)将数据传输到第二子存储器空间165(1),第三写入复用器135(2)将数据传输到第三子存储器空间165(2),第四写入复用器135(3)将数据传输到第四子存储器空间165(3),并且第五写入复用器135(4)将数据传输到第五子存储器空间165(4)。
然后系统100可同时从主存储器160读取数据元素,诸如第一元素Xk和第二元素其中每个元素存储在不同的子存储器空间165中。例如,第二控制电路110选择性地操作第二读取复用器190(1)和第三读取复用器190(2),其中第二读取复用器和第三读取复用器中的每一者将若干输入之一传输到蝶式处理器130。蝶式处理器130接收输入‘QA’和‘QB’,执行蝶式操作,并且将该操作的结果(输出‘DA’和‘DB’)传输回到写入复用器135。写入复用器再次被选择性地激活以同时将输出‘DA’和‘DB’传输回到检索输入‘QA’和‘QB’的相同子存储器部件165。因此,FFT操作的结果被同时写回到主存储器160。根据各种实施方案,从主存储器160内的不同的子存储器空间165检索数据元素Xk,
作为上文相对于主存储器160所述的寻址模式的结果,系统100能够从相同主存储器160读取和写入数据。例如,对于32点FFT(长度为32)而言且在利用基数2算法时,每次传递P的寻址模式如下:
传递 | 用于读取/写入的外部地址(Ae) |
1 | Ae,Ae+1 |
2 | Ae,Ae+2 |
3 | Ae,Ae+4 |
4 | Ae,Ae+8 |
5 | Ae,Ae+16 |
在另一个示例中,对于243点FFT(长度为243)而言且在利用基数3算法时,每次传递P的寻址模式如下:
传递 | 用于读取/写入的外部地址(Ae) |
1 | Ae,Ae+1,Ae+2 |
2 | Ae,Ae+3,Ae+6 |
3 | Ae,Ae+9,Ae+18 |
4 | Ae,Ae+27,Ae+54 |
5 | Ae,Ae+81,Ae+162 |
该寻址模式允许系统100减少FFT算法的处理时间,并且还防止系统100从/向相同子存储器空间165读取/写入数据。因此,5个子存储器空间165(0):165(4)可利用核心时钟的核心频率fc五倍的带宽来操作,这允许系统100每个核心时钟周期读取两个数据元素并且每个核心时钟周期写入两个数据元素。因此,核心时钟的每5个时钟周期之后出现空闲时钟周期,这允许未来/先前数据向系统100中/外的输入和输出。
参见图7,在一个示例性操作中,系统100可执行8点基数2FFT。在当前情况下,数据在其3位地址反转的情况下存储。之后,每个数据元素被除以5,因此数据元素X0和X5处于RAM0中,数据元素X4和X3处于RAM1中,数据元素X2和X7处于RAM2中,数据元素X6处于RAM3中,并且数据元素X1处于RAM4中。
在时钟周期0,从RAM0读取X0并且从RAM1读取X4。
在时钟周期1,从RAM2读取X2并且从RAM3读取X6,在蝶式处理器130中处理X0和X4以产生X01和X41。
在时钟周期2,从RAM4读取X1并且从RAM0读取X5,在蝶式处理器130中处理X2和X6以产生X21和X61,将X41写入到RAM1,并且由于RAM0忙碌,因此X01出现延迟。
在时钟周期3,从RAM1读取X3并且从RAM2读取X7,在蝶式处理器130中处理X1和X5以产生X11和X51,将X01写入到RAM0并且将X61写入到RAM3,由于RAM 2忙碌,因此X21出现延迟。
在时钟周期4,不读取数据,在蝶式处理器130中处理X3和X7以产生X31和X71,将X11写入到RAM4,将X2’写入到RAM2,并且将X51写入到RAM3。
在本实施方式中,FFT的每次传递仅需要4个时钟周期,并且从读取到写回的流水化延迟为3个时钟周期。该条件可引起蝶式处理器130停滞。例如,为了启动传递2,需要在时钟周期4读取X21,但X21尚未处于主存储器160中。因此,蝶式处理器130在读取X21之前必须一直等待到时钟周期5,并且这引起蝶式处理器130停滞,从而周期5中没有处理操作。在一个示例性实施方案中,从子存储器空间165读取可优先于写入到该相同子存储器空间165。
在当前情况下,系统100包括延迟(例如,‘DelayA’)以延迟将来自蝶式处理器130的结果写回到子存储器空间165之一。当蝶式处理器130正在从也正被写入的相同子存储器空间读取数据元素时,可能需要该延迟。例如,在时钟周期2中,蝶式处理器130正在读取X5,因此X01写入到RAM0被延迟一个时钟周期。
在采用较长FFT的替代操作中,并参见图8A至图8B,蝶式处理器130能够在FFT操作的持续时间内处理这些数据元素并且顺序地生成经处理的数据。例如,在采用长度16基数2FFT时,每次传递需要8个时钟周期,并且被操作的数据在下一次传递开始时对其有需要之前有充足的时间先被写回到RAM 160而不中止蝶式处理器130的操作。
在当前情况下,数据元素X0、X5、X10和X15存储在RAM0中;数据元素X8、X13和X6存储在RAM1中;数据元素X4、X14和X3存储在RAM2中;数据元素X12、X1和X11存储在RAM3中;并且X2、X9和X7存储在RAM4中。从主存储器160读取被表示为‘R’,写入到主存储器160被表示为‘W’,利用蝶式处理器130处理被表示为‘P’,并且延迟被表示为‘D’。例如,‘R0’表示读取X0,‘W0’表示写入X0,‘D01’表示延迟X01等。蝶式处理器130的结果用上标1、2、3和4表示,其中上标1表示第一次传递时处理的结果,上标2表示第二次传递时处理的结果,上标3表示第三次传递时处理的结果,并且上标4表示第四次传递时处理的结果。
在当前情况下,系统100包括第一延迟(例如,‘DelayA’)和第二延迟(例如,‘DelayB’)。第一延迟和第二延迟以如上所述的类似方式使用。
根据各种实施方案,蝶式处理器130执行总数为H的顺序蝶式处理操作以完成就地FFT。例如,在FFT为长度16的当前情况下,蝶式处理器130执行32个顺序蝶式处理操作(H=32)。另外,每个蝶式处理操作在核心时钟的单个周期内执行,并且总数为H的蝶式处理操作(在这种情况下为32)在相同数量的核心时钟周期(即,32个核心时钟周期)内完成。因此,完成FFT所需的核心时钟周期的数量取决于FFT的长度、基数数量、传递次数和每次传递的蝶式操作数量。
在上述描述中,已结合具体示例性实施方案描述了所述技术。所示和所述特定具体实施方式用于展示所述技术及其最佳模式,而不旨在以任何方式另外限制本技术的范围。实际上,为简洁起见,方法和系统的常规制造、连接、制备和其它功能方面可能未详细描述。此外,多张图中示出的连接线旨在表示各种元件之间的示例性功能关系和/或步骤。在实际系统中可能存在多个替代的或另外的功能关系或物理连接。
已结合具体示例性实施方案描述了所述技术。然而,可在不脱离本技术的范围的情况下作出各种修改和变化。以示例性而非限制性方式考虑说明和附图,并且所有此类修改旨在包括在本技术的范围内。因此,应通过所述的一般实施方案及其在法律意义上的等同形式,而不是仅通过上述具体示例确定所述技术的范围。例如,除非另外明确说明,否则可以任何顺序执行任何方法或工艺实施方案中列举的步骤,并且不限于具体示例中提供的明确顺序。另外,任何装置实施方案中列举的部件和/或元件可以多种排列组装或者以其它方式进行操作配置,以产生与本技术基本上相同的结果,因此不限于具体示例中阐述的具体配置。
上文已经针对具体实施方案描述了有益效果、其它优点和问题解决方案。然而,任何有益效果、优点、问题解决方案或者可使任何具体有益效果、优点或解决方案出现或变得更明显的任何要素都不应被解释为关键、所需或必要特征或组成部分。
术语“包含”、“包括”或其任何变型形式旨在提及非排他性的包括,使得包括一系列要素的过程、方法、制品、组合物或装置不仅仅包括这些列举的要素,而且还可包括未明确列出的或此类过程、方法、制品、组合物或装置固有的其它要素。除了未具体引用的那些,本技术的实施所用的上述结构、布置、应用、比例、元件、材料或部件的其它组合和/或修改可在不脱离其一般原理的情况下变化或以其它方式特别适于具体环境、制造规范、设计参数或其它操作要求。
上文已结合示例性实施方案描述了本技术。然而,可在不脱离本技术的范围的情况下对示例性实施方案作出改变和修改。这些和其它改变或修改旨在包括在本技术的范围内,如以下权利要求书所述。
根据第一方面,被配置为执行就地快速傅里叶变换(FFT)的信号处理器包括:具有单地址空间的随机存取存储器(RAM),其中该RAM被划分成固定数量的子存储器空间,并且其中该固定数量与FFT的长度互质;和蝶式处理器,该蝶式处理器连接到RAM并且被配置为:同时从固定数量的子存储器空间中的第一子存储器空间读取第一数据元素;以及从固定数量的子存储器空间中的第二子存储器空间读取第二数据元素;并且同时将第三数据元素写入到固定数量的子存储器空间中的第三子存储器空间;以及将第四数据元素写入到固定数量的子存储器空间中的第四子存储器空间。
在一个实施方案中,信号处理器还包括:多个读取复用器,所述多个读取复用器连接在蝶式处理器与RAM之间并且被配置为选择性地将来自RAM的第一数据元素和第二数据元素传输到蝶式处理器;和多个写入复用器,所述多个写入复用器连接在蝶式处理器与RAM之间并且被配置为选择性地将来自蝶式处理器的第三数据元素和第四数据元素传输到RAM。
在一个实施方案中,信号处理器还包括除法电路,该除法电路被配置为将包括多个位的二进制数除以固定数量;其中:来自所述多个位中的每个位由2的幂表示;并且除法电路进一步被配置为将二进制数的每个位除以固定数量以获得多个除法结果和多个余数。
在一个实施方案中,每个子存储器空间根据以下表达式与子存储器数量、分割地址和外部地址相关:As=floor(Ae/M),并且m=Ae-M×As,其中M是子存储器空间的固定数量,m是子存储器数量,As是分割地址,并且Ae是外部地址。
在一个实施方案中,子存储器空间的数量是奇数,并且FFT的长度是2的幂。
在一个实施方案中,每个子存储器空间包括数据缓冲区,该数据缓冲区被配置为延迟将第五数据元素写入到第一子存储器空间和第二子存储器空间之一。
在一个实施方案中,信号处理器还包括具有可变延迟的数据缓冲区,该数据缓冲区定位在蝶式处理器的输出与RAM的输入之间。
在一个实施方案中,蝶式处理器执行总数为H的蝶式处理操作以完成就地FFT;总数H中的每个蝶式处理操作在核心时钟的单个周期内执行;并且总数为H的蝶式处理操作在数量为K的核心时钟周期内完成,其中K等于H。
根据第二方面,用于执行就地快速傅里叶变换(FFT)的方法包括:提供具有单地址空间的主存储装置,其中该主存储装置按固定数量划分以形成多个子存储器空间,其中子存储器空间的固定数量与FFT的长度互质;使用蝶式处理器执行第一蝶式操作,该第一蝶式操作包括:同时从所述多个子存储器空间中的第一子存储器空间读取第一数据元素;以及从所述多个子存储器空间中的第二子存储器空间读取第二数据元素;处理第一数据元素和第二数据元素;并且将经处理的第一数据元素写入到第一子存储器空间;以及将经处理的第二数据元素写入到第二子存储器空间;使用蝶式处理器执行第二蝶式操作,该第二蝶式操作包括:从第一子存储器空间读取第三数据元素;并且延迟写入经处理的第一数据元素和第二数据元素之一以防止同时将第一数据元素和第二数据元素之一写入到第一子存储器空间并从第一存储器空间读取第三数据元素。
在一个操作中,所述多个子存储器空间中的每个子存储器空间根据以下表达式与子存储器数量、分割地址和外部地址相关:As=floor(Ae/M),并且m=Ae-M×As,其中M是子存储器空间的固定数量,m是子存储器数量,As是分割地址,并且Ae是外部地址。
在一个操作中,蝶式处理器执行总数为H的蝶式操作以完成就地FFT;总数H中的每个蝶式操作在核心时钟的单个周期内执行;并且总数为H的蝶式操作在数量为K的核心时钟周期内完成,其中K等于H。
根据第三方面,被配置为执行就地快速傅里叶变换(FFT)的系统包括:具有单地址空间的随机存取存储器(RAM),其中该RAM被划分成固定数量的子存储器空间,并且其中子存储器空间的数量与FFT的长度互质;和蝶式处理器,该蝶式处理器连接到RAM并且被配置为执行多个蝶式操作,其中所述多个蝶式操作中的每个蝶式操作在核心时钟的连续周期开始;其中该系统防止同时对固定数量的子存储器空间中的相同子存储器空间读取数据和写入数据。
在一个实施方案中,该系统还包括除法电路,其中除法电路被配置为将二进制数的每个位除以固定数量以获得多个除法结果和多个余数。
在一个实施方案中,蝶式处理器执行总数为H的蝶式操作以完成就地FFT;并且总数为H的蝶式操作在数量为K的核心时钟周期内完成,其中K等于H。
在一个实施方案中,在一个时钟周期中,蝶式处理器同时从第一子存储器空间接收第一数据元素;以及从第二子存储器空间接收第二数据元素;处理第一数据元素和第二数据元素;并且同时将经处理的第一数据元素传输到第一子存储器空间;以及将经处理的第二数据元素传输到第二子存储器空间。
在一个实施方案中,子存储器空间的数量是奇数,并且蝶式处理器被配置为执行基数2FFT算法。
在一个实施方案中,该系统根据具有系统频率的系统时钟操作,并且该蝶式处理器根据具有核心频率的核心时钟操作;核心频率高于系统频率;并且系统时钟控制进入系统的输入数据和离开系统的输出数据的传输速率。
在一个实施方案中,每个子存储器空间根据以下表达式与子存储器数量、分割地址和外部地址相关:As=floor(Ae/M),并且m=Ae-M×As,其中M是子存储器空间的固定数量,m是子存储器数量,As是分割地址,并且Ae是外部地址。
在一个实施方案中,每个子存储器空间包括数据缓冲区,该数据缓冲区被配置为提供写入数据与读取数据之间的延迟。
在一个实施方案中,该系统还包括具有可变延迟的数据缓冲区,该数据缓冲区定位在蝶式处理器的输出与RAM的输入之间。
Claims (10)
1.一种信号处理器,所述信号处理器被配置为执行就地快速傅里叶变换FFT,所述信号处理器的特征在于包括:
随机存取存储器RAM,所述RAM具有单地址空间,其中所述RAM被划分成固定数量的子存储器空间,并且其中所述固定数量与FFT的长度互质;和
蝶式处理器,所述蝶式处理器连接到所述RAM并且被配置为:
同时
从所述固定数量的子存储器空间中的第一子存储器空间读取第一数据元素;以及
从所述固定数量的子存储器空间中的第二子存储器空间读取第二数据元素;并且
同时
将第三数据元素写入到所述固定数量的子存储器空间中的第三子存储器空间;以及
将第四数据元素写入到所述固定数量的子存储器空间中的第四子存储器空间。
2.根据权利要求1所述的信号处理器,所述信号处理器的特征在于每个子存储器空间根据以下表达式与子存储器数量、分割地址和外部地址相关:As=floor(Ae/M),并且m=Ae-M×As,其中M是子存储器空间的所述固定数量,m是所述子存储器数量,As是所述分割地址,并且Ae是所述外部地址。
3.根据权利要求1所述的信号处理器,所述信号处理器的特征在于每个子存储器空间包括数据缓冲区,所述数据缓冲区被配置为延迟将第五数据元素写入到所述第一子存储器空间和所述第二子存储器空间之一。
4.根据权利要求1所述的信号处理器,所述信号处理器的特征在于:
所述蝶式处理器执行总数为H的蝶式处理操作以完成就地FFT;
所述总数H中的每个蝶式处理操作在核心时钟的单个周期内执行;并且
所述总数为H的蝶式处理操作在数量为K的核心时钟周期内完成,其中K等于H。
5.一种用于执行就地快速傅里叶变换FFT的方法,所述方法的特征在于包括:
提供具有单地址空间的主存储装置,其中所述主存储装置按固定数量划分以形成多个子存储器空间,其中子存储器空间的所述固定数量与FFT的长度互质;
使用蝶式处理器执行第一蝶式操作,第一蝶式操作包括:
同时
从所述多个子存储器空间中的第一子存储器空间读取第一数据元素;以及
从所述多个子存储器空间中的第二子存储器空间读取第二数据元素;
处理所述第一数据元素和所述第二数据元素;并且
将
经处理的第一数据元素写入到所述第一子存储器空间;以及
经处理的第二数据元素写入到所述第二子存储器空间;
使用所述蝶式处理器执行第二蝶式操作,第二蝶式操作包括:
从所述第一子存储器空间读取第三数据元素;以及
延迟写入经处理的所述第一数据元素和所述第二数据元素之一以防止同时将所述第一数据元素和所述第二数据元素之一写入到所述第一子存储器空间并从所述第一存储器空间读取所述第三数据元素。
6.根据权利要求5所述的方法,所述方法的特征在于:
所述蝶式处理器执行总数为H的蝶式操作以完成就地FFT;
所述总数H中的每个蝶式操作在核心时钟的单个周期内执行;并且
所述总数为H的蝶式操作在数量为K的核心时钟周期内完成,其中K等于H。
7.一种被配置为执行就地快速傅里叶变换FFT的系统,所述系统的特征在于包括:
随机存取存储器RAM,所述RAM具有单地址空间,其中所述RAM被划分成固定数量的子存储器空间,并且其中子存储器空间的数量与FFT的长度互质;和
蝶式处理器,所述蝶式处理器连接到所述RAM并且被配置为执行多个蝶式操作,其中所述多个蝶式操作中的每个蝶式操作在核心时钟的连续周期开始;
其中所述系统防止同时对所述固定数量的子存储器空间中的相同子存储器空间读取数据和写入数据。
8.根据权利要求7所述的系统,所述系统的特征在于:
所述蝶式处理器执行总数为H的蝶式操作以完成就地FFT;并且
所述总数为H的蝶式操作在数量为K的核心时钟周期内完成,其中K等于H。
9.根据权利要求7所述的系统,所述系统的特征在于,在一个时钟周期中,所述蝶式处理器:
同时
从第一子存储器空间接收第一数据元素:以及
从第二子存储器空间接收第二数据元素;
处理所述第一数据元素和所述第二数据元素;并且
同时
将经处理的第一数据元素传输到所述第一子存储器空间;以及
将经处理的第二数据元素传输到所述第二子存储器空间。
10.根据权利要求7所述的系统,所述系统的特征在于:
所述系统根据具有系统频率的系统时钟操作,并且所述蝶式处理器根据具有核心频率的所述核心时钟操作;
所述核心频率高于所述系统频率;并且
所述系统时钟控制进入所述系统的输入数据和离开所述系统的输出数据的传输速率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/139,339 | 2018-09-24 | ||
US16/139,339 US10783216B2 (en) | 2018-09-24 | 2018-09-24 | Methods and apparatus for in-place fast Fourier transform |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941792A true CN110941792A (zh) | 2020-03-31 |
CN110941792B CN110941792B (zh) | 2024-07-30 |
Family
ID=69725303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910798797.7A Active CN110941792B (zh) | 2018-09-24 | 2019-08-27 | 用于执行就地快速傅里叶变换的信号处理器、系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10783216B2 (zh) |
CN (1) | CN110941792B (zh) |
DE (1) | DE102019124676A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022266920A1 (en) * | 2021-06-24 | 2022-12-29 | Intel Corporation | METHODS AND APPARATUS TO PERFORM MIXED RADIX FAST FOURIER TRANSFORM (FFT) CALCULATIONS ON GRAPHICS PROCESSING UNITS (GPUs) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1504890A (zh) * | 2002-12-03 | 2004-06-16 | 中国科学院计算技术研究所 | 数据全并行的fft处理器地址映射方法和系统 |
CN1655143A (zh) * | 2004-02-11 | 2005-08-17 | 三星电子株式会社 | 使用大小减半的存储器的快速傅立叶变换处理器和方法 |
CN1663208A (zh) * | 2002-06-27 | 2005-08-31 | 三星电子株式会社 | 利用混合基数快速付里叶变换的调制设备 |
US20060253514A1 (en) * | 2005-05-05 | 2006-11-09 | Industrial Technology Research Institute | Memory-based Fast Fourier Transform device |
KR20070031769A (ko) * | 2005-09-15 | 2007-03-20 | 삼성전자주식회사 | 단일 버터플라이를 이용한 고속 퓨리에 변환 장치 및 그방법 |
CN101082906A (zh) * | 2006-05-31 | 2007-12-05 | 中国科学院微电子研究所 | 一种低存储器开销的固定基fft处理器及其方法 |
CN101290613A (zh) * | 2007-04-16 | 2008-10-22 | 卓胜微电子(上海)有限公司 | Fft处理器的数据存储系统和方法 |
US20110191548A1 (en) * | 2010-01-29 | 2011-08-04 | Mosys, Inc. | High Utilization Multi-Partitioned Serial Memory |
CN102652315A (zh) * | 2009-12-16 | 2012-08-29 | 瑞典爱立信有限公司 | 信息处理设备、其控制方法、程序及计算机可读存储媒体 |
KR20120101807A (ko) * | 2011-03-07 | 2012-09-17 | 인하대학교 산학협력단 | 메모리 기반 고속 푸리에 변환 프로세서 |
CN102855222A (zh) * | 2011-06-27 | 2013-01-02 | 中国科学院微电子研究所 | 并行分支蝶形单元的fft的地址映射方法及装置 |
CN107294892A (zh) * | 2016-03-31 | 2017-10-24 | 富士通株式会社 | 信号传输装置、方法以及滤波器组多载波系统 |
CN108197074A (zh) * | 2018-03-01 | 2018-06-22 | 天津芯海创科技有限公司 | 快速傅里叶变换fft数据处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1162547A3 (en) | 2000-06-05 | 2003-09-03 | DSP Group Ltd. | In-Place Memory Management for FFT |
TW594502B (en) | 2003-01-30 | 2004-06-21 | Ind Tech Res Inst | Length-scalable fast Fourier transformation digital signal processing architecture |
US7702712B2 (en) | 2003-12-05 | 2010-04-20 | Qualcomm Incorporated | FFT architecture and method |
US20080071848A1 (en) | 2006-09-14 | 2008-03-20 | Texas Instruments Incorporated | In-Place Radix-2 Butterfly Processor and Method |
CN101630308B (zh) | 2008-07-16 | 2013-04-17 | 财团法人交大思源基金会 | 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法 |
-
2018
- 2018-09-24 US US16/139,339 patent/US10783216B2/en active Active
-
2019
- 2019-08-27 CN CN201910798797.7A patent/CN110941792B/zh active Active
- 2019-09-13 DE DE102019124676.8A patent/DE102019124676A1/de active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1663208A (zh) * | 2002-06-27 | 2005-08-31 | 三星电子株式会社 | 利用混合基数快速付里叶变换的调制设备 |
CN1504890A (zh) * | 2002-12-03 | 2004-06-16 | 中国科学院计算技术研究所 | 数据全并行的fft处理器地址映射方法和系统 |
CN1655143A (zh) * | 2004-02-11 | 2005-08-17 | 三星电子株式会社 | 使用大小减半的存储器的快速傅立叶变换处理器和方法 |
US20060253514A1 (en) * | 2005-05-05 | 2006-11-09 | Industrial Technology Research Institute | Memory-based Fast Fourier Transform device |
KR20070031769A (ko) * | 2005-09-15 | 2007-03-20 | 삼성전자주식회사 | 단일 버터플라이를 이용한 고속 퓨리에 변환 장치 및 그방법 |
CN101082906A (zh) * | 2006-05-31 | 2007-12-05 | 中国科学院微电子研究所 | 一种低存储器开销的固定基fft处理器及其方法 |
CN101290613A (zh) * | 2007-04-16 | 2008-10-22 | 卓胜微电子(上海)有限公司 | Fft处理器的数据存储系统和方法 |
CN102652315A (zh) * | 2009-12-16 | 2012-08-29 | 瑞典爱立信有限公司 | 信息处理设备、其控制方法、程序及计算机可读存储媒体 |
US20110191548A1 (en) * | 2010-01-29 | 2011-08-04 | Mosys, Inc. | High Utilization Multi-Partitioned Serial Memory |
KR20120101807A (ko) * | 2011-03-07 | 2012-09-17 | 인하대학교 산학협력단 | 메모리 기반 고속 푸리에 변환 프로세서 |
CN102855222A (zh) * | 2011-06-27 | 2013-01-02 | 中国科学院微电子研究所 | 并行分支蝶形单元的fft的地址映射方法及装置 |
CN107294892A (zh) * | 2016-03-31 | 2017-10-24 | 富士通株式会社 | 信号传输装置、方法以及滤波器组多载波系统 |
CN108197074A (zh) * | 2018-03-01 | 2018-06-22 | 天津芯海创科技有限公司 | 快速傅里叶变换fft数据处理方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022266920A1 (en) * | 2021-06-24 | 2022-12-29 | Intel Corporation | METHODS AND APPARATUS TO PERFORM MIXED RADIX FAST FOURIER TRANSFORM (FFT) CALCULATIONS ON GRAPHICS PROCESSING UNITS (GPUs) |
Also Published As
Publication number | Publication date |
---|---|
US10783216B2 (en) | 2020-09-22 |
CN110941792B (zh) | 2024-07-30 |
DE102019124676A1 (de) | 2020-03-26 |
US20200097519A1 (en) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6366936B1 (en) | Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm | |
US20040015530A1 (en) | Fast fourier transform apparatus | |
EP2408158B1 (en) | Circuit and method for implementing fft/ifft transform | |
EP0824730A1 (en) | Improvements in or relating to real-time pipeline fast fourier transform processors | |
US20100191791A1 (en) | Method and apparatus for evaluation of multi-dimensional discrete fourier transforms | |
EP0953175B1 (en) | Method and apparatus for fft computation | |
US20100128818A1 (en) | Fft processor | |
WO2013097217A1 (zh) | 一种多粒度并行fft蝶形计算的方法及相应的装置 | |
CN110941792B (zh) | 用于执行就地快速傅里叶变换的信号处理器、系统和方法 | |
EP2144172A1 (en) | Computation module to compute a multi radix butterfly to be used in DTF computation | |
JP4160564B2 (ja) | 処理速度の向上した高速フーリエ変換装置およびその処理方法 | |
JP5486226B2 (ja) | ルリタニアマッピングを用いるpfaアルゴリズムに従って種々のサイズのdftを計算する装置及び方法 | |
Chang et al. | A novel memory-based FFT processor for DMT/OFDM applications | |
KR20050081217A (ko) | 메모리를 반감하는 고속 푸리에 변환 프로세서 및 그 방법 | |
JP2010016831A (ja) | 種々のサイズを有するdftを計算する装置 | |
Wang et al. | A novel DHT-based FFT/IFFT processor for ADSL transceivers | |
US6330580B1 (en) | Pipelined fast fourier transform processor | |
US8572148B1 (en) | Data reorganizer for fourier transformation of parallel data streams | |
Hassan et al. | FPGA Implementation of an ASIP for high throughput DFT/DCT 1D/2D engine | |
Takala et al. | Scalable interconnection networks for partial column array processor architectures | |
WO2009130498A2 (en) | Pipelined 2d fft processor | |
Hassan et al. | Design architecture of generic DFT/DCT 1D and 2D engine controlled by SW instructions | |
EP4307138A1 (en) | Self-ordering fast fourier transform for single instruction multiple data engines | |
US11531497B2 (en) | Data scheduling register tree for radix-2 FFT architecture | |
CN112328958A (zh) | 一种基于基-64的二维fft架构的优化数据重排方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230427 Address after: California, USA Applicant after: Adikay LLC Address before: Arizona Applicant before: SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |