I have hard time in understanding the results I get when I plot the spectrum of the time-derivative of a noise signal:
$|DFT[\frac{dx(t)}{dt}](\omega)|^2$
as a function of frequency $\omega$ (see image below), where $DFT$ is the discrete Fourier Transform, $x(t)$ is a discrete time serie of random samples extracted from a gaussian distribution.
In python:
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(100000)
F = np.abs(fft.fft(np.diff(x)))**2
plt.loglog(F[:50000])
The F.transform of a derivative is $i\omega$ times the F.transform. So I'd expect the result to be $\omega^2 |DFT[x]|^2$.
This happens, but what are the features at low frequency? If I run the script several times, a plateau shows up at low frequency, but not always with the same amplitude and not always at the same low frequencies (see in the fig. the differences between various runs of the same script). Probably something strange happens also at high frequency? I heard "leakage" can explain things like this, but I'n not an expert. Can you help me to understand, and correct it?