I've been stuck on this porblem for a while and I havent been able to come up with a soultion yet.
Problem Statement: I have a spinning disk which has some rotational frequency. Each second my aquisition system will perform an FFT calculation and I recieve its imaginary and real components. This will happen for over the duration of 1 minute, so at the end I will have 60 FFT values. Upon characterizing my data I discovered that my phase has perdominant bimodal phase distribution. Looking at my time record it appears that my data isnt being collected at exactly every second, there exists a few miliseconds where the program is either lagging or ahead of the 1 second interval, i.e. 0.999s or 1.001s. I suspect that I have encountered a phase drift with my windowing. Also, I think this "lag" is becuase my program is processing its FFT values, which causes the phase drift.Is there a way to fix this phase drift after the data has already been collected?
Here are my known variables are below.
-Rotational Frequency
-Sample Frequency and all other aquisition parameters (original signal is unknown)
-Time when the FFT Sample was collected
-phase
-magnitude
Also probably important to note, I am using matlab "phase" function which is an atan2 calculation on the FFT values to determine my phase.
What I've tried to adjust the phase:
(1) Windowed Phase Contribution = unwrap((Rotational Frequency) * (Difference of Time Between Samples) * 2pi)
(2) Corrected Phase = Recorded Phase - (Windowed Phase Contribution)
This has not yeilded sensable results. Im sure that these equations are not correct.
If this can not be resolved after collecting data then do I need to adjust windowing for my program, if so what do you recommend, I think I am using a Hanning at the moment?
Thanks for your time!