How to calculate Complex Fourier Transform ?

26 vues (au cours des 30 derniers jours)
Abhimanyu  Kashyap
Abhimanyu Kashyap le 19 Sep 2013
I have two orthogonal directional time-displacement signals measured from a rotating shaft. I have combined the x(t) and y(t) to form r(t)= x(t)+ j. y(t) . Now I want to decompose this complex signal into forward rotating and backward rotating. That is to say, positive and negative frequencies. Conventional fft ignores negative frequencies isn't it ? What I like to have is in this form Rf.e ^jwt + Rb.e^-jwt. Essentially separate forward and backward components from the original signal and then take ifft individually and use the time signals separately. How to obtain complex Fourier transform in this fashion ?? I have gone through this tutorial.
But I am still new to signal processing and I am not very clear how to achieve the algorithm given in this link in a practical way with codes in MATLAB. Kind help will be much appreciated.

Réponses (1)

Matt J
Matt J le 19 Sep 2013
That is to say, positive and negative frequencies. Conventional fft ignores negative frequencies isn't it ?
No, it doesn't ignore them. The negative frequency band is indexed by k=N/2...N. Recall that the complex sinusoid (the discrete Fourier basis function) with frequency index k=N-p is the same as k=-p:
exp(2j*pi*k*n/N)
= exp(2j*pi*(N-p)*n/N)
= exp(2j*pi*(N)*n/N) * exp(2j*pi*(-p)*n/N)
= exp(2j*pi*(-p)*n/N)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by