MATLAB: Frequency and Time Relation

frequencyMATLABsignal processingtime seriesvector

I am trying to generate a frequency series using the FFT matlab algorithm. It is for a machine tool. Here is my code:
spindle_speed = 960; % speed is in rpm
N = 3; %Number of teeth in cutter
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
L = (inv((spindle_speed/60))*1000)*50; % Length of signal 62.5 for one revolution of tool
delta_T = 62.5*20;
t = (0+delta_T:(L-1))*T; % Time vector
f = Fs*(0:(L/2))/L; % frequency vector
The problem I am having is that when t starts from 0 then the frequency starts from 0 which is correct, but when t starts from 0+ delta_T, then frequency starts from 0, I dont want it to start from 0. I want the influence of delta_T on the frequency vector.
Does anybody know?

Best Answer

  • Changing the starting time has no effect on the starting point of the frequency vector. The frequency bins are the number of sine cycles per second, with the value stored in each bin being related to the amplitude of the sine wave. If you start the time slightly later, then the number of sine cycles per second does not change.
    If you start measurements slightly later or earlier then what can change is the phase of the signal.
    Frequency zero for fft purposes works out as the sum of the input signals. In turn that relates to the mean of the signal. Delaying a periodic signal (or advancing it) is not going to affect the mean of the signal, exact for some small changes due to not happening to measure complete cycles.