gpt4 book ai didi

java - FFT窗口大小的意义

转载 作者:行者123 更新时间:2023-11-30 09:15:18 25 4
gpt4 key购买 nike

我需要为一个非常大的数组计算 FFT。 (数组大小 = 4198320)

我有一种方法可以计算 FFT 并计算给定 block 大小的大小。该方法的一个要求是 block 大小必须是 2 的幂。

对于给定的 block 大小,假设 block 大小为 1024,它将计算较大数组中每 1024 个元素的 FFT 和幅度。

对于 block 大小 = 2,我得到诸如 17.0、1.0、15.0、1.0、12.0、0.0、12.0 等值

对于 block 大小 = 4096,我得到诸如 2334.0、166.05、235.84、313.74 等值

这里的问题是,尽管输入数组是相同的,但为什么对于不同的 block 大小我会得到不同的幅度值。

这里的输入数组是一个字节数组,表示一个音频文件。使用的理想 block 大小是多少?

最佳答案

当您更改转换的长度时,数字不同的原因有两个:

  • 窗口越长,幅值必然越大(这是一个总和)。
  • 窗口的长度需要计算频率。

没有“理想”长度可供使用。较长的长度提供更“准确”的频率相关信息(更好的分辨率),较短的长度提供更“准确”的时间相关信息(更快的响应)。

关于java - FFT窗口大小的意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992622/

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