用于快速傅立叶变换的旋转因子的产生方法及其电路的制作方法

文档序号:6364956阅读:535来源:国知局
专利名称:用于快速傅立叶变换的旋转因子的产生方法及其电路的制作方法
技术领域
本发明涉及一种用于快速傅立叶变换的旋转因子的产生方法及其电路,属于数字信号处理技术领域。
背景技术
随着互补金属氧化物(以下简称CMOS)工艺技术的迅速发展,片上系统(system-on-chip,以下简称SOC)以其低功耗、低成本和体积小等优点正在成为现代通信系统设计的主流技术。其中随着构成各种通信系统和信号处理系统的CMOS集成电路集成度的提高,为降低芯片的工作温度,低功耗设计变得非常重要,因此用于各种通信系统和信号处理系统中的快速傅立叶变换(以下简称FFT)的低功耗设计也就变得十分重要。
FFT算法本身发展比较成熟,也有大量的硬件实例。但是,它们都不能很好地满足现代超大规模集成电路对系统的低功耗要求。除了FFT算法需要在功耗方面进一步优化外,FFT中用到的旋转因子产生电路的功耗也很大,所以降低旋转因子产生电路的功耗也成为减小FFT功耗的一个重要的方面。
FFT算法是离散傅立叶变换(以下简称DFT)的一种快速算法,对离散信号x(n)的DFT计算公式为x(k)=Σn=0N-1x(n)WNnk,---(1)]]>其中k=0,1,...,N-1,N为离散傅立叶变换的点数,WNnk为旋转因子,x(n)和x(k)都是复数,分别为信号的输入序列和其对应的离散频谱。WNnk可表示为WNnk=e-j2πnk/N=cos(2πnk/N)-jsin(2πnk/N)---(2)]]>对于N点的离散傅立叶变换变换,需要N/2个上述旋转因子。
最直接的产生旋转因子的方法是将所有旋转因子存储在只读存储器(以下简称ROM)中,然后根据所需旋转因子的地址从只读存储器中读出与该地址相应的旋转因子。但是当FFT的点数N较大时,所需要的ROM也很大。由于大ROM有很大的位线电容和字线电容,所以采用直接读取的方法会带来很大的功耗,尤其是当旋转因子的位数大和读取速度快时这个问题更加突出。
为了减小旋转因子产生电路的功耗,人们采取了各种方法。这些方法主要包括(1)根据所有旋转因子相互之间的关系和对称特性来压缩ROM,使ROM的容量由原来的N/2减小到N/8,这样可以大大降低由ROM所带来的功耗;(2)针对旋转因子产生电路的功耗来优化FFT的算法,在FFT计算中尽量减少读取所需旋转因子的次数,做到每个旋转因子只读取一次;(3)由于ROM中存在直流功耗,采用动态随机存取存储器(以下简称DRAM)代替ROM,以解决直流功耗的问题。同时对DRAM中的字线和位线的充放电进行管理,取消不必要的位线预充和不必要的字线充电,达到降低功耗的目的。
上述现有技术存在如下问题(1)采用压缩ROM的方法虽然能减小功耗,但是ROM的压缩比例是有限的,当N很大且旋转因子的分辨率很高时,ROM的功耗仍然很大;(2)ROM的字线电容和位线电容都比较大,使得旋转因子的读取速度受到限制;(3)无论ROM还是DRAM,设计难度都很大,增加了电路的设计成本。

发明内容
本发明的目的是针对以上现有技术存在的问题,提出一种用于快速傅立叶变换的旋转因子的产生方法及其电路,电路完全由逻辑门实现,这样不仅可以进一步降低旋转因子产生电路的功耗,而且可以充分发挥逻辑综合工具的作用,达到电路在速度和功耗的最佳优化。
本发明提出的用于快速傅立叶变换的旋转因子的产生方法,包括以下步骤1、根据快速傅立叶变换计算中所需旋转因子的地址和时钟信号,产生多个旋转因子子地址,同时产生与所需旋转因子相对应的非零控制信号和数据切换控制信号;2、对上述每个旋转因子的子地址通过逻辑进行数据合成,复原出与每个旋转因子子地址相对应的子旋转因子;3、根据上述第1步的非零控制信号,对上述第2步产生的复原子旋转因子进行选择,产生一个旋转因子绝对值Xj,与该旋转因子绝对值Xj对应的地址中不含原旋转因子地址的最高位;4、用上述第1步的数据切换控制信号对上述第3步的旋转因子绝对值Xj进行数据重组,产生带符号位的旋转因子实部和旋转因子虚部,即为快速傅立叶变换计算中所需旋转因子。
上述方法中产生旋转因子子地址的方法包括如下步骤(1)将旋转因子地址位进行重组,使位数为log2N的旋转因子地址中的第0位到第n-1位为旋转因子的原始子地址,第n位到第m+n-1位为控制地址,且m+n+1=log2N,其中N为快速傅立叶变换的点数,n和m分别为原始子地址和控制地址的位宽;(2)对控制地址进行m→2m译码,产生2m位的子地址选择信号用以控制子地址去向;(3)根据上述原始子地址和上述时钟信号,在子地址选择信号的控制下进行子地址分配,得到2m个n位的子地址。
上述方法中产生非零控制信号的方法是对子地址选择信号在上述时钟信号的作用下延时一个时钟信号周期,得到2m位的非零控制信号;产生数据切换控制信号的方法是对旋转因子地址的最高位在时钟信号的作用下延时一个时钟信号周期,得到数据切换控制信号。
上述方法中对子地址分配的方法为使上述子地址选择信号中的每一位分别对应一个子地址,当上述时钟信号的上升沿到来时,若与上述子地址相对应的子地址选择信号位为‘1’,则该子地址变成当前原始子地址的值,否则该子地址的值不变。
上述方法中通过逻辑进行数据合成的方法,包括如下步骤(1)将由旋转因子的虚部绝对值和实部绝对值组成的2(v-1)位的数据,按地址编号0到N/4-1,从小到大均匀分成2m个子旋转因子,其中v为快速傅立叶变换所需的旋转因子的分辨率;(2)使每个旋转因子子地址分别对应上述一个子旋转因子,并根据该子旋转因子中的每一位与该子旋转因子地址的逻辑关系复原出该子旋转因子。
上述方法中产生旋转因子绝对值Xj的方法,包括如下各步骤(1)使非零控制信号的每一位分别对应一个复原子旋转因子,若该位非零控制信号为‘1’,则将与该位相对应的复原子旋转因子直接输出,若为‘0’则输出0;(2)对上述经过处理后的复原子旋转因子进行数据相加,得到旋转因子绝对值Xj。
上述方法中重组快速傅立叶变换计算中所需旋转因子的方法,包括如下步骤(1)若数据切换控制信号为‘0’,则将旋转因子绝对值Xj直接输出,若数据切换控制信号为‘1’,则将旋转因子绝对值Xj的高v-1位与低v-1位对调后输出,得到地址带有旋转因子地址最高位的旋转因子绝对值XG;(2)使输出的旋转因子虚部的符号位为‘1’,输出的旋转因子实部的符号位与数据切换控制信号相同。
本发明提出的用于快速傅立叶变换的旋转因子的产生电路,包括产生旋转因子子地址电路、复原子旋转因子电路、选择复原子旋转因子电路以及重组旋转因子绝对值电路;其中产生旋转因子子地址电路根据旋转因子地址和时钟信号产生多个旋转因子子地址,同时产生与所需旋转因子相对应的非零控制信号和数据切换控制信号;复原子旋转因子电路对每个旋转因子子地址通过逻辑进行数据合成,复原出分别与每个旋转因子子地址相对应的复原子旋转因子;选择复原子旋转因子电路根据非零控制信号对复原子旋转因子进行选择,产生旋转因子绝对值Xj;重组旋转因子绝对值电路根据数据切换控制信号和旋转因子绝对值Xj产生所需的带符号位的旋转因子实部和旋转因子虚部。
上述电路中的产生旋转因子子地址电路,包括m→2m译码器、子地址分配电路和触发器;旋转因子地址的第n位到第m+n-1位作为控制地址输入给m→2m译码器,产生位宽为2m的子地址选择信号;设快速傅立叶变换计算中所需旋转因子地址的第0位到第n-1位作为原始子地址,将该原始子地址、上述子地址选择信号以及时钟信号共同输入给子地址分配电路,得到2m个n位的子地址;将子地址选择信号输入给位宽为2m的触发器,该触发器在时钟信号的上升沿到来时将子地址选择信号传给非零控制信号;将旋转因子地址的最高位输入给触发器,该触发器在时钟信号的上升沿到来时将旋转因子地址的最高位传给数据切换控制信号。
其中的子地址分配电路包括2m个地址选通电路;子地址选择信号、原始子地址和时钟信号分别输入每个地址选通电路,在相应的子地址选择信号位的控制下,当时钟信号的上升沿到来时产生位宽与原始子地址相同的子地址;其中的地址选通电路由二输入与门和位宽与原始子地址相同的触发器组成;二输入与门的一个输入端与时钟信号相连,另一个输入端与子地址选择信号的某一位相连,它的输出端作为触发器的时钟信号;触发器的输入端与原始子地址相连,输出端为被选通的子地址,在子地址选择信号的控制下,输出被选通的子地址。
上述电路中的复原子旋转因子电路,包括2m个子旋转因子合成电路;每个子旋转因子合成电路的输入端分别与一个子地址相连,输出端为对应该子地址的复原子旋转因子,将由旋转因子的虚部绝对值和实部绝对值组成的2(v-1)位的数据,按地址编号0到N/4-1,从小到大均匀分成2m个子旋转因子,其中v为快速傅立叶变换所需的旋转因子的分辨率,使每个旋转因子子地址分别对应上述一个子旋转因子,并根据该子旋转因子中的每一位与该子旋转因子地址的逻辑关系复原出该子旋转因子。
上述电路中的选择复原子旋转因子电路,包括非零控制电路和数据相加电路;其中非零控制电路的输入为非零控制信号和上述复原子旋转因子,分别用非零控制信号中的一位处理一个复原子旋转因子,使所有复原子旋转因子中的一个为非零,然后输入给数据相加电路,使子旋转因子的相同位输入给或门,得到旋转因子绝对值Xj。其中的非零控制电路包括2m个切换电路,每个切换电路由2(v-1)个二输入与门组成,该电路的输入端接非零控制信号和复原子旋转因子,输出端为处理后的复原子旋转因子,其中每个切换电路中,二输入与门的一个输入端与非零控制信号的一位相连,与门的另一个输入端与该位非零控制信号相对应的子旋转因子的一位相连。
上述电路中的重组旋转因子绝对值电路,包括两个位宽为v-1的二选一多路器;该电路接收数据切换控制信号和旋转因子绝对值Xj,在数据切换控制信号的控制下产生与快速傅立叶变换计算中所需旋转因子地址相对应的带符号位的旋转因子实部和虚部,其中二选一多路器的控制信号为数据切换控制信号,二选一多路器的两个输入端分别与旋转因子绝对值Xj的低v-1位和高v-1位相连,每个二选一多路器的输出端分别与旋转因子绝对值XG的实部绝对值XG和虚部绝对值XG相连,将数据切换控制信号作为符号位,与实部绝对值XG构成旋转因子实部,‘1’作为符号位与虚部绝对值XG构成旋转因子虚部。
本发明提出的用于快速傅立叶变换的旋转因子的产生方法及其电路,与现有技术相比有如下优点(1)由于没有ROM且在电路设计中采取了如下三个措施,使逻辑门的翻转率很低,所以整个电路的功耗低。第一个措施是用译码器的输出来控制触发器的时钟信号,减小了时钟的负载;第二个措施是控制用于数据合成的组合逻辑模块的工作状态,每个时钟只能使其中的一个模块工作,大大的降低了整个电路的翻转率;第三个措施是预处理了输入给求和电路的数据,使得输入给该电路的数据只有一个非零,使得求和的工作避免使用面积和功耗都很大的加法器。(2)由于全部是逻辑电路实现的设计,可以通过使用逻辑综合工具对电路的工作速度和功耗进行很好的优化;(3)由于全部是逻辑电路实现的设计,不需要第三方ROM或DRAM的IP;(4)解决了由ROM或DRAM带来的工艺可靠性和电路抗噪能力方面的问题。


图1是本发明提出的旋转因子产生方法流程框图。
图2是本方法中旋转因子子地址产生流程框图。
图3是选择复原子旋转因子的流程框图。
图4是重组旋转因子绝对值的流程框图。
图5是本发明提出的旋转因子产生的电路框图。
图6是产生旋转因子子地址电路图。
图7是子地址分配电路图。
图8是地址选通电路图。
图9是复原子旋转因子电路图。
图10是选择复原子旋转因子电路图。
图11是非零控制电路图。
具体实施例方式
本发明提出的用于快速傅立叶变换的旋转因子的产生方法,其流程框图如图1所示,首先根据旋转因子地址和时钟信号,产生多个旋转因子子地址,即子地址0,子地址1,子地址2,...子地址2m-2和子地址2m-1,同时产生对应旋转因子子地址的非零控制信号和数据切换控制信号;然后对上述每个旋转因子子地址通过逻辑进行数据合成,复原出与每个旋转因子子地址相对应的子旋转因子,即子旋转因子0,子旋转因子1,子旋转因子2,...子旋转因子2m-2和子旋转因子2m-1;根据上述非零控制信号和子旋转因子进行复原子旋转因子选择,产生一个旋转因子绝对值Xj,与该旋转因子绝对值Xj对应的地址中不含原旋转因子地址的最高位;用数据切换控制信号对上述旋转因子绝对值Xj进行数据重组,产生带符号位的旋转因子实部和旋转因子虚部,即为快速傅立叶变换计算中所需旋转因子产生旋转因子子地址即子地址0,子地址1,子地址2,...子地址2m-2和子地址2m-1的方法,其流程框图如图2所示,首先将旋转因子地址位进行重组,使位数为log2N的旋转因子地址中的第0位到第n-1位为旋转因子的原始子地址,第n位到第m+n-1位为控制地址,且m+n+1=log2N,其中N为快速傅立叶变换的点数,n和m分别为原始子地址和控制地址的位宽;对控制地址进行m→2m译码,产生2m位的子地址选择信号用以控制子地址去向;根据上述原始子地址和上述时钟信号,在子地址选择信号的控制下进行子地址分配,得到2m个n位的子地址,即子地址0,子地址1,子地址2,...子地址2m-2和子地址2m-1。其中的子地址分配的方法为使上述子地址选择信号中的每一位分别对应一个子地址,当上述时钟信号的上升沿到来时,若与上述子地址相对应的子地址选择信号位为‘1’,则该子地址变成当前原始子地址的值,否则该子地址的值不变。
如图2所示产生非零控制信号的方法是对子地址选择信号在时钟信号的作用下延时一个时钟信号周期,即可得到2m位的非零控制信号。
如图2所示产生数据切换控制信号的方法是对旋转因子地址的最高位在时钟信号的作用下延时一个时钟信号周期,即可得到数据切换控制信号。
通过逻辑进行数据合成的方法是首先将由旋转因子的虚部绝对值和实部绝对值组成的2(v-1)位的数据,按地址编号0到N/4-1,从小到大均匀分成2m个子旋转因子,其中v为快速傅立叶变换所需的旋转因子的分辨率;使每个旋转因子子地址,即子地址0,子地址1,子地址2,...子地址2m-2和子地址2m-1,分别对应上述一个子旋转因子,并根据该子旋转因子中的每一位与该子旋转因子地址的逻辑关系复原出该子旋转因子,即子旋转因子0,子旋转因子1,子旋转因子2,...子旋转因子2m-2和子旋转因子2m-1。
产生旋转因子绝对值Xj的方法,其流程如图3所示,首先进行非零控制,使非零控制信号的每一位分别对应一个复原子旋转因子,若该位非零控制信号为‘1’,则将与该位相对应的复原子旋转因子直接输出,若为‘0’则输出0,处理之后得到与子地址0,子地址1,子地址2,...子地址2m-2和子地址2m-1相对应的输出,即子旋转因子K0,子旋转因子K1,子旋转因子K2,...子旋转因子K2m-2和子旋转因子K2m-1;然后对上述经过处理后的复原子旋转因子即子旋转因子K0,子旋转因子K1,子旋转因子K2,...子旋转因子K2m-2和子旋转因子K2m-1,进行数据相加,得到旋转因子绝对值Xj。
重组快速傅立叶变换计算中所需旋转因子的方法,其流程如图4所示首先在数据切换控制信号的作用下对旋转因子绝对值Xj进行数据切换,得到旋转因子绝对值XG,方法为若数据切换控制信号为‘0’,则将旋转因子绝对值Xj直接输出,若数据切换控制信号为‘1’,则将旋转因子绝对值Xj的高(v-1)位与低(v-1)位对调后输出,得到地址带有旋转因子地址最高位的旋转因子绝对值XG;然后对旋转因子绝对值XG进行数据拼接,产生有符号位的旋转因子实部和旋转因子虚部,其中有符号位的旋转因子实部和旋转因子虚部中的绝对值来自旋转因子绝对值XG中的实部和虚部的绝对值。符号位的产生方法为旋转因子虚部的符号位为‘1’,旋转因子实部的符号位与数据切换控制信号相同。
本发明提出了用于快速傅立叶变换的旋转因子的产生电路,如图5所示,该电路包括产生旋转因子子地址电路、复原子旋转因子电路、选择复原子旋转因子电路以及重组旋转因子绝对值电路;其中产生旋转因子子地址电路根据旋转因子地址和时钟信号产生多个旋转因子子地址,即子地址0,子地址1,子地址2,…子地址2m-2和子地址2m-1,同时产生与所需旋转因子相对应的非零控制信号和数据切换控制信号;复原子旋转因子电路对每个旋转因子子地址通过逻辑进行数据合成,复原出分别与每个旋转因子子地址相对应的复原子旋转因子,即子旋转因子0,子旋转因子1,子旋转因子2,…子旋转因子2m-2和子旋转因子2m-1;选择复原子旋转因子电路根据非零控制信号对复原子旋转因子进行选择,产生旋转因子绝对值Xj;重组旋转因子绝对值电路根据数据切换控制信号和旋转因子绝对值Xj产生所需的带符号位的旋转因子实部和旋转因子虚部。
本发明电路中,产生旋转因子子地址电路,如图6所示,包括m→2m译码器、子地址分配电路和触发器;旋转因子地址的第n位到第m+n-1位作为控制地址输入给m→2m译码器,产生位宽为2m的子地址选择信号;设快速傅立叶变换计算中所需旋转因子地址的第0位到第n-1位作为原始子地址,将该原始子地址、上述子地址选择信号以及时钟信号共同输入给子地址分配电路,得到2m个n位的子地址,即子地址0,子地址1,子地址2,…子地址2m-2和子地址2m-1;将子地址选择信号输入给位宽为2m的触发器,该触发器在时钟信号的上升沿到来时将子地址选择信号传给非零控制信号;将旋转因子地址的最高位输入给触发器,该触发器在时钟信号的上升沿到来时将旋转因子地址的最高位传给数据切换控制信号。
子地址分配电路,如图7所示,包括2m个地址选通电路;子地址选择信号、原始子地址和时钟信号分别输入每个地址选通电路,在相应的子地址选择信号位的控制下,当时钟信号的上升沿到来时产生位宽与原始子地址相同的子地址,即子地址0,子地址1,子地址2,…子地址2m-2和子地址2m-1。
地址选通电路,如图8所示,包括二输入与门和位宽与原始子地址相同的触发器;二输入与门的一个输入端与时钟信号相连,另一个输入端与子地址选择信号的某一位相连,它的输出端作为触发器的时钟信号;触发器的输入端与原始子地址相连,输出端为被选通的子地址,在子地址选择信号的控制下,输出被选通的子地址。
复原子旋转因子电路,如图9所示,包括2m个子旋转因子合成电路;每个子旋转因子合成电路的输入端分别与一个子地址,即子地址0,子地址1,子地址2,...子地址2m-2和子地址2m-1相连,输出端为对应该子地址的复原子旋转因子,即子旋转因子0,子旋转因子1,子旋转因子2,...子旋转因子2m-2和子旋转因子2m-1,将由旋转因子的虚部绝对值和实部绝对值组成的2(v-1)位的数据,按地址编号0到N/4-1,从小到大均匀分成2m个子旋转因子,其中v为快速傅立叶变换所需的旋转因子的分辨率,使每个旋转因子子地址分别对应上述一个子旋转因子,并根据该子旋转因子中的每一位与该子旋转因子地址的逻辑关系复原出该子旋转因子。
选择复原子旋转因子电路,如图10所示,包括包括非零控制电路和数据相加电路;其中非零控制电路的输入为非零控制信号和上述复原子旋转因子,即子旋转因子0,子旋转因子1,子旋转因子2,…子旋转因子2m-2和子旋转因子2m-1,分别用非零控制信号中的一位处理一个复原子旋转因子,使所有复原子旋转因子中的一个为非零,得到子旋转因子K0,子旋转因子K1,子旋转因子K2,…子旋转因子K2m-2和子旋转因子K2m-1,然后把这些处理后的复原子旋转因子输入给数据相加电路,将它们的相同位输入给同一个或门,得到旋转因子绝对值Xj。
非零控制电路,如图11所示,包括2m个切换电路,每个切换电路由2(v-1)个二输入与门组成,该电路的输入端接非零控制信号和复原子旋转因子,即子旋转因子0,子旋转因子1,子旋转因子2,…子旋转因子2m-2和子旋转因子2m-1,输出端为处理后的复原子旋转因子,即子旋转因子K0,子旋转因子K1,子旋转因子K2,…子旋转因子K2m-2和子旋转因子K2m-1,其中每个切换电路中,二输入与门的一个输入端与非零控制信号的一位相连,与门的另一个输入端与该位非零控制信号相对应的子旋转因子的一位相连。
权利要求
1.一种用于快速傅立叶变换的旋转因子的产生方法,其特征在于该方法包括以下步骤(1)根据快速傅立叶变换计算中所需旋转因子的地址和时钟信号,产生多个旋转因子子地址,同时产生与所需旋转因子相对应的非零控制信号和数据切换控制信号;(2)对上述每个旋转因子的子地址通过逻辑进行数据合成,复原出与每个旋转因子子地址相对应的子旋转因子;(3)根据上述第1步的非零控制信号,对上述第2步产生的复原子旋转因子进行选择,产生一个旋转因子绝对值Xj,与该旋转因子绝对值Xj对应的地址中不含原旋转因子地址的最高位;(4)用上述第1步的数据切换控制信号对上述第3步的旋转因子绝对值Xj进行数据重组,产生带符号位的旋转因子实部和旋转因子虚部,即为快速傅立叶变换计算中所需旋转因子。
2.如权利要求1所述的方法,其特征在于其中第1步中产生旋转因子子地址的方法包括如下步骤(1)将旋转因子地址位进行重组,使位数为log2N的旋转因子地址中的第0位到第n-1位为旋转因子的原始子地址,第n位到第m+n-1位为控制地址,且m+n+1=log2N,其中N为快速傅立叶变换的点数,n和m分别为原始子地址和控制地址的位宽;(2)对控制地址进行m→2m译码,产生2m位的子地址选择信号用以控制子地址去向;(3)根据上述原始子地址和上述时钟信号,在子地址选择信号的控制下进行子地址分配,得到2m个n位的子地址。
3.如权利要求2所述的方法,其特征在于其中第3步中子地址分配的方法为使上述子地址选择信号中的每一位分别对应一个子地址,当上述时钟信号的上升沿到来时,若与上述子地址相对应的子地址选择信号位为‘1’,则该子地址变成当前原始子地址的值,否则该子地址的值不变。
4.如权利要求1所述的方法,其特征在于所述的第2步中通过逻辑进行数据合成的方法,包括如下步骤(1)将由旋转因子的虚部绝对值和实部绝对值组成的2(v-1)位的数据,按地址编号0到N/4-1,从小到大均匀分成2m个子旋转因子,其中v为快速傅立叶变换所需的旋转因子的分辨率;(2)使每个旋转因子子地址分别对应上述一个子旋转因子,并根据该子旋转因子中的每一位与该子旋转因子地址的逻辑关系复原出该子旋转因子。
5.如权利要求1所述的方法,其特征在于其中第3步中产生旋转因子绝对值Xj的方法,包括如下各步骤(1)使非零控制信号的每一位分别对应一个复原子旋转因子,若该位非零控制信号为‘1’,则将与该位相对应的复原子旋转因子直接输出,若为‘0’则输出0;(2)对上述经过处理后的复原子旋转因子进行数据相加,得到旋转因子绝对值Xj。
6.如权利要求1所述的方法,其特征在于其中第4步中重组快速傅立叶变换计算中所需旋转因子的方法,包括如下步骤(1)若数据切换控制信号为‘0’,则将旋转因子绝对值Xj直接输出,若数据切换控制信号为‘1’,则将旋转因子绝对值Xj的高v-1位与低v-1位对调后输出,得到地址带有旋转因子地址最高位的旋转因子绝对值XG;(2)使输出的旋转因子虚部的符号位为‘1’,输出的旋转因子实部的符号位与数据切换控制信号相同。
7.一种用于快速傅立叶变换的旋转因子的产生电路,其特征在于该电路包括产生旋转因子子地址电路、复原子旋转因子电路、选择复原子旋转因子电路以及重组旋转因子绝对值电路;其中产生旋转因子子地址电路根据旋转因子地址和时钟信号产生多个旋转因子子地址,同时产生与所需旋转因子相对应的非零控制信号和数据切换控制信号;复原子旋转因子电路对每个旋转因子子地址通过逻辑进行数据合成,复原出分别与每个旋转因子子地址相对应的复原子旋转因子;选择复原子旋转因子电路根据非零控制信号对复原子旋转因子进行选择,产生旋转因子绝对值Xj;重组旋转因子绝对值电路根据数据切换控制信号和旋转因子绝对值Xj产生所需的带符号位的旋转因子实部和旋转因子虚部。
8.如权利要求7所述的电路,其特征在于其中的产生旋转因子子地址电路包括m→2m译码器、子地址分配电路和触发器;旋转因子地址的第n位到第m+n-1位作为控制地址输入给m→2m译码器,产生位宽为2m的子地址选择信号;设快速傅立叶变换计算中所需旋转因子地址的第0位到第n-1位作为原始子地址,将该原始子地址、上述子地址选择信号以及时钟信号共同输入给子地址分配电路,得到2m个n位的子地址;将子地址选择信号输入给位宽为2m的触发器,该触发器在时钟信号的上升沿到来时将子地址选择信号传给非零控制信号;将旋转因子地址的最高位输入给触发器,该触发器在时钟信号的上升沿到来时将旋转因子地址的最高位传给数据切换控制信号。
9.如权利要求8所述的电路,其特征在于其中的子地址分配电路包括2m个地址选通电路;子地址选择信号、原始子地址和时钟信号分别输入每个地址选通电路,在相应的子地址选择信号位的控制下,当时钟信号的上升沿到来时产生位宽与原始子地址相同的子地址。
10.如权利要求9所述的电路,其特征在于其中的地址选通电路由二输入与门和位宽与原始子地址相同的触发器组成;二输入与门的一个输入端与时钟信号相连,另一个输入端与子地址选择信号的某一位相连,它的输出端作为触发器的时钟信号;触发器的输入端与原始子地址相连,输出端为被选通的子地址,在子地址选择信号的控制下,输出被选通的子地址。
11.如权利要求7所述的电路,其特征在于其中的复原子旋转因子电路包括2m个子旋转因子合成电路;每个子旋转因子合成电路的输入端分别与一个子地址相连,输出端为对应该子地址的复原子旋转因子,将由旋转因子的虚部绝对值和实部绝对值组成的2(v-1)位的数据,按地址编号0到N/4-1,从小到大均匀分成2m个子旋转因子,其中v为快速傅立叶变换所需的旋转因子的分辨率,使每个旋转因子子地址分别对应上述一个子旋转因子,并根据该子旋转因子中的每一位与该子旋转因子地址的逻辑关系复原出该子旋转因子。
12.如权利要求7所述的电路,其特征在于其中的选择复原子旋转因子电路包括非零控制电路和数据相加电路;其中非零控制电路的输入为非零控制信号和上述复原子旋转因子,分别用非零控制信号中的一位处理一个复原子旋转因子,使所有复原子旋转因子中的一个为非零,然后输入给数据相加电路,使子旋转因子的相同位输入给或门,得到旋转因子绝对值Xj。
13.如权利要求7所述的电路,其特征在于其中的重组旋转因子绝对值电路包括两个位宽为v-1的二选一多路器;该电路接收数据切换控制信号和旋转因子绝对值Xj,在数据切换控制信号的控制下产生与快速傅立叶变换计算中所需旋转因子地址相对应的带符号位的旋转因子实部和虚部,其中二选一多路器的控制信号为数据切换控制信号,二选一多路器的两个输入端分别与旋转因子绝对值Xj的低v-1位和高v-1位相连,每个二选一多路器的输出端分别与旋转因子绝对值XG的实部绝对值XG和虚部绝对值XG相连,将数据切换控制信号作为符号位,与实部绝对值XG构成旋转因子实部,‘1’作为符号位与虚部绝对值XG构成旋转因子虚部。
全文摘要
本发明涉及一种用于快速傅立叶变换的旋转因子的产生方法,属于数字信号处理技术领域。首先所需旋转因子的地址和时钟信号,产生多个旋转因子子地址,同时产生与所需旋转因子相对应的非零控制信号和数据切换控制信号;对每个旋转因子的子地址进行数据合成,复原出相对应的子旋转因子;根据非零控制信号,对复原子旋转因子进行选择,产生一个旋转因子绝对值X
文档编号G06F17/14GK1477557SQ0313754
公开日2004年2月25日 申请日期2003年6月18日 优先权日2003年6月18日
发明者李金城, 杨华中, 罗嵘, 汪蕙 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1