CN1655143A - 使用大小减半的存储器的快速傅立叶变换处理器和方法 - Google Patents
使用大小减半的存储器的快速傅立叶变换处理器和方法 Download PDFInfo
- Publication number
- CN1655143A CN1655143A CNA200510008220XA CN200510008220A CN1655143A CN 1655143 A CN1655143 A CN 1655143A CN A200510008220X A CNA200510008220X A CN A200510008220XA CN 200510008220 A CN200510008220 A CN 200510008220A CN 1655143 A CN1655143 A CN 1655143A
- Authority
- CN
- China
- Prior art keywords
- data
- computing
- storage unit
- butterfly
- basic
- 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.)
- Pending
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F13/00—Details common to, or for air-conditioning, air-humidification, ventilation or use of air currents for screening
- F24F13/02—Ducting arrangements
- F24F13/0254—Ducting arrangements characterised by their mounting means, e.g. supports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2647—Arrangements specific to the receiver only
- H04L27/2649—Demodulators
- H04L27/265—Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F13/00—Details common to, or for air-conditioning, air-humidification, ventilation or use of air currents for screening
- F24F13/32—Supports for air-conditioning, air-humidification or ventilation units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2626—Arrangements specific to the transmitter only
- H04L27/2627—Modulators
- H04L27/2628—Inverse Fourier transform modulators, e.g. inverse fast Fourier transform [IFFT] or inverse discrete Fourier transform [IDFT] modulators
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
在使用大小减半的存储器的快速傅立叶变换处理器和快速傅立叶变换方法中,假定可容纳N/2点数据的两个存储单元的每个中有虚拟存储空间,则利用蝶式计算元件,并在一个时钟周期期间执行一个写入操作和一个读取操作。
Description
本申请要求于2004年2月11日向韩国知识产权局提交的韩国专利申请第2004-8925号的利益,通过引用将其公开全部合并于其中。
技术领域
本发明涉及一种有线/无线通信***,并尤其涉及一种用于在有线/无线通信的收发机中执行调制或解调的快速傅立叶变换处理器。
背景技术
诸如无线LAN、非对称数字用户线(ADSL)、超高数据率数字用户线(VDSL)、正交频分多路复用(ODFM)、数字音频广播(DAB)、以及多载波调制(MCM)***的技术和应用需要能够执行快速傅立叶变换的处理器。快速傅立叶变换算法通过从离散傅立叶变换(如等式1的变换)中移除重复计算,而减少执行的计算数目。在等式1中,n表示时间指数(time index),k表示频率指数(frequency index),而N表示点数,或输入数据的数目。通常,在接收机中执行的快速傅立叶变换将时域信号变换为频域信号。在发射机中执行的快速傅立叶逆变换将频域信号变换为时域信号。在傅立叶逆变换中,执行快速傅立叶变换的逆过程。快速傅立叶变换将串行输入的数据流x(n)变换为N点并行数据,将并行变换的数据X(k)调制到副载波上并传送,由此增加了数据传输率。
为了执行快速傅立叶变换,如果输入数据的数目m用于基m蝶式(butterfly)运算,则FFT运算所需要的级数等于通过对输入数据的总数N以m为底取对数而得到的值,并且,在每级执行多次基m蝶式运算。在每级中,作为用m来执行蝶式运算的结果,将m个新数据存储在具有与输入数据的地址相同的地址的不同存储单元中。在快速傅立叶变换中,由于时域和频域的属性不同,所以,一般执行数据校准(data alignment)操作,如位混洗(bitshuffling)。使用存储在存储器的预定地址中的数据来执行蝶式运算,并且,通过复杂的硬件来实现存储作为蝶式运算的结果而改变的数据的位混洗操作。然而,当使用了需要复杂硬件的序贯设计(sequential design)或流水线设计时,由于复杂的硬件使得难以实现延迟转换器(delay commutator)。延迟转换器为在每级快速傅立叶变换中执行数据校准的单元。当输入数据的数目较小时,通过移位寄存器来实现延迟转换器。当输入数据的数目较大时,会增加移位寄存器的制造成本和大小。因此,存储器替代移位寄存器用于此操作。上述配置为确定硬件设计中需要的存储器大小的重要因素。
通常,在蝶式运算中,基2算法处理两个输入数据来生成两个新数据。基2算法反复地读取两个数据、并将两个运算结果写入到不同存储器的相同地址。为了增加硬件利用率和减少执行运算所需时间,最多同时执行两个数据读取操作和两个数据写入操作。为了通过硬件来实现最多四个同步数据操作,为此目的而使用由只读存储器和只写存储器组成的两个双端口(dual-port)存储器,或使用流水线架构。
图1为采用两个双端口存储器的传统快速傅立叶变换处理器100的方框图。参照图1,快速傅立叶变换处理器100包括各自存储16点数据的第一和第二存储单元110和120、以及蝶式计算元件130。图2为用于说明图1的快速傅立叶变换处理器100的基2算法的示意图。在图2中,假定输入数据为16点数据。参照图1和2,在使用存储16点数据的两个双端口存储器的传统快速傅立叶变换处理器100中,只读存储器和只写存储器在每级运算中分离,并且,最多同时执行四个操作(两个读取操作和两个写入操作)。由于将只读存储器改变为只写存储器,并且反之亦然,以前进到下一级运算,所以不出现数据冲突。例如,在第一级运算中,第一存储单元110用作只读存储器,并输出16点输入数据,而第二存储单元120为存储基2蝶式运算的结果的只写存储器。在第二级运算中,第二存储单元120用作只读存储器,并输出来自第一运算级的结果,而第一存储单元110被改变为存储使用新系数的基2蝶式运算的结果的只写存储器。由于在下一级中只读存储器作为只写存储器操作,并且反之亦然,所以,不产生输入数据和输出数据之间的冲突,并且,仅使用蝶式运算的一个计算元件。然而,所需存储器的大小为输入数据的大小的两倍。
图3为具有流水线架构的传统快速傅立叶变换处理器300的方框图。参照图3,快速傅立叶变换处理器300包括存储16点数据的第一存储器410、存储16/2点数据的第二存储器420、存储16/4点数据的第三存储器430、存储16/8点数据的第四存储器、第一蝶式计算元件411、第二蝶式计算元件421、第三蝶式计算元件431、第一延迟转换器412、第二延迟转换器422、以及第三延迟转换器432。图4为用于说明图3的快速傅立叶变换处理器的基2算法的示意图。参照图3和4,具有流水线架构的快速傅立叶变换处理器300在每级运算中使用用于蝶式运算的计算元件,并且,在每级运算需要的存储器和延迟转换器的大小逐渐变小。参照图4,实际上不需要存储区423、433到435、以及443到449,并且它们和存储区420、430和440一样在各级被共享。如上所述,在传统的流水线架构中,将所述区分类为与在相同级执行相同操作的地址对应的区,并在每级重复使用用于蝶式运算的计算元件。在流水线架构中,可在未完成前一级运算的状态下,开始与在连续级之间没有数据相关性的地址对应的数据区的下一级蝶式运算,由此减小了获得最终变换结果FD需要的时间。然而,在每级运算中,需要用于蝶式运算的计算元件、延迟转换器、以及存储器N+N/2+N/4+N/8+...,由此增加了硬件成本。
如上所述,在基m运算中,用于蝶式计算元件的硬件成本的增加仅和蝶式运算中需要的输入数据的数目m有关,并且,用于蝶式计算元件的硬件成本并不和输入数据的点大小N的增加相关地增加。由于存储每级运算的结果的存储器的成本而导致大部分硬件成本,所以当输入数据的点大小N增加时,成本显著增加。
发明内容
本发明提供一种执行新快速傅立叶变换算法的处理器,其中,使用虚拟地址空间来变换每个蝶式运算级中的数据数组运算,以减小用于执行该算法的存储器的大小。
本发明还提供一种快速傅立叶变换处理方法,其中,使用优化存储器来执行数据数组运算。
根据本发明的一个方面,提供了一种快速傅立叶变换处理器,包括:存储单元,用于接收N点输入数据,存储N点输入数据,在第一级运算中存储使用输入数据而计算出的N点蝶式运算结果,并在余下的(logmN)-1个运算级的每级中存储根据存储的前一级运算的蝶式运算结果而计算出的N点蝶式运算结果;以及蝶式计算元件,用于对存储在存储单元中的N点数据执行基m运算,以生成被存储在存储单元中的N点蝶式运算结果。
在一个实施例中,该存储单元包括:第一存储单元,用于存储N点数据中的N/2点数据;以及第二存储单元,用于存储N点数据中的另外N/2点数据。
在另一个实施例中,例如,蝶式运算包括基2、基4、或基8运算。第一存储单元和第二存储单元可包括双端口存储单元。
在另一个实施例中,蝶式计算元件从第一存储单元和第二存储单元中的每个接收m/2个数据,以执行基m运算;将基m运算结果划分为m/2个数据;以及将划分为m/2个数据的基m运算结果存储在第一存储单元和第二存储单元的每个中。蝶式计算元件同时存储基m运算结果,并接收要在随后的基m运算中使用的m个数据。蝶式计算元件将基m运算结果存储到同步操作之前输入的数据的地址。蝶式计算元件在两个或更多周期期间执行基m运算,在一个周期期间执行同步操作,并使用在同步操作之前输入的数据而在同步操作期间执行下一个基m运算。
根据本发明的另一个方面,提供了一种快速傅立叶变换处理方法,包括:接收并存储N点输入数据;在logmN个运算级中的第一运算级,存储使用输入数据而计算出的N点蝶式运算结果;在余下的(logmN)-1个运算级中的每级,存储根据存储的前一级运算的结果而计算出的N点蝶式运算结果;以及分别在logmN个运算级的每级中,利用存储的N点数据来执行基m蝶式运算,以生成N点蝶式运算结果。
在一个实施例中,存储操作包括:将N点数据中的N/2点数据存储在第一存储器中;以及将N点数据中的另外N/2点数据存储在第二存储器中。例如,运算的基数可为基2、基4、或基8。第一存储单元和第二存储单元可包括双端口存储单元。
在另一个实施例中,生成蝶式运算结果的操作包括:对从第一存储器接收的m/2个数据和从第二存储器接收的m/2个数据执行基m运算;将基m运算结果划分为m/2个数据;以及将划分为m/2个数据的基m运算结果存储在第一存储单元和第二存储单元中。可选地,生成蝶式运算结果的操作包括同时存储基m运算结果、并接收要在随后的基m运算中使用的m个数据。另外,生成蝶式运算结果的操作还可选地包括:将基m运算结果存储到同步操作之前输入的数据的地址。生成蝶式运算结果的操作还可选地包括:在两个或更多时钟周期期间执行基m运算;在一个时钟周期期间执行同步操作;以及在同步操作期间,使用在同步操作之前输入的数据来执行随后的基m运算。
附图说明
通过参照附图来详细描述本发明的示范实施例,本发明的以上和其它特征和优点将变得更为清楚,其中:
图1为使用两个双端口存储器的传统快速傅立叶变换处理器的方框图;
图2为用于说明图1的快速傅立叶变换处理器的基2算法的示意图;
图3为具有流水线架构的传统快速傅立叶变换处理器的方框图;
图4为用于说明图3的快速傅立叶变换处理器的基2算法的示意图;
图5为根据本发明的实施例的快速傅立叶变换处理器的方框图;
图6为用于说明图5的快速傅立叶变换处理器的基2算法的示意图;
图7为图5的蝶式计算元件的方框图;
图8为用于说明图5的快速傅立叶变换处理器的操作的时序图;以及
图9为用于详细说明图5的存储单元的操作的示意图。
具体实施方式
参照用于图解本发明的优选实施例的附图,以获得对本发明及其优点、以及通过实现本发明而达到的目的的足够理解。
下面,将通过参照附图说明本发明的优选实施例,来详细描述本发明。附图中,相同的附图标记表示相同的元件。
如图1所示,在使用存储16点数据的两个双端口存储器的传统快速傅立叶变换处理器100中,作为只读存储器操作的存储单元与作为只写存储器操作的存储单元分离,并且,在蝶式计算元件130的基运算中,处理器100最多同时执行两个读取操作和两个写入操作。然而,在每级的基运算中,需要各自具有容纳数据宽度(即16点)的大小的只读存储器和只写存储器。因此,本发明的一个方面提供一种仅需要存储器的一半数量的新快速傅立叶变换算法。使用两个双端口、一半大小的存储器,即数据宽度的一半大小的存储器,并且,将蝶式运算中的数据数组运算变换为作为流水线架构操作,由此提供仅需要一个蝶式计算元件的新快速傅立叶变换***和处理。
图5为根据本发明的实施例的快速傅立叶变换处理器的方框图。参照图5,快速傅立叶变换处理器500包括两个分离的存储单元510和520、以及蝶式计算元件530。存储单元510和520包括第一双端口存储单元510和第二双端口存储单元520。
如所公知的,在快速傅立叶变换的数据数组运算中,如果输入数据数目m被用于基m蝶式运算,则FFT运算所需的级数等于通过对输入数据的总数N以m为底取对数而得到的值,即logmN。下面,假定快速傅立叶变换的大小N为16,并且蝶式计算元件530执行基2蝶式运算。然而,根据本发明的实施例的快速傅立叶变换处理器500不限于上述内容,而快速傅立叶变换的大小N可取决于***大小而为任意数,例如256、512、1024、或2048。蝶式计算元件530不仅执行基2蝶式运算,还根据***大小而执行基4、基8等蝶式运算。
在上述假定下,第一存储单元510存储N(16)点输入数据的N/2(8)点数据。第二存储单元520存储(16)点输入数据的另外N/2(8)点数据。
图6为用于说明图5的快速傅立叶变换处理器的基2算法的示意图。
参照图6,第一存储单元510和第二存储单元520各自接收并存储总共N(16)点输入数据中的N/2(8)点。接下来,存储单元510和520存储通过对输入数据执行第一级运算而计算出的N(16)点的蝶式运算结果。接下来,在从第二运算级到(logmN)-1运算级(此例子中为第四运算级)的每级运算中,存储单元510和520存储从所存储的前一级运算的结果而计算出的N(16)点的蝶式运算结果。在此情况中,在任意给定时间,第一存储单元510和第二存储单元520不作为只读存储器或只写存储器操作。在传统的双端口存储器处理中,只读存储器和只写存储器相互转换。然而,根据本发明的实施例,参照图6,使用新的存储器读取寻址处理和新的存储器写入寻址处理,以避免数据冲突。
通常,在传统架构中,在每级运算中,对于基2运算来说,将基2蝶式运算结果存储在与从只读存储器输入的数据的地址相同的只写存储器的地址中。并且,在基2蝶式运算中使用只读存储器的所有数据,将基2蝶式运算的结果存储在只写存储器中,将只读存储器的内容转移到只写存储器,并将只写存储器的内容转移到只读存储器。相反,在本发明的实施例中,第一存储单元510和第二存储单元520不用作只读存储器或只写存储器,并且在每级运算中同时执行读取操作和写入操作。例如,参照图2,在第一级运算中,将对第一存储单元110的地址(0)的数据和地址(8)的数据执行的传统的基2蝶式运算的结果存储为第二存储单元120的地址(8)的数据和地址(0)的数据。然而,参照图6,在本发明中,在第一级运算中,将对第一存储单元510的地址(0)的数据和第二存储单元520的地址(8)的数据执行的基2蝶式运算的结果存储为第一存储单元510的地址(4)的数据和地址(0)的数据。并且,参照图6,在本发明中,在第一级运算中,将对第一存储单元510的地址(4)的数据和第二存储单元520的地址(12)的数据执行的基2蝶式运算的结果存储为第二存储单元520的地址(12)的数据和地址(8)的数据。在此情况中,第一存储单元510和第二存储单元520不同时执行两个写入操作,而可通过以流水线传递操作的方式执行寻址,来同时在一个存储器中执行读取操作和写入操作。下面将通过参照图8和9来详细描述寻址处理。
图7为图5的蝶式计算元件530的方框图。
参照图7,蝶式计算元件530包括乘法器531、加法器532、以及减法器533。尽管图解了用于基2运算的蝶式计算元件530的结构,但可将根据本发明的实施例的快速傅立叶变换处理器500应用到用于基4运算或基8运算等的蝶式计算元件的结构。在logmN(4)个运算级中的各级执行基运算8次,以相应地得到离散傅立叶变换结果,如由等式1得到的结果,通过logmN(4)级运算来完成数据数组运算。在一般通信理论中充分描述了离散傅立叶变换和基运算。
在logmN(4)级的各级运算中,蝶式计算元件530为存储在存储单元510和520中的N(16)点数据执行基m(2)运算。将蝶式计算元件530计算出的N(16)点蝶式运算的结果再次存储在存储单元510和520中。在每级中,蝶式计算元件530从第一存储单元510和第二存储单元520一个接一个地接收数据,并将两个运算结果逐个存储在第一存储单元510和第二存储单元520中。在每级利用N(16)个输入数据来执行蝶式运算,并总共重复执行8次。例如,参照图7,通过使用预定系数COEF来对第一存储单元510的地址(0)的数据“0”和第二存储单元520的地址(8)的数据“8”执行基2蝶式运算而获得的结果在预定数目的***时钟周期之后又成为:第一存储单元510的地址(0)的数据“0”和地址(4)的数据“8”。这里,为了描述的方便,假定蝶式运算的结果具有和输入数据的值相同的值。也就是说,输入到蝶式计算元件530的数据值“0”和“8”在运算之后仍保持为值“0”和“8”。为了描述的方便,其它输入数据值也产生具有和输入数据值相同的值的结果。图6中示出了上述输入数据和蝶式运算中的结果,并且在每级运算中的全部关系相同。
图8为用于说明图5的快速傅立叶变换处理器500的时序图。
参照图8,假定地址生成器(未示出)生成第一读取地址R1ADDR、第二读取地址R2ADDR、第一写入地址W1ADDR、以及第二写入地址W2ADDR。地址生成器参考***时钟SCLK的计数值CNT和级设置信号STSET。级设置信号STSET在每个运算级的开始有效。蝶式计算元件530分别从第一读取地址R1ADDR和第二地址R2ADDR中的每个接收第一输入数据MRD1和第二输入数据MRD2,并将第一运算结果MWD1和第二运算结果MWD2分别存储在存储单元510和520各自的第一写入地址W1ADDR和第二写入地址W2ADDR中。
参照图6和8,首先,在第一运算级中,将第二存储单元520的地址(8)的数据“8”和第一存储器的地址(0)的数据“0”输入到蝶式计算元件530。在与计数值CNT“5”和“4”相对应的周期期间,生成通过对地址(8)的数据“8”和地址(0)的数据“0”执行蝶式运算而获得的结果,并将其依次存储为第一存储单元510的地址(4)的数据“8”和地址(0)的数据“0”。接下来,将第二存储单元520的地址(12)的数据“12”和第一存储单元510的地址(4)的数据“4”依次输入到蝶式计算元件530。在与计数值CNT“6”和“5”相对应的周期期间,生成通过对地址(12)的数据“12”和地址(4)的数据“4”执行蝶式运算而获得的结果,并将其存储为第二存储单元520的地址(12)的数据“12”和地址(8)的数据“4”。图8中详细图解了其它数据的读取和写入操作。
在此情况中,由于第一存储单元510和第二存储单元520为双端口型存储器,所以不能同时执行两个写入操作。因此,为了防止在存储单元510和520的读取操作以及存储单元510和520的写入操作之间发生数据冲突,根据图8中图解的寻址处理,在单个存储器中,仅同时执行一个读取操作和一个写入操作。例如,在计数值CNT为“5”时,第一和第二输入数据MRD1和MRD2为“2”和“14”,而第一和第二运算结果MWD1和MWD2为“4”和“8”。并且,第一和第二读取地址R1ADDR和R2ADDR为(2)和(14),而第一和第二写入地址W1ADDR和W2ADDR为(8)和(4)。参照图9,当计数值CNT为“5”时,第一存储单元510从地址(2)读取“2”,并在地址(4)写入“8”。并且,当计数值CNT为“5”时,第二存储单元520从地址(14)读取“14”,并在地址(8)写入“4”。地址生成器参考与已从存储单元510和520输入到蝶式计算元件530的数据相对应的地址来生成地址,以防止在存储单元510和520中执行同步读取和写入操作时产生数据冲突。蝶式计算元件530将基m(2)运算结果存储到存储单元510和520中的同步读取和写入操作之前已输入的数据地址。
当计数值CNT为“6”时,第一存储单元510从地址(6)读取数据“6”,并向地址(1)写入数据“1”。并且,在计数值CNT为“6”时,第二存储单元520从地址(11)读取数据“11”,并向地址(12)写入数据“12”。如上所述,由于在计数值的每个计数期间,同步执行一个读取操作和一个写入操作,所以在第一和第二存储单元510和520的每个中,使用可容纳16点数据的存储器来同时进行四个存储器存取是有可能的。如上所述的操作与第二运算级的操作相同。例如,通过再次参照图8,在第二级运算中,首先,将第二存储单元520的地址(8)的数据“4”和第一存储器的地址(0)的数据“0”依次输入到蝶式计算元件530。在计数值CNT为“13”和“12”时,生成对地址(8)的数据“4”和地址(0)的数据“0”执行蝶式运算的结果,并将其依次存储为地址(2)的数据“4”和地址(0)的数据“0”。在第二运算级中,根据和第一运算级的处理相同的处理,在第一存储单元510和第二存储单元520的每个中同步执行一个读取操作和一个写入操作。
如上所述,执行基m(2)蝶式运算的蝶式计算元件530从第一存储单元510和第二存储单元520中的每个接收m/2(1)个数据,以执行蝶式运算,将基2运算结果划分为m/2(1)个数据,并将划分为m/2(1)个数据的基2运算结果存储在第一存储单元510和第二存储单元520的每个中。参照图8,在两个或更多周期期间执行基m(2)蝶式运算,而在一个周期期间执行同步操作,其中所述同步操作同时执行从两个存储单元510和520的数据读取、以及向两个存储单元510和520的数据写入。蝶式计算元件530使用在同步读取和写入操作之前已输入的数据,而执行同步读取和写入操作中的下一个基m运算。
另一方面,当蝶式计算元件530执行基4或基8蝶式运算时,第一存储单元510和第二存储单元520接收2个或4个数据来执行蝶式运算,将运算结果划分为2个或4个数据值,并将运算结果存储在第一存储单元510和第二存储单元520的每个中。并且,将第一存储单元510和第二存储单元520中的每个分割为2个或4个双类型存储器,并且,每个划分的存储器同时执行一个读取操作和一个写入操作,由此执行相同处理。当存储基m运算结果时,蝶式计算元件530接收在下一个基m运算中使用的m个数据。并且,蝶式计算元件530将基m运算结果存储到读取和写入操作之前已输入的数据的地址。
表1中相互比较并示出了当用硬件实现根据本发明实施例的快速傅立叶变换算法和传统算法时所需的晶体管的数目。表1包括与通过基2处理而实现在非对称数字用户线(ADSL)中使用的256点快速傅立叶变换处理器的例子相关的特定数据。在表1中,约需要10000个门来实现蝶式计算元件,并且,在数字逻辑中,一个门包括4个晶体管。并且,在静态随机存取存储器(SRAM)中,约需要6个晶体管来实现存储器的1位。因此,通过本发明的建议方法和结构,用于实现256点快速傅立叶变换处理器的全部硬件成本减少了超过50%。可通过使用诸如基4或基8的算法的传统的流水线方法来实现蝶式计算元件的数目和存储器的大小的减小,然而,这种减小不如通过本发明的建议方法和结构而实现的减小那么大。
表1
传统双端口型 | 传统流水线型 | 建议类型 | |
蝶式计算元件的数目 | 1 | 8 | 1 |
存储器位数 | 19456 | 19380 | 9728 |
晶体管总数 | 120736 | 148280 | 62368 |
如上所述,根据本发明的实施例的快速傅立叶变换处理器500利用传统双端口存储器结构和流水线架构的优点,在每个蝶式运算级中执行数据数组运算。假定容纳N/2点数据的两个存储单元510和520的每个中有虚拟存储空间,则快速傅立叶变换处理器500使用一个蝶式计算元件530,并在一个时钟周期期间执行一个写入操作和一个读取操作。
如上所述,与使用容纳N点数据的两个存储单元的传统双端口存储器结构或流水线架构相比,在根据本发明的实施例的快速傅立叶变换处理器中,采用的存储单元的大小可至少减小50%。并且,在本发明中使用一个蝶式计算元件。因此,存在这样的效果,即在对数据延迟时间敏感的***中使用最小硬件成本来实现快速傅立叶变换处理器。
尽管已通过参照示范实施例来具体示出并描述了本发明,但本领域的普通技术人员应当理解,其中可作出形式和细节上的各种改变,而不背离由所附权利要求限定的本发明的精髓和范围。
Claims (20)
1、一种快速傅立叶变换处理器,包括:
存储单元,用于接收N点输入数据,存储N点输入数据,在第一级运算中存储使用输入数据而计算出的N点蝶式运算结果,以及在余下的(logmN)-1个运算级的每级中存储根据存储的前一级运算的蝶式运算结果而计算出的N点蝶式运算结果;以及
蝶式计算元件,用于对存储在存储单元中的N点数据执行基m运算,以生成被存储在存储单元中的N点蝶式运算结果。
2、如权利要求1所述的处理器,其中该存储器包括:
第一存储单元,用于存储N点数据中的N/2点数据;以及第二存储单元,用于存储N点数据中的另外N/2点数据。
3、如权利要求1所述的处理器,其中,m为2。
4、如权利要求1所述的处理器,其中,m为4。
5、如权利要求1所述的处理器,其中,m为8。
6、如权利要求2所述的处理器,其中,第一存储单元和第二存储单元为双端口存储单元。
7、如权利要求2所述的处理器,其中,蝶式计算元件从第一存储单元和第二存储单元中的每个接收m/2个数据,以执行基m运算,将基m运算结果划分为m/2个数据,并将划分为m/2个数据的基m运算结果存储在第一存储单元和第二存储单元的每个中。
8、如权利要求7所述的处理器,其中,蝶式计算元件同时存储基m运算结果、并接收要在随后的基m运算中使用的m个数据。
9、如权利要求8所述的处理器,其中,蝶式计算元件将基m运算结果存储到同步操作之前输入的数据的地址。
10、如权利要求8所述的处理器,其中,蝶式计算元件在两个或更多周期期间执行基m运算,在一个周期期间执行同步操作,并使用在同步操作之前输入的数据而在同步操作期间执行下一个基m运算。
11、一种快速傅立叶变换处理方法,包括以下操作:
接收并存储N点输入数据;
在logmN个运算级中的第一运算级,存储使用输入数据而计算出的N点蝶式运算结果;
在余下的(logmN)-1个运算级中的每级,存储根据存储的前一级运算的结果而计算出的N点蝶式运算结果;以及
分别在logmN个运算级中的每级,利用存储的N点数据来执行基m蝶式运算,以生成N点蝶式运算结果。
12、如权利要求11所述的方法,其中,存储操作中的每个包括:
将N点数据中的N/2点数据存储在第一存储单元中;以及
将N点数据中的另外N/2点数据存储在第二存储单元中。
13、如权利要求11所述的方法,其中,m为2。
14、如权利要求11所述的方法,其中,m为4。
15、如权利要求11所述的方法,其中,m为8。
16、如权利要求12所述的方法,其中,第一存储单元和第二存储单元为双端口存储单元。
17、如权利要求12所述的方法,其中,生成蝶式运算结果的操作包括:对从第一存储器接收的m/2个数据和从第二存储器接收的m/2个数据执行基m运算,将基m运算结果划分为m/2个数据,以及将划分为m/2个数据的基m运算结果存储在第一存储单元和第二存储单元中。
18、如权利要求17所述的方法,其中,生成蝶式运算结果的操作包括:同时存储基m运算结果、并接收要在随后的基m运算中使用的m个数据。
19、如权利要求18所述的方法,其中,生成蝶式运算结果的操作包括:将基m运算结果存储到同步操作之前输入的数据的地址。
20、如权利要求18所述的方法,其中,生成蝶式运算结果的操作包括:在两个或更多时钟周期期间执行基m运算,在一个时钟周期期间执行同步操作,以及在同步操作期间使用在同步操作之前输入的数据来执行随后的基m运算。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR8925/2004 | 2004-02-11 | ||
KR1020040008925A KR100825771B1 (ko) | 2004-02-11 | 2004-02-11 | 메모리를 반감하는 고속 푸리에 변환 프로세서 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1655143A true CN1655143A (zh) | 2005-08-17 |
Family
ID=34825164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200510008220XA Pending CN1655143A (zh) | 2004-02-11 | 2005-02-06 | 使用大小减半的存储器的快速傅立叶变换处理器和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050177608A1 (zh) |
KR (1) | KR100825771B1 (zh) |
CN (1) | CN1655143A (zh) |
TW (1) | TWI275005B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290613B (zh) * | 2007-04-16 | 2011-10-05 | 卓胜微电子(上海)有限公司 | Fft处理器的数据存储***和方法 |
CN101571849B (zh) * | 2008-05-04 | 2012-01-25 | 中兴通讯股份有限公司 | 一种快速傅立叶变换处理器及其方法 |
CN101794274B (zh) * | 2010-01-26 | 2012-08-08 | 华为技术有限公司 | 基于dft的数据处理方法及装置 |
CN105283921A (zh) * | 2013-06-13 | 2016-01-27 | 谷歌公司 | 非易失性存储器的操作 |
CN107844451A (zh) * | 2017-10-23 | 2018-03-27 | 复旦大学 | 一种级联板间流水线的“蝶式”传输方法 |
CN108304347A (zh) * | 2017-01-12 | 2018-07-20 | 深圳市中兴微电子技术有限公司 | 一种快速傅里叶变换处理方法和装置 |
CN110941792A (zh) * | 2018-09-24 | 2020-03-31 | 半导体元件工业有限责任公司 | 用于执行就地快速傅里叶变换的信号处理器、***和方法 |
CN113378108A (zh) * | 2020-02-25 | 2021-09-10 | 珠海市煊扬科技有限公司 | 音频处理装置的快速傅立叶变换电路 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996453B1 (en) * | 2006-08-16 | 2011-08-09 | Marvell International Ltd. | Methods and apparatus for providing an efficient FFT memory addressing and storage scheme |
US8612505B1 (en) | 2008-07-14 | 2013-12-17 | The Mathworks, Inc. | Minimum resource fast fourier transform |
US8812819B1 (en) * | 2011-08-18 | 2014-08-19 | Altera Corporation | Methods and apparatus for reordering data signals in fast fourier transform systems |
US9313069B2 (en) * | 2014-07-22 | 2016-04-12 | Zenith Electronics Llc | OFDM processing system and method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5091875A (en) * | 1990-03-23 | 1992-02-25 | Texas Instruments Incorporated | Fast fourier transform (FFT) addressing apparatus and method |
US6081821A (en) * | 1993-08-05 | 2000-06-27 | The Mitre Corporation | Pipelined, high-precision fast fourier transform processor |
US6334219B1 (en) * | 1994-09-26 | 2001-12-25 | Adc Telecommunications Inc. | Channel selection for a hybrid fiber coax network |
JPH08320858A (ja) * | 1995-05-25 | 1996-12-03 | Sony Corp | フーリエ変換演算装置および方法 |
SE507529C2 (sv) * | 1996-10-21 | 1998-06-15 | Ericsson Telefon Ab L M | Anordning och förfarande vid beräkning av FFT |
US6035313A (en) * | 1997-03-24 | 2000-03-07 | Motorola, Inc. | Memory address generator for an FFT |
US6230177B1 (en) * | 1998-06-12 | 2001-05-08 | Silicon Graphics, Inc. | Method and apparatus for performing fast fourier transforms |
KR100313501B1 (ko) * | 1999-01-12 | 2001-11-07 | 김영환 | Cbfp알고리즘을 갖는 fft프로세서 |
KR100481852B1 (ko) * | 2002-07-22 | 2005-04-11 | 삼성전자주식회사 | 고속 푸리에 변환 장치 |
-
2004
- 2004-02-11 KR KR1020040008925A patent/KR100825771B1/ko not_active IP Right Cessation
-
2005
- 2005-01-14 US US11/036,242 patent/US20050177608A1/en not_active Abandoned
- 2005-01-17 TW TW094101268A patent/TWI275005B/zh not_active IP Right Cessation
- 2005-02-06 CN CNA200510008220XA patent/CN1655143A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290613B (zh) * | 2007-04-16 | 2011-10-05 | 卓胜微电子(上海)有限公司 | Fft处理器的数据存储***和方法 |
CN101571849B (zh) * | 2008-05-04 | 2012-01-25 | 中兴通讯股份有限公司 | 一种快速傅立叶变换处理器及其方法 |
CN101794274B (zh) * | 2010-01-26 | 2012-08-08 | 华为技术有限公司 | 基于dft的数据处理方法及装置 |
CN105283921A (zh) * | 2013-06-13 | 2016-01-27 | 谷歌公司 | 非易失性存储器的操作 |
CN105283921B (zh) * | 2013-06-13 | 2019-09-13 | 谷歌有限责任公司 | 非易失性存储器的操作 |
CN108304347A (zh) * | 2017-01-12 | 2018-07-20 | 深圳市中兴微电子技术有限公司 | 一种快速傅里叶变换处理方法和装置 |
CN107844451A (zh) * | 2017-10-23 | 2018-03-27 | 复旦大学 | 一种级联板间流水线的“蝶式”传输方法 |
CN107844451B (zh) * | 2017-10-23 | 2020-11-20 | 复旦大学 | 一种级联板间流水线的“蝶式”传输方法 |
CN110941792A (zh) * | 2018-09-24 | 2020-03-31 | 半导体元件工业有限责任公司 | 用于执行就地快速傅里叶变换的信号处理器、***和方法 |
CN113378108A (zh) * | 2020-02-25 | 2021-09-10 | 珠海市煊扬科技有限公司 | 音频处理装置的快速傅立叶变换电路 |
Also Published As
Publication number | Publication date |
---|---|
TW200534122A (en) | 2005-10-16 |
US20050177608A1 (en) | 2005-08-11 |
KR100825771B1 (ko) | 2008-04-28 |
TWI275005B (en) | 2007-03-01 |
KR20050081217A (ko) | 2005-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1655143A (zh) | 使用大小减半的存储器的快速傅立叶变换处理器和方法 | |
Jo et al. | New continuous-flow mixed-radix (CFMR) FFT processor using novel in-place strategy | |
US7164723B2 (en) | Modulation apparatus using mixed-radix fast fourier transform | |
Lin et al. | Low-power variable-length fast Fourier transform processor | |
US6401162B1 (en) | Generalized fourier transform processing system | |
US20050182806A1 (en) | FFT architecture and method | |
US7752249B2 (en) | Memory-based fast fourier transform device | |
CN1265294C (zh) | 基4和混合基(4+2)fft处理器地址映射方法和*** | |
CN101154215A (zh) | 基23频域取样快速傅立叶变换的方法与硬件结构 | |
Son et al. | A high-speed FFT processor for OFDM systems | |
JP4160564B2 (ja) | 処理速度の向上した高速フーリエ変換装置およびその処理方法 | |
Lo et al. | Design of an efficient FFT processor for DAB system | |
US7555512B2 (en) | RAM-based fast fourier transform unit for wireless communications | |
US20150331634A1 (en) | Continuous-flow conflict-free mixed-radix fast fourier transform in multi-bank memory | |
CN114201725B (zh) | 基于多模可重构fft的窄带通信信号处理方法 | |
CN101719117A (zh) | 一种fft运算装置及其制造方法 | |
CN103186476B (zh) | 一种用于多流的数据缓存方法和装置 | |
CN205486097U (zh) | 基于fpga的fft装置 | |
CN106970895B (zh) | 基于fpga的fft装置及方法 | |
CN101764778A (zh) | 一种基带处理器和基带处理方法 | |
Wenqi et al. | Design of fixed-point high-performance FFT processor | |
CN101404550B (zh) | 一种drm接收机中基于正交频分复用的解调器 | |
Wu et al. | A hardware efficient VLSI architecture for FFT processor in OFDM systems | |
CN102880592A (zh) | 一种顺序输出的高精度3780点fft处理装置和方法 | |
CN1823333A (zh) | 重新编码的基-2流水线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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |