【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及在集成电路器件中执行离散傅里叶变换运算,并且具体地在诸如可编程逻辑器件(PLD)之类的可编程集成电路器件中执行离散傅里叶变换运算。
技术介绍
离散傅里叶变换(DFT)是可以在信号处理应用中用来分析采样信号中包含的频率、求解偏微分方程并且执行其它运算如卷积或者大整数相乘的傅里叶变换类型。DFT可以用来构造快速傅里叶变换(FFT)。此外,更小DFT可以用来构造更大DFT。这使DFT对于在集成电路器件如可编程逻辑器件(PLD)中的专用数字信号处理(DSP)电路块中计算FFT而言特别有用,因为可以在个别DSP块中计算个别更小DFT。
技术实现思路
本专利技术涉及通过用定点运算替换浮点乘法运算来减少为了执行DFT运算而需要的资源。这之所以可以完成是因为DFT计算中的旋转因子数目相对小,并且它们在彼此的小数目的位内。因此,可以使用定点乘法器而不是使用浮点乘法器计算DFT。通过存储每个旋转因子的多个副本而每个副本被移位不同量来获得所需精度。待相乘的值的指数之间的差值用作旋转因子储存器中的索引以取回适当移位的旋转因子。因此,根据本专利技术,提供一种用于执行离散傅里叶变换的电路。该电路包括浮点加法级,用于将离散傅里叶变换运算的输入值的尾数(mantissa)相加;以及定点级,用于将浮点加法级的输出乘以旋转因子。定点级包括存储器,用于存储多个旋转因子集合,那些集合中的每个集合包括被移位不同量的相应旋转因子的副本;以及电路,用于确定在浮点级的输出的指数之间的差值并且用于使用该差值作为索引以从每个集合中的该相应旋转因子的那些副本之中选择。也提供一种在可编程器件上配置 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】2010.03.02 US 12/715,7111.一种用于执行离散傅里叶变换运算的电路,所述电路包括 浮点加法级,用于将所述离散傅里叶变换运算的输入值的尾数相加;以及 定点级,用于将所述浮点加法级的输出乘以旋转因子,所述定点级包括 存储器,用于存储多个旋转因子集合,所述集合中的每个集合包括被移位不同量的相应旋转因子的副本,以及 电路,用于确定在所述浮点级的所述输出的指数之间的差值并且用于使用所述差值作为索引以从所述集合中的每个集合中的所述相应旋转因子的所述副本之中选择。2.根据权利要求I所述的电路,其中所述浮点加法级包括用于将所述尾数的实部相加的至少一个加法器和用于将所述尾数的虚部相加的至少一个加法器。3.根据权利要求2所述的电路,其中 所述用于将所述尾数的实部相加的至少一个加法器和所述用于将所述尾数的虚部相加的至少一个加法器执行非规格化加法;并且 所述浮点加法级还包括规格化级,所述规格化级用于规格化所述用于将所述尾数的实部相加的至少一个加法器和用于将所述尾数的虚部相加的至少一个加法器的非规格化输出。4.根据权利要求3所述的电路,其中所述规格化级包括 第一规格化模块,用于规格化所述用于将所述尾数的实部相加的至少一个加法器的输出;以及 第二规格化模块,用于规格化所述用于将所述尾数的虚部相加的至少一个加法器的输出。5.根据权利要求3所述的电路,其中所述规格化级包括 第一移位器,用于所述用于将所述尾数的实部相加的至少一个加法器的输出; 第二移位器,用于所述用于将所述尾数的虚部相加的至少一个加法器的输出; 第一前导零计数模块,用于确定所述用于将所述尾数的实部相加的至少一个加法器的输出上的前导零的第一数目; 第二前导零计数模块,用于确定所述用于将所述尾数的虚部相加的至少一个加法器的输出上的前导零的第二数目;以及 比较器,用于确定前导零的所述第一数目和所述第二数目中的哪个数目较小并且用于将前导零的所述第一数目和所述第二数目中的所述较小者应用于所述第一移位器和所述第二移位器中的每个移位器作为所述用于将所述尾数的实部相加的至少一个加法器的所述输出和所述用于将所述尾数的虚部相加的至少一个加法器的所述输出被移位的位置数目。6.根据权利要求2所述的电路,其中 所述旋转因子包括实旋转因子和虚旋转因子;并且 所述定点级还包括 第一乘法器,用于将所述用于将所述尾数的实部相加的至少一个加法器的输出乘以实旋转因子; 第二乘法器,用于将所述用于将所述尾数的虚部相加的至少一个加法器的输出乘以虚旋转因子;减法器,用于从所述第一乘法器的输出减去所述第二乘法器的输出; 第三乘法器,用于将所述用于将所述尾数的实部相加的至少一个加法器的输出乘以虚旋转因子; 第四乘法器,用于将所述用于将所述尾数的虚部相加的至少一个加法器的输出乘以实旋转因子;以及 加法器,用于将所述第四乘法器的输出与所述第三乘法器的输出相加。7.根据权利要求I所述的电路,其中 所述存储器包括存储被移位不同量的所述多个旋转因子的两端口存储器; 所述两端口存储器的第一地址输入选择所述相应旋转因子中的一个旋转因子;并且所述差值是所述两端口存储器的第二地址输入,所述第二地址输入选择所述相应旋转因子中的所述一个旋转因子的所述移位的副本之一。8.一种将可编程集成电路器件配置为用于执行离散傅里叶变换运算的电路的方法,所述方法包括 将所述可编程集成电路器件的逻辑配置为用于将所述离散傅里叶变换运算的输入值的尾数相加的浮点加法级;并且 将所述可编程集成电路器件的逻辑配置为用于将所述浮点加法级的输出乘以旋转因子的定点级,所述定点级包括 存储器,用于存储多个旋转因子集合,所述集合中的每个集合包括被移位不同量的相应旋转因子的副本,以及 电路,用于确定在所述浮点级的所述输出的指数之间的差值并且用于使用所述差值作为索引以从所述集合中的每个集合中的所述相应旋转因子的所述副本之中选择。9.根据权利要求8所述的方法,其中 所述将所述可编程集成电路器件的逻辑配置为浮点加法级包括将所述可编程集成电路器件的逻辑配置为用于将所述尾数的实部相加的至少一个加法器和用于将所述尾数的虚部相加的至少一个加法器。10.根据权利要求9所述的方法,其中 所述将所述可编程集成电路器件的逻辑配置为用于将所述尾数的实部相加的至少一个加法器和所述用于将所述尾数的虚部相加的至少一个加法器包括配置所述可编程集成电路器件的逻辑以执行非规格化加法;并且 所述将所述可编程集成电路器件的逻辑配置为浮点加法级包括将所述可编程集成电路器件的逻辑配置为规格化级,所述规格化级用于规格化所述用于将所述尾数的实部相加的至少一个加法器和用于将所述尾数的虚部相加的至少一个加法器的非规格化输出。11.根据权利要求10所述的方法,其中所述将所述可编程集成电路器件的逻辑配置为规格化级包括 将所述可编程集成电路器件的逻辑配置为第一规格化模块,所述第一规格化模块用于规格化所述用于将所述尾数的实部相加的至少一个加法器的输出;并且 将所述可编程集成电路器件的逻辑配置为第二规格化模块,所述第二规格化模块用于规格化所述用于将所述尾数的虚部相加的至少一个加法器输出的。12.根据权利要求10所述的方法,其中所述将所述可编程集成电路器件的逻辑配置为规格化级包括 将所述可编程集成电路器件的逻辑配置为第一移位器,所述第一移位器用于所述用于将所述尾数的实部相加的至少一个加法器的输出; 将所述可编程集成电路器件的逻辑配置为第二移位器,所述第二移位器用于所述用于将所述尾数的虚部相加的至少一个加法器的输出; 将所述可编程集成电路器件的逻辑配置为第一前导零计数模块,所述第一前导零计数模块用于确定所述用于将所述尾数的实部相加的至少一个加法器的输出上的前导零的第一数目; 将所述可编程集成电路器件的逻辑配置为第二前导零计数模块,所述第二前导零计数模块用于确定所述用于将所述尾数的虚部相加的至少一个加法器的输出上的前导零的第二数目;并且 将所述可编程集成电路器件的逻辑配置为比较器,所述比较器用于确定前导零的所述第一数目和所述第二数目中的哪个数目较小并且用于将前导零的所述第一数目和所述第二数目中的所述较小者应用于所述第一移位器和所述第二移位器中的每个移位器作为所述用于将所述尾数的实部相加的至少一个加法器的所述输出和所述用于将所述尾数的虚部相加的至少一个加法器的所述输出被移位的位置数目。13.根据权利要求9所述的方法,其中 所述旋转因子包括实旋转因子和虚旋转因子;并且 所述将所述可编程集成电路器件的逻辑配置为定点级还包括 将所述可编程集成电路器件的逻辑配置为第一乘法器,所述第一乘法器用于将所述用于将所述尾数的实部相加的至少一个加法器的输出乘以实旋转因子; 将所述可编程集成电路器件的逻辑配置为第二乘法器,所述第二乘法器用于将所述用于将所述尾数的虚部相加的至少一个加法器的输出乘以虚旋转因子; 将所述可编程集成电路器件的逻辑配置为减法器,所述减法器用于从所述第一乘法器的输出减去所述第二乘法器的输出; 将所述可编程集成电路器件的逻辑配置为第三乘法器,所述第三乘法器用于将所述用于将所述尾数的实部相加的至少一个加法器的输出乘以虚旋转因子; 将所述可编程集成电路器件的逻辑配置为第四乘法器,所述第四乘法器用于将所述用于将所述尾数的虚部相加的至少一个加法器的输出乘以实旋转因子;并且 将所述可编程集成电路器件的逻辑配置为加法器,所述加法器用于将所述第四乘法器的输出与所述第三乘法器的输出相加。14.根据权利要求8所述的方法,其中 所述存储器包括存储被移位不同量的所述多个旋转因子的两端口存储器; 所述将所述可编程集成电路器件的逻辑配置为定点级包括将所述可编程集成电路器件的逻辑配置为所述两端口存储器的第一地址输入以选择所述相应旋转因子中的一个旋转因子;并且 所述将所述可编程集成电路器件的逻辑配置为定点级包括配置所述可编程集成电路器件的逻辑以使用所述差值作为所述两端口存储器的第二地址输入,所述第二地址输入选择所述相应旋转因子中的所述一个旋转因子的所述移位的副本之一。15.一种可编程集成电路器件,包括 可配置为用于将离散傅里叶变换运算的输入值的尾数相加的浮点加法级的逻辑;以及 可配置为用于将所述浮点加法级的输出乘以旋转因子的定点级的逻辑,所述定点级包括 存储器,用于存储多个旋转因子集合,所述集合中的每个集合包括被移位不同量的相应旋转因子的副本,以及 电路,用于确定在所述浮点级的所述输出的指数之间的差值并且用于使用所述差值作为索引以从所述集合中的每个集合中的所述相应旋转因子的所述副本之中选择。16.根据权利要求15所述的可编程集成电路器件,其中 可配置为浮点加法级的所述逻辑包括可配置...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。