Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 功率谱密度信号_Python_Scipy_Signal Processing - Fatal编程技术网

Python 功率谱密度信号

Python 功率谱密度信号,python,scipy,signal-processing,Python,Scipy,Signal Processing,在尝试使用。。。周期图(x,fs,nfft=4096),我得到的曲线高达150000Hz,而不是300000。为什么这个值高达一半?这里的采样率是什么意思 在scipy文档中给出的示例中,采样率为10000Hz,但我们在图中看到的频率仅高达5000Hz 如果在示例中检查f的长度: >>> len(f) >>> 50001 这不是50000赫兹。这是因为默认情况下,scipy.signal.periogram使用参数nperseg=x.shape[-1]调用s

在尝试使用。。。周期图(x,fs,nfft=4096),我得到的曲线高达150000Hz,而不是300000。为什么这个值高达一半?这里的采样率是什么意思

在scipy文档中给出的示例中,采样率为10000Hz,但我们在图中看到的频率仅高达5000Hz


如果在示例中检查
f
的长度:

>>> len(f)
>>> 50001
这不是50000赫兹。这是因为默认情况下,
scipy.signal.periogram
使用参数
nperseg=x.shape[-1]
调用
scipy.signal.welch
。这是
scipy.signal.welch
的正确输入。但是,如果深入研究并查看第328-329行(截至目前),您将看到输出大小为50001的原因

if nfft % 2 == 0:  # even
   outshape[-1] = nfft // 2 + 1

实值信号的频谱始终相对于(采样率的一半)对称。因此,通常不需要存储或绘制频谱的冗余对称部分

如果仍要查看整个频谱,可以将
return\u oneside
参数设置为
True
,如下所示:

f, Pxx_den = signal.periodogram(x, fs, return_onesided=False)
中提供的相同示例的结果图将覆盖预期的10000Hz频率范围: