什么是 FFT 输出相对于时间的导数?

问题描述

我对数字信号处理很陌生。我正在尝试在我的 PMSM 控制算法中实现一个反齿槽算法。我关注这个 [documentation]。

我根据角度收集了速度数据。我用 FFT 将速度数据转换到频域。但最后一步,基于加速度的波形分析,计算出 FFT 输出相对于时间的导数。输出是频域,我如何计算 FFT 输出相对于时间的导数,为什么要进行此计算?

解决方法

“相对于时间的 FFT 输出的导数”没有任何意义,因此即使论文中使用的符号似乎就是这样,我认为我们可以通过阅读“the加速度是 通过对 FFT 拟合速度的时间导数找到“。

这是完全合理的:速度数组的 FFT 用于在样本之间进行插值,提供速度作为位置的连续函数。然后在适当的位置(论文中的j)对该连续函数进行微分,以找到每个位置i的加速度。我没有仔细阅读,无法找出 ij 之间的关系。

在实现中,频率 f 的每个 FFT 输出将乘以 fi(即频率乘以 sqrt(-1),而不是位置)以产生加速度函数的 FFT,然后是 FFT 基函数将以其连续形式(使用 Math.sin 和 Math.cos)进行评估,以在任何所需点产生加速度。