与离散傅里叶变换类似,Chirp Z 变换是给出多项式 和 求出 的一种算法,不要求 为单位根。也可用于数论变换。后文将介绍 Chirp Z 变换与其逆变换。

Chirp Z 变换

根据定义,Chirp Z 变换可以写作

其中 且 。

Bluestein 算法

考虑

其中 ,我们可以构造

其中 ,且对于 我们有

且 ,。可以由一次多项式乘法完成求算,该算法被称为 Bluestein 算法。

逆 Chirp Z 变换

逆 Chirp Z 变换可以写作

其中 且 ,并且 对于所有 成立,这是多项式插值的条件。

Bostan–Schost 算法

回顾 Lagrange 插值公式 为

且 对于所有 成立。与 多项式的快速插值 中相同,我们令 ,根据洛必达法则,有

修正 Lagrange 插值公式 就是

那么现在我们有

其中 。若我们设 为偶数,令 和 ,那么

这使得我们可以快速计算 。然后用 Bluestein 算法来计算 。令 ,我们有

因为 ,我们只需计算 ,其中 ,也就是

其中 。我们可以用 Bluestein 算法来计算 。

简单来说,我们分别进行下面的计算:

  1. 用减治法(decrease and conquer)计算 ;
  2. 用 Bluestein 算法计算 ;
  3. 用 Bluestein 算法计算 ;
  4. 用一次多项式乘法计算 。

其中每一步的时间复杂度都等于两个次数小于等于 的多项式相乘的时间复杂度。

参考文献

  1. Bostan, A. (2010). Fast algorithms for polynomials and matrices. JNCF 2010. Algorithms Project, INRIA.