I have a strange problem. I got some time sensor data and want to do a FFT on that. First I splitted the signal into segments of thousand samples and done a FFT with Scipy on each so I got a "selfmade" SFFT. After that I used the Scipy SFFT function and set the segment length again to 1000 without an overlap. But now I get a different FFT spectogram and I whonder why. The strange thing is that my selfmade SFFT fits better to my problem and gives me clearer results.
f, t, Zxx = signal.stft(vibration_signal, fs = 50000, nperseg=1000, noverlap = 0)
stft_signal_abs = np.abs(Zxx)
fft_signal = fft.fft(vibration_signal[0:1000])
fft_signal_abs = np.abs(fft[0:500])
So the first segment of stft_signal_abs should be equal to fft_signal_abs, right? In my case it isnt.
The problem was the window function. I choosed a rectangular window and get the same results. But still the magintude is 1000x higher in the FFT than in the SFFT. Has this something to do with the segment length of 1000?

