I'd like to estimate the power spectral density of the signal attached here, the sampling rate is 100 Hz.
If I don't do windowing (i.e., use boxcar window), the result seems to be a simple $1/f^2$ noise:
import json
from scipy import signal
from pylab import *
x = json.load(open('x.json'))
f, p = signal.welch(x, fs=100, nperseg=256, window=signal.get_window('boxcar', 256))
plot(f[1:-1], log(p[1:-1]))
However, if I apply, e.g., hanning window, there will be an unexpected additional peak at 25 Hz:
f, p = signal.welch(x, fs=100, nperseg=256, window=signal.get_window('hanning', 256))
plot(f[1:-1], log(p[1:-1]))
Is this some artifact?