Skip to main content
QUICK REVIEW

[论文解读] New Algorithms for Computing a Single Component of the Discrete Fourier Transform

Gilson Jerônimo da Silva, Ricardo M. Campello de Souza|arXiv (Cornell University)|Mar 9, 2015
Digital Filter Design and Implementation参考文献 8被引用 3
一句话总结

本文提出了两种新算法——JCO 和 JCO-Goertzel,利用分圆多项式计算离散傅里叶变换(DFT)的单个分量,其乘法复杂度低于 Goertzel 算法。JCO-Goertzel 算法将计算单个 DFT 分量所需的实数乘法次数降低至 N 以下,使其成为该任务中乘法复杂度最低的已知方法。

ABSTRACT

This paper introduces the theory and hardware implementation of two new algorithms for computing a single component of the discrete Fourier transform. In terms of multiplicative complexity, both algorithms are more efficient, in general, than the well known Goertzel Algorithm.

研究动机与目标

  • 开发更高效的算法以计算离散傅里叶变换(DFT)的单个分量,尤其适用于仅需少数 DFT 系数的应用场景。
  • 降低现有方法(如 Goertzel 算法)的乘法复杂度,后者每 DFT 分量需 N 次实数乘法。
  • 利用分圆多项式的代数结构,在某些情况下实现无需乘法的多项式除法。
  • 设计基于自回归滤波器的硬件高效实现,实现最小存储与计算开销。

提出的方法

  • JCO 算法使用分圆多项式 $\Phi_L(x)$,其中 $L = \textrm{ord}(W_N^k) = N / \gcd(N,k)$,表示 $W_N^k$ 在实数域上的最小多项式。
  • 对信号的生成多项式 $v(x)$ 除以 $\Phi_L(x)$ 得到余式 $R(x)$,使得 $V_k = R(W_N^k)$,通过自回归滤波器计算。
  • JCO-Goertzel 算法将 JCO 方法与 Goertzel 方法结合:在完成 JCO 除法后,使用 Goertzel 滤波器对余式进行求值,使总乘法次数减少至 $\phi(L)$。
  • 硬件实现采用移位寄存器与反馈滤波器结构,系数来源于 $\Phi_L(z^{-1})$,支持按顺序处理输入,无需存储 $v_n$。
  • 分子中的系数 $a_j$ 预先计算并存储,而分母中的 $b_j$ 为整数(0, 1, -1),实现简单乘法。
  • 当 $L < 105$ 时,$\Phi_L(x)$ 仅含系数 \{0, 1, -1\},从而在 JCO 阶段完全避免乘法。

实验结果

研究问题

  • RQ1能否利用分圆多项式设计一种 DFT 分量计算算法,其乘法复杂度低于 Goertzel 算法?
  • RQ2使用 $\Phi_L(x)$(即 $W_N^k$ 的最小多项式)是否能减少计算单个 DFT 系数所需的实数乘法次数?
  • RQ3JCO-Goertzel 混合算法能否实现比 Goertzel 和 JCO 算法各自更低的乘法复杂度?
  • RQ4是否能够通过自回归滤波器结构,以最小存储与计算开销实现所提算法的硬件实现?

主要发现

  • JCO-Goertzel 算法在计算单个 DFT 分量方面实现了已知最低的乘法复杂度,仅需 $\phi(L)$ 次实数乘法,其中 $L = N / \gcd(N,k)$。
  • 当 $L = 8$ 时,在 1024 点 DFT 中计算 $V_{128}$ 仅需 2 次乘法与 1027 次加法,而 Goertzel 算法需 1024 次乘法与 2049 次加法。
  • 当 $\phi(L) = 2$ 时,JCO-Goertzel 算法退化为 Goertzel 算法,解释了为何在 $L = 3, 4, 6$ 时性能完全相同。
  • 当 $\Phi_L(x)$ 的系数属于 \{0, 1, -1\} 时,JCO 算法完全无乘法,该条件在 $L < 105$ 时成立,显著降低计算成本。
  • 硬件实现按输入顺序处理样本,无需存储整个序列 $v_n$,且反馈系数仅需简单乘法。
  • JCO-Goertzel 算法可实现 $N$ 点 DFT 的乘法次数少于 $N^2$,因为每个分量所需乘法次数均少于 $N$。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。