We are currently implementing the velocity synchronous discrete Fourier transform (vsdft) for order tracking rotating machinery in Python.
The formula is similar to dft. Simplified, it is given by
$$ \text{VSDFT}(\Omega) = C\sum_{n=0}^{N-1} x[n] \omega[n] e^{j\Omega \theta[n]} $$
where $C$ is a constant and
$$ \omega = \frac{d\theta}{dt} $$
Since dft is given by
$$ F_k = \sum_{n=0}^{N-1} f_n\cdot e^{-i 2 \pi k n / N} $$
and we wanted to use the optimized fft implementing of numpy, and was thinking if there is a way to write the input f so that we could use fft directly. However, my math skills are failing me.
Can any of you see a way or any pointer to implement the above VSDFT without having to reimplement the Cooley-Tukey FFT algorithm?
Refrence to the original paper can be found in here.