CN102004720A - 可变长快速傅立叶变换电路及实现方法 - Google Patents

可变长快速傅立叶变换电路及实现方法 Download PDF

Info

Publication number
CN102004720A
CN102004720A CN 201010536338 CN201010536338A CN102004720A CN 102004720 A CN102004720 A CN 102004720A CN 201010536338 CN201010536338 CN 201010536338 CN 201010536338 A CN201010536338 A CN 201010536338A CN 102004720 A CN102004720 A CN 102004720A
Authority
CN
China
Prior art keywords
computing unit
base computing
radix
base
door
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
CN 201010536338
Other languages
English (en)
Other versions
CN102004720B (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.)
Wuxi Zhonggan Microelectronics Co Ltd
Original Assignee
Wuxi Vimicro Corp
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 Wuxi Vimicro Corp filed Critical Wuxi Vimicro Corp
Priority to CN 201010536338 priority Critical patent/CN102004720B/zh
Publication of CN102004720A publication Critical patent/CN102004720A/zh
Application granted granted Critical
Publication of CN102004720B publication Critical patent/CN102004720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明揭露了一种快速傅立叶变换电路,用于可变长序列点的快速傅立叶变换,所述电路包括:混合基运算模块,包括若干个不同基数的基运算单元;基组合选择模块,根据待计算的序列的点数选择基运算单元的组合;控制模块,利用选择的基运算单元的组合对序列点进行快速傅立叶变换。本发明中所采用的基运算单元为可变的和可选择的,即利用混合基进行2n点的快速傅立叶变换,利用相对较低的硬件成本实现了高速低延时的快速傅立叶变换电路。这种快速傅立叶变换电路具有极大的灵活性,能够进行可变长度的FFT运算。

Description

可变长快速傅立叶变换电路及实现方法
【技术领域】
本发明涉及数字信号处理领域,特别涉及一种可变长快速傅立叶变换电路及实现方法。
【背景技术】
傅立叶变换是一种将信号从时域到频域的变换形式,是声学、图像、电信和信号处理等领域中一种重要的分析工具。其中,离散傅立叶变换(discrete Fourier transform,DFT)更是数字信号处理领域不可缺少的工具之一,特别是快速傅立叶变换(fast Fourier transform,FFT)的出现使得DFT得到了广泛的应用。采用FFT算法能使计算机计算DFT所需的乘法次数大为减少,特别是被变换的序列点的点数越多,FFT算法计算量的节省就越显著。
更详细来讲,对于长度为N点的序列X(n),其中n取0至N-1的整数,其离散傅里叶变换公式为:
X ( k ) = DFT [ x ( n ) ] = Σ n = 0 N - 1 x ( n ) W N nk 式1
其中
Figure BDA0000031366630000012
显然,采用式1进行DFT运算求出X(k),需要N2次序列点x(n)与相应旋转因子的复数乘法计算,和N(N-1)次复数加法计算,当点数N较大时,这种直接计算DFT所需要的运算量会很大,而快速傅里叶变换通过利用旋转因子
Figure BDA0000031366630000014
的周期性和对称性采用“分而治之”的方法达到了有效减少运算量的效果。
对于长度为N点的序列X(n),如果其中的N可以被分解为两个整数的乘积,即
N=LM,                式2
这里假设N不是质数并不过于严格,因为可以通过对任何序列加零来满足式2,此时快速傅里叶变换可以将N点DFT递归地分解为L点DFT和M点的DFT来计算。可以参考图1,其示出了现有技术中对一个N=15点的DFT采用FFT计算时的示意图。因为N=5*3=15,即L=5和M=3。该FFT算法步骤如下:
步骤1,将15点序列x(n)按列存储,每列5点;
步骤2,计算5行中每一行的3点DFT,这会产生一个5*3数组;步骤3,对于5*3数组中的每一项都乘以旋转因子
Figure BDA0000031366630000021
N=15;
步骤4,对于新的5*3数组中对3列中的每一列计算5点DFT,然后计算结果就是所求的DFT。最后只需将5*3数组中的结果按行读出即可。分析运算复杂度可知,快速傅里叶变换可以降低近乎一半的运算量甚至更多。易于联想地,当N为复合数时,N能够被分解为素数乘积的形式
N=r1r2...rv
从而一个N点序列的DFT就会被分解为许多更小的DFT,从而产生更有效的计算DFT的算法。在实际的应用中通常都是利用一个FFT电路或者FFT处理器来单独进行快速傅里叶变换来实现所述离散傅里叶变换的计算。由于2点的DFT是最基本的也是最容易被硬件所实现的,即所谓的基2蝶形运算单元,所以很多FFT电路或者FFT处理器都是采用基2蝶形运算单元作为基运算单元的核心来完成快速傅里叶变换的,即这类FFT电路或者FFT处理器对一个N点序列的DFT采用分解为很多个2点的DFT来计算。类似地,还有基4FFT电路或者FFT处理器、基8FFT电路或者FFT处理器甚至采用基16蝶形运算单元、基32蝶形运算单元的FFT电路或者FFT处理器。
显然,当FFT电路或者FFT处理器采用的基运算单元的基数越高,越有利于提高运算速度并且运算量越小,但是同时对软、硬件的要求越高。另一方面,虽然FFT电路或者处理器可以采用基-2FFT运算、基-4FFT运算、基-8FFT运算甚至是基-16FFT运算等等,但是通常一个FFT电路或者处理器只使用一种固定基数的基运算单元,如基数为2的基运算单元或基数为4的基运算单元。这种电路只能对点数为固定基数的整数次幂的序列点进行FFT变换,具有很大局限性。也就是说,采用基数为4的基运算单元的基-4FFT电路或者FFT处理器只能对点数是4L的序列点进行计算,而不能对点数是2L的所有序列点进行计算;采用基数为8的基运算单元的基-8FFT只能对点数是8L的序列点进行计算,而不能对点数是2L或者4L的所有序列点进行计算。也就是说这些FFT电路或者FFT处理器对能够处理的序列点的点数有着限制,不能满足一些情况下的应用。
因此,有必要提出一种新的技术方案来解决上述缺点。
【发明内容】
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
本发明的一个目的在于提供一种新的快速傅立叶变换电路。
本发明的另一目的在于提供一种新的快速傅立叶变换的实现方法。
为了达到本发明的目的,本发明提供一种快速傅立叶变换电路,用于可变长序列点的快速傅立叶变换,所述电路包括:混合基运算模块,包括若干个不同基数的基运算单元;基组合选择模块,根据待计算的序列的点数选择基运算单元的组合;控制模块,利用选择的基运算单元的组合对序列点进行快速傅立叶变换。
进一步地,所述基运算单元的基数为2n,其中n为大于0的整数,每个基运算单元的基数都不同。
进一步地,所述基运算单元的组合中的基运算单元的基数之积等于待计算的序列的点数,并且所述基运算单元的组合中的基运算单元的个数最少。
进一步地,所述基运算单元的组合包括不同基运算单元的组合和同一基运算单元的重复。
进一步地,所述混合基运算模块中的高基数的基运算单元由低基数的基运算单元迭代实现。
进一步地,所述基运算单元包括蝶形运算单元和旋转因子单元。
进一步地,所述混合基运算模块包括基数为2的基运算单元、基数为4的基运算单元和基数为8的基运算单元。
进一步地,所述基组合选择模块包括若干级判断电路,每一级判断电路包括第一或门和第二或门,其中第一或门接收所述点数的二进制表示的第3m-2位和第3m-1位,其中第二或门接收所述点数的二进制表示的第3m-1位和第3m位,其中m为该级判断电路的级数,m为大于0的整数。
进一步地,当第一或门的输出为1,第二或门的输出为0时,该级判断电路选择基数为2的基运算单元;当第一或门的输出为1且第二或门的输出也为1时,该级判断电路选择基数为4的基运算单元;当第一或门的输出为0,第二或门的输出为1时,该级判断电路选择基数为8的基运算单元,当第一或门的输出为0且第二或门的输出也为0时,该级判断电路选择基数为8的基运算单元并且进入下一级判断电路继续选择。
本发明同时提供一种快速傅立叶变换实现方法,所述方法包括:预定义若干个不同基数的基运算单元;输入有限长序列点及该序列的点数;根据序列点的点数选择预定义的基运算单元的组合,被选择的基运算单元的基数之积等于待计算的序列的点数,并且所述基运算单元的组合中的基运算单元的个数最少;和根据选择的基组合对有限长序列点进行快速傅立叶变换。
进一步地,所述基运算单元的基数为2n,其中n为大于0的整数,每个基运算单元的基数都不同。
与现有技术相比,本发明中所采用的基运算单元为可变的和可选择的,即利用混合基进行2n点的快速傅立叶变换,利用相对较低的硬件成本实现了高速低延时的快速傅立叶变换电路。这种快速傅立叶变换电路具有极大的灵活性,能够进行可变长度的FFT运算。
【附图说明】
结合参考附图及接下来的详细描述,本发明将更容易理解,其中同样的附图标记对应同样的结构部件,其中:
图1为现有技术中对一个N=15点的DFT采用FFT计算时的示意图;
图2为本发明的一个实施例中的可变长快速傅立叶变换电路的结构方框图;
图3为本发明中的一个实施例中的可变长快速傅立叶变换电路的结构示意图;
图4为本发明中的一个实施例中的判断电路的结构示意图;
图5为本发明中的一个实施例中判断电路选择基组合信息的结果示意图;和
图6为本发明中的一个实施例中的可变长快速傅里叶变换方法的方法流程图。
【具体实施方式】
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了很多特定细节。而在没有这些特定细节时,本发明则可能仍可实现。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。换句话说,为避免混淆本发明的目的,由于熟知的方法、程序、成分和电路已经很容易理解,因此它们并未被详细描述。
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。
本发明中的快速傅立叶变换电路包括了可供选择的不同基数的基运算单元,和相应的基组合选择模块,从而改变了传统的只能对固定点数的序列点进行快速傅立叶变换的模式,能够对不同长度的序列点选择最佳或者较佳的基运算单元组合进行快速、高效地快速傅里叶变换计算。
请参考图2,其示出了本发明的一个实施例中的可变长快速傅立叶变换电路200的结构方框图。所述可变长快速傅立叶变换电路200可以快速高效地计算任一点数N=2n的序列的DFT,其中n为大于0的整数。所述可变长快速傅立叶变换电路200包括混合基运算模块202、基组合选择模块204和控制模块206。
混合基运算模块202包括若干个不同基数的基运算单元,比如第一基运算单元、第二基运算单元,...,第五基运算单元等等。所述基运算单元的基数为2n,其中n为大于0的整数,每个基运算单元的基数都不同。譬如在一个实施例中,所述混合基运算模块202包括基数为2的基运算单元、基数为4的基运算单元和基数为8的基运算单元。在另一个实施例中,所述混合基运算模块202包括基数为2的基运算单元、基数为4的基运算单元和基数为16的基运算单元。在再一个实施例中,所述混合基运算模块202包括基数为2的基运算单元和基数为4的基运算单元。总之,所述混合基运算模块202内有不同基数的基运算单元可供选择。
基组合选择模块204根据待计算的序列的点数选择最佳或者较佳的基运算单元的组合来对待计算的序列计算DFT。所述待计算的序列数可以为2n中的任意一个数,其中n为大于0的整数。因为待计算的序列的点数不定,故需要在实际计算中尽可能选择最快速、最合理的基运算单元组合来对待计算的序列进行DFT计算。具体来讲,对于待计算的点数为N的序列,选择最佳或者较佳的基组合使得:
N=a1a2...av
其中a1,a2,...av的值等于所述混合基运算模块202内包括的基运算单元的基数,特别地,a1,a2,...av优先选择较高的基数。也就是说,所述基运算单元组合中的基运算单元的基数之积等于待计算的序列的点数,并且所述基运算单元的组合中的基运算单元的个数最少。例如如果混合基运算模块202包括基数为2的基运算单元和基数为4的基运算单元,而待计算的序列的点数为16,虽然N=16=2*2*2*2=4*2*2=4*4,但是为了计算的高效性,优先选择N=16=4*4的方式来将序列点数为16的DFT递归地分解为4点DFT和4点DFT来计算。还比如说混合基运算模块202包括基数为2的基运算单元、基数为4的基运算单元和基数为8的基运算单元,而待计算的序列数为256,虽然N=256=8*8*4=8*4*4*2=4*4*4*4=2*2*2*2*2*2*2*2,但是为了计算的高效性,优先选择N=256=8*8*4的方式来将序列点数为256的DFT递归地分解为8点DFT、8点DFT和4点的DFT来计算。
控制模块206利用选择的基运算单元的组合按照预定策略对待计算的序列进行快速傅立叶变换。当所述基组合选择模块204选择最佳或者较佳的基运算单元的组合后,将选择的基组合信息给所述控制模块206,所述控制模块206根据选择的基组合信息控制相关的数据存储、递归逻辑等等,这部分内容与现有通用FFT电路或者FFT处理器类似,是本领域技术人员易于思及的内容,故不作进一步地详细阐述。
综上所述,所述可变长快速傅立叶变换电路200通过采用不同基数的基运算单元,并结合基组合选择模块来选择最佳或者较佳的基运算单元的组合来进行快速傅里叶变换计算,由于具体的基组合是根据待计算的序列的点数实时计算分析的,所以本发明的一个特点是可以计算可变长点的序列的DFT,而不局限于固定点数的序列的DFT计算;另一特点是利用相对较低的硬件成本实现了高速低延时的快速傅立叶变换电路。
请参考图3,其示出了本发明的一个实施例中的可变长快速傅立叶变换电路300的结构方框图。所述可变长快速傅立叶变换电路300可实现2n点的快速傅立叶变换,其中n为大于0且小于13的所有整数。所述可变长快速傅里叶变换电路300包括混合基运算模块320、基组合选择模块340和控制模块360。
所述混合基运算模块320包括基2基运算单元322、基4基运算单元324和基8基运算单元326。所述基2基运算单元322包括串联的基数为2的蝶形运算单元和旋转因子单元;所述基4基运算单元324包括串联的基数为4的蝶形运算单元和旋转因子单元;所述基8基运算单元326包括串联的基数为8的蝶形运算单元和旋转因子单元。
所述基组合选择模块340包括判断电路,该判断电路接收待计算的序列的点数,然后根据该点数判断或者说选择出适用于该序列的基组合信息。首先应当注意到一个特点,由于所述点数为2n,当其转换为一个二进制数后只有一位是1剩下的全是0。在本实施例中,由于n为大于0且小于13的所有整数,所以所述点数的二进制表示包括13位,即第0位、第1位、第2位、...、第12位。由于第0位为1时,所述二进制数为奇数不是2n,故暂时不考虑第0位的情况。所述判断电路可以参考图4,其示出了本发明的一个实施例中的判断电路400的结构原理图。所述判断电路400包括第一级判断电路410、第二级判断电路420、第三级判断电路430和第四级判断电路440,所述第一级判断电路410根据所述点数的第1、2和3位选择基运算单元,所述第二级判断电路420根据所述点数的第4、5和6位选择基运算单元,所述第三级判断电路430根据所述点数的第7、8和9位选择基运算单元,所述第四级判断电路440根据所述点数的第10、11和12位选择基运算单元,
所述第一级判断电路410包括第一或门412和第二或门414,所述第一或门412的两个输入端分别接收所述点数的第1位和第2位,所述第二或门414的两个输入端分别接收所述点数的第2位和第3位。当所述第一或门412的输出为1,所述第二或门414的输出为0时,可以判断出所述点数的第1位为1,也即所述点数是2,则此时选择基数为2的基运算单元来计算;当所述第一或门412的输出为1,所述第二或门414的输出也为1时,可以判断出所述点数的第2位为1,也即所述点数是4,则此时选择基数为4的基运算单元来计算;当所述第一或门412的输出为0,所述第二或门414的输出为1时,可以判断出所述点数的第3位为1,也即所述点数是8,则此时选择基数为8的基运算单元来计算;当所述第一或门412的输出为0,所述第二或门414的输出也为0时,可以判断出所述点数的前三位都是0,也即所述点数大于8,则此时选择基数为8的基运算单元来计算同时进入下一级判断电路。
所述第二级判断电路420包括第三或门422和第四或门424,所述第三或门422的两个输入端分别接收所述点数的第4位和第5位,所述第四或门424的两个输入端分别接收所述点数的第5位和第6位。当所述第三或门422的输出为1,所述第四或门424的输出为0时,可以判断出所述点数的第4位为1,也即所述点数是16,则此时选择基数为2的基运算单元来计算,由于第一级判断电路410已经选择了基数为8的基运算单元,所以当所述点数是16时,判断电路选择的基组合符合N=16=8*2;当所述第三或门422的输出为1,所述第四或门424的输出也为1时,可以判断出所述点数的第5位为1,也即所述点数是32,则此时选择基数为4的基运算单元来计算,由于第一级判断电路410已经选择了基数为8的基运算单元,所以当所述点数是32时,判断电路选择的基组合符合N=32=8*4;当所述第三或门422的输出为0,所述第四或门424的输出为1时,可以判断出所述点数的第6位为1,也即所述点数是64,则此时选择基数为8的基运算单元,由于第一级判断电路410已经选择了基数为8的基运算单元,所以当所述点数是64时,判断电路选择的基组合符合N=64=8*8;当所述第三或门422的输出为0,所述第四或门424的输出也为0时,可以判断出所述点数大于64,则此时选择基数为8的基运算单元,并进入下一级判断电路。
所述第三级判断电路430包括第五或门432和第六或门434,所述第五或门432的两个输入端接收所述点数的第7位和第8位,所述第六或门434的两个输入端接收所述点数的第8位和第9位。当所述第五或门432的输出为1,所述第六或门434的输出为0时,可以判断出所述点数的第7位为1,也即所述点数为128,则此时选择基数为2的基运算单元,由于第一级判断电路410和第二级判断电路420都选择了基数为8的基运算单元,所以当所述点数是128时,判断电路选择的基组合符合N=128=8*8*2;当所述第五或门432的输出为1,所述第六或门434的输出也为1时,可以判断出所述点数的第8位为1,也即所述点数为256,则此时选择基数为4的基运算单元,由于第一级判断电路410和第二级判断电路420都选择了基数为8的基运算单元,所以当所述点数是256时,判断电路选择的基组合符合N=256=8*8*4;当所述第五或门432的输出为0,所述第六或门434的输出也为1时,可以判断出所述点数的第9位为1,也即所述点数为512,则此时选择基数为8的基运算单元,由于第一级判断电路410和第二级判断电路420都选择了基数为8的基运算单元,所以当所述点数是512时,判断电路选择的基组合符合N=512=8*8*8;当所述第五或门432的输出为0,所述第四或门434的输出也为0时,可以判断出所述点数大于512,则此时选择基数为8的基运算单元,并进入下一级判断电路。
所述第四级判断电路440包括第七或门442和第八或门444,所述第七或门442输入点数的第10位和第11位,所述第八或门444输入点数的第11位和第12位。当所述第七或门442的输出为1,所述第八或门444的输出为0时,可以判断出所述点数的第10位为1,也即所述点数为1024,则此时选择基数为2的基运算单元,由于第一级判断电路410、第二级判断电路420和第三级判断电路430都选择了基数为8的基运算单元,所以当所述点数是1024时,判断电路选择的基组合符合N=1024=8*8*8*2;当所述第七或门442的输出为1,所述第八或门444的输出也为1时,可以判断出所述点数的第11位为1,也即所述点数为2048,则此时选择基数为4的基运算单元,由于第一级判断电路410、第二级判断电路420和第三级判断电路430都选择了基数为8的基运算单元,所以当所述点数是2048时,判断电路选择的基组合符合N=2048=8*8*8*4;当所述第七或门442的输出为0,所述第八或门444的输出为1时,可以判断出所述点数的第12位为1,也即所述点数为4086,则此时选择基数为8的基运算单元,由于第一级判断电路410、第二级判断电路420和第三级判断电路430都选择了基数为8的基运算单元,所以当所述点数是4086时,判断电路选择的基组合符合N=4086=8*8*8*8。
控制模块360包括逻辑控制单元362、第一选择器364和第二选择器366。所述逻辑控制单元362接收所述基组合选择模块340各级判断电路的输出结果,然后按照各级判断电路选择的结果生成控制逻辑,然后发出控制信号给所述第一选择器364和第二选择器366。所述第一选择器364接收待计算的序列,然后根据所述逻辑控制单元362的控制信号将待计算的序列送入相应的基运算单元。所述第二选择器366则将基运算单元的计算结果按照所述逻辑控制单元362的控制信号返回继续计算或者输出。以较简单的点数为16的序列的DFT计算为例,所述基组合选择模块340在判断完毕后发出基组合信号,该基组合信号可以直接是所述判断电路中第一级判断电路的两个1或者说两个高电平信号,也可以是所述基组合选择模块340根据第一级判断电路的输出产生的代表基组合是N=16=4*4的其他基组合信号,然后所述逻辑控制单元362根据该基组合信号,控制所述第一选择器364将待计算的序列输入基4基运算单元,然后计算完毕后,再通过第一选择器364输入给基4基运算单元,最后控制所述第二选择器366输出最终计算结果。因为具体的快速傅里叶变换计算方法和相关的硬件控制逻辑,比如内存读数据,计算结果中间存储以及旋转因子计算等是通用FFT电路和FFT处理器都较为成熟的技术,这部分内容也是本领域技术人员易于思及的内容,故不作进一步地详细阐述。
应当认识到,所述判断电路还可以继续增加第五级判断电路、第六级判断电路等等,以便能够计算更多点数的序列的DFT。也可以增加对所述点数第0位的检测,当第0位是1时视为出错处理。对于不同的实施例,所述混合基运算模块包括的基运算单元不一定相同,对应的判断电路也不相同。在一些实施例中,所述混合基运算模块中的高基数的基运算单元还可以由低基数的基运算单元迭代实现,如基数为16的基运算单元可以由基数为2、4和8的基运算单元实现。图5同时示出了所述判断电路400对于不同点数的序列选择的基组合信息,以便更为明了地理解所述判断电路400的工作原理。其中Y1、Y2、Y3、Y4、Y5、Y6、Y7和Y8分别对应第一或门412、第二或门414、第三或门422、第四或门424、第五或门432、第六或门434、第七或门442和第八或门444的输出。
本发明同时提出一种可变长快速傅立叶变换电路实现方法,请参考图6,其示出了本发明的一个实施例中的可变长快速傅立叶变换电路实现方法600的方法流程图。所述可变长快速傅立叶变换实现方法600可实现2n点的快速傅立叶变换。所述可变长快速傅立叶变换电路实现方法600包括:
步骤602,预定义若干个不同基数的基运算单元。所述基运算单元的基数为2n,其中n为大于0的整数,每个基运算单元的基数都不同。
步骤604,输入有限长序列点及该序列的点数。所述序列的点数可以通过实时计算而得到相应的二进制表示。
步骤606,根据序列点的点数选择预定义的基运算单元的组合,被选择的基运算单元的基数之积等于待计算的序列的点数,并且所述基运算单元的组合中的基运算单元的个数最少。
步骤608,根据选择的基组合对有限长序列点进行快速傅立叶变换。
上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于所述具体实施方式。

Claims (11)

1.一种快速傅立叶变换电路,用于可变长序列点的快速傅立叶变换,其特征在于,其包括:
混合基运算模块,包括若干个不同基数的基运算单元;
基组合选择模块,根据待计算的序列的点数选择基运算单元的组合;
控制模块,利用选择的基运算单元的组合对序列点进行快速傅立叶变换。
2.根据权利要求1所述的电路,其特征在于,所述基运算单元的基数为2n,其中n为大于0的整数,每个基运算单元的基数都不同。
3.根据权利要求1所述电路,其特征在于,所述基运算单元的组合中的基运算单元的基数之积等于待计算的序列的点数,并且所述基运算单元的组合中的基运算单元的个数最少。
4.根据权利要求1所述电路,其特征在于,所述基运算单元的组合包括不同基运算单元的组合和同一基运算单元的重复。
5.根据权利要求1或2所述的电路,其特征在于,所述混合基运算模块中的高基数的基运算单元由低基数的基运算单元迭代实现。
6.根据权利要求1至5任一所述的电路,其特征在于,所述基运算单元包括蝶形运算单元和旋转因子单元。
7.根据权利要求1所述的电路,其特征在于,所述混合基运算模块包括基数为2的基运算单元、基数为4的基运算单元和基数为8的基运算单元。
8.根据权利要求7所述的电路,其特征在于,所述基组合选择模块包括若干级判断电路,每一级判断电路包括第一或门和第二或门,其中第一或门接收所述点数的二进制表示的第3m-2位和第3m-1位,其中第二或门接收所述点数的二进制表示的第3m-1位和第3m位,其中m为该级判断电路的级数,m为大于0的整数。
9.根据权利要求8所述的电路,其特征在于,当第一或门的输出为1,第二或门的输出为0时,该级判断电路选择基数为2的基运算单元;当第一或门的输出为1且第二或门的输出也为1时,该级判断电路选择基数为4的基运算单元;当第一或门的输出为0,第二或门的输出为1时,该级判断电路选择基数为8的基运算单元,当第一或门的输出为0且第二或门的输出也为0时,该级判断电路选择基数为8的基运算单元并且进入下一级判断电路继续选择。
10.一种快速傅立叶变换实现方法,其特征在于,其包括:
预定义若干个不同基数的基运算单元;
输入有限长序列点及该序列的点数;
根据序列点的点数选择预定义的基运算单元的组合,被选择的基运算单元的基数之积等于待计算的序列的点数,并且所述基运算单元的组合中的基运算单元的个数最少;和
根据选择的基组合对有限长序列点进行快速傅立叶变换。
11.根据权利要求10所述的方法,其特征在于,所述基运算单元的基数为2n,其中n为大于0的整数,每个基运算单元的基数都不同。
CN 201010536338 2010-11-09 2010-11-09 可变长快速傅立叶变换电路及实现方法 Active CN102004720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010536338 CN102004720B (zh) 2010-11-09 2010-11-09 可变长快速傅立叶变换电路及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010536338 CN102004720B (zh) 2010-11-09 2010-11-09 可变长快速傅立叶变换电路及实现方法

Publications (2)

Publication Number Publication Date
CN102004720A true CN102004720A (zh) 2011-04-06
CN102004720B CN102004720B (zh) 2013-04-03

Family

ID=43812091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010536338 Active CN102004720B (zh) 2010-11-09 2010-11-09 可变长快速傅立叶变换电路及实现方法

Country Status (1)

Country Link
CN (1) CN102004720B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708092A (zh) * 2012-05-21 2012-10-03 复旦大学 一种实现混合基fft末级重排序的映射迭代算法
CN103955446B (zh) * 2014-04-28 2017-04-19 中国人民解放军国防科学技术大学 基于dsp芯片的可变长度fft计算方法
CN103838703B (zh) * 2012-11-26 2017-11-24 上海贝尔股份有限公司 用于基于大点数傅里叶变换实现信号处理的方法和设备
CN111404858A (zh) * 2020-03-17 2020-07-10 北京华力创通科技股份有限公司 应用于宽带卫星通信系统的高效的fft处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1663208A (zh) * 2002-06-27 2005-08-31 三星电子株式会社 利用混合基数快速付里叶变换的调制设备
CN101340414A (zh) * 2007-07-06 2009-01-07 联发科技股份有限公司 可变长度的快速傅立叶转换系统及其执行方法
CN101571849A (zh) * 2008-05-04 2009-11-04 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN101587469A (zh) * 2009-06-03 2009-11-25 北京大学深圳研究生院 可变长度的快速傅立叶变换装置
CN201886472U (zh) * 2010-11-09 2011-06-29 无锡中星微电子有限公司 可变长快速傅立叶变换电路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1663208A (zh) * 2002-06-27 2005-08-31 三星电子株式会社 利用混合基数快速付里叶变换的调制设备
CN101340414A (zh) * 2007-07-06 2009-01-07 联发科技股份有限公司 可变长度的快速傅立叶转换系统及其执行方法
CN101571849A (zh) * 2008-05-04 2009-11-04 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN101587469A (zh) * 2009-06-03 2009-11-25 北京大学深圳研究生院 可变长度的快速傅立叶变换装置
CN201886472U (zh) * 2010-11-09 2011-06-29 无锡中星微电子有限公司 可变长快速傅立叶变换电路

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708092A (zh) * 2012-05-21 2012-10-03 复旦大学 一种实现混合基fft末级重排序的映射迭代算法
CN102708092B (zh) * 2012-05-21 2016-01-20 复旦大学 一种实现混合基fft末级重排序的映射迭代方法
CN103838703B (zh) * 2012-11-26 2017-11-24 上海贝尔股份有限公司 用于基于大点数傅里叶变换实现信号处理的方法和设备
CN103955446B (zh) * 2014-04-28 2017-04-19 中国人民解放军国防科学技术大学 基于dsp芯片的可变长度fft计算方法
CN111404858A (zh) * 2020-03-17 2020-07-10 北京华力创通科技股份有限公司 应用于宽带卫星通信系统的高效的fft处理方法和装置

Also Published As

Publication number Publication date
CN102004720B (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN101763338B (zh) 一种点数可变的混合基fft/ifft实现装置及其方法
CN103870438B (zh) 一种利用数论变换计算循环卷积的电路结构
CN106951211B (zh) 一种可重构定浮点通用乘法器
CN103226543B (zh) 一种流水线结构的fft处理器
CN102063411A (zh) 一种基于802.11n的FFT/IFFT处理器
CN101937424A (zh) 基于fpga实现高速fft处理的方法
CN102298570A (zh) 一种点数可变的混合基 fft/ifft实现装置及其方法
CN102004720B (zh) 可变长快速傅立叶变换电路及实现方法
CN108021781A (zh) 一种可参数化的fft ip核设计和优化方法
CN102043760A (zh) 数据处理方法及系统
US20140330880A1 (en) Methods and devices for multi-granularity parallel fft butterfly computation
Cho et al. Design of very high-speed pipeline FIR filter through precise critical path analysis
CN106682732B (zh) 一种应用于神经网络的高斯误差函数电路
CN201886472U (zh) 可变长快速傅立叶变换电路
CN114185014B (zh) 一种应用于雷达信号处理的并行卷积方法及装置
Nassif et al. Introduction to numerical analysis and scientific computing
Nagayama et al. Complexities of graph-based representations for elementary functions
Deng et al. A new sign detection design for the residue number system based on quantum-dot cellular automata
KR100617248B1 (ko) 고속 푸리에 변환 장치 및 방법
Temenos et al. A Markov chain framework for modeling the statistical properties of stochastic computing finite-state machines
CN112667959B (zh) 混合基dft处理方法、装置、设备及存储介质
Bhosale et al. Optimization of Partial Products in Modified Booth Multiplier
CN103870437A (zh) 数字信号处理装置及其处理方法
Alia et al. On the lower bound to the VLSI complexity of number conversion from weighted to residue representation
Raju et al. Design and implementation of 16-bit MAC ternary multiplier

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
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 214028 Jiangsu New District of Wuxi, Taihu international science and Technology Park Jia Qing 530 building 10 layer

Patentee after: WUXI ZHONGGAN MICROELECTRONIC CO., LTD.

Address before: 214028 Jiangsu New District of Wuxi, Taihu international science and Technology Park Jia Qing 530 building 10 layer

Patentee before: Wuxi Vimicro Co., Ltd.