我想使用 python signal.welch。 signal.welch的用法如下,
f, Pxx_den = signal.welch(x, fs, nperseg=1024)
在我的例子中,x 是陀螺仪信号(1 x 1024 个样本(约 10 秒数据)),fs = 100 Hz。就我而言,我该如何决定 nperseg?我想知道当输入的样本数为 1024(大约 10 秒)时如何选择 nperseg。
scipy.signal.welch 通过将数据划分为片段并平均每个片段上计算的周期图来估计功率谱密度。
nperseg
arg 是段长度,(默认情况下)还确定 FFT 大小。
一方面,使
nperseg
变小可以让输入分成更多的部分,有利于进行更多平均以获得更可靠的估计。另一方面,增大 nperseg
可以提高结果的频率分辨率。无论如何,nperseg
应小于输入大小才能获得多个段。
默认段长度为 256 个样本,这对于 1024 个样本输入来说似乎是一个合理的起点。