gpt4 book ai didi

python - 使用许多紧频率时会出现奇怪的 FFT 峰值

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:48 27 4
gpt4 key购买 nike

我正在使用此 python 代码的稍微修改版本来进行频率分析: FFT wrong value?

假设我在时域中有一组正弦波,它们的频率非常接近,同时共享相同的振幅。这是它们在频域中的样子,对 1024 个样本使用 FFT,我从中去除了后半部分,得到 512 个分辨率:

Blue: rectangular window. Pink: Nuttall window

这是我对同一组波应用 FFT,但这次有 128 个样本(64 个 bin):

Blue: rectangular window. Pink: Nuttall window

我预计会出现平稳的频率响应,但看起来中心的波浪被抵消了。我看到的那些“角”是什么?这正常吗?

最佳答案

我相信你的结果是正确的。峰值位于 ±f1 和 ±f2),对应于第一个图中显示的两个信号的各自频率分量。

我假设您正在将直流分量移回中心?您指的是什么“中心的波浪”?

还有一些您应该注意的其他潜在问题:

  • 混叠:通过检查,您的信号似乎有足够的样本,但请记住,如果没有足够的样本点来捕获基础频率,FFT 可以创建人工(或混叠)频率。具体来说,如果您的频率是 f,那么您需要的数据样本间距至少为 Δx = 1/(2*f) 或更小。
  • 开窗:您的信号是开窗的(具有有限范围),因此由于边缘影响,每个空间频率也会出现一些加宽、振铃或功率重新分配。
  • 由于我不知道您的数据的详细信息,我继续创建了一个正弦曲线,然后以接近您的采样率的方式对数据进行了采样。例如,下面是一个具有 64 个点且信号频率为 10 个周期(计算峰值)的正弦波:

    enter image description here

    FFT结果为:

    enter image description here

    它显示了与您相同的定量特征,但是没有您的数据,我很难匹配您的确切情况(间距和锥度)。

    接下来,我应用了超高斯窗函数(如下所示)来模拟数据的有限范围:

    enter image description here

    将窗口应用到输入信号后,我们有:

    enter image description here

    由于数据范围有限,相应的 FFT 结果显示了一些额外的功率重新分配:

    enter image description here

    虽然我无法匹配您的确切情况,但我相信您的结果符合预期,并且已经确定了数据的一些定性特征。希望这会有所帮助。

    关于python - 使用许多紧频率时会出现奇怪的 FFT 峰值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20787060/

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