gpt4 book ai didi

python - scipy.signal.spectrogram nfft 参数

转载 作者:行者123 更新时间:2023-12-01 16:02:18 24 4
gpt4 key购买 nike

什么nfft这个函数中的参数是什么意思?有关文档,请参阅此链接 https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.signal.spectrogram.html

最佳答案

scipy.signal.spectrogram 工作原理是将信号分成(部分重叠)时间段,然后从 Fast Fourier Transform 计算功率谱(FFT) 每段。这些段的长度可以使用 nperseg 控制参数,它允许您调整由于 uncertainty principle 引起的频域和时域分辨率之间的权衡。 .制作 nperseg更大的为您提供更多的频域分辨率,但代价是时域分辨率较低。
除了改变进入每个段的样本数量之外,有时还需要在进行 FFT 之前对每个段应用零填充。这是什么nfft论证是为了:

nfft : int, optional

Length of the FFT used, if a zero padded FFT is desired. If None, the FFT length is nperseg. Defaults to None.


默认情况下, nfft == nperseg ,这意味着不会使用零填充。
为什么要应用零填充?
  • 一个原因是这会使 FFT 结果更长,这意味着您最终会得到更多的频率区间和在频率维度上看起来“更平滑”的频谱图。但是,请注意,这实际上并没有给您更多的频域分辨率 - 它基本上是对 FFT 结果进行 sinc 插值的有效方法(请参阅 here 以获得更详细的解释)。
  • 从性能的角度来看,填充段使它们的长度是 2 的幂可能是有意义的,因为基数 2 FFT 可以比更通用的方法快得多。
  • 关于python - scipy.signal.spectrogram nfft 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44268488/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com