gpt4 book ai didi

signal-processing - STFT/FFT 工作流程顺序

转载 作者:行者123 更新时间:2023-12-04 19:46:51 27 4
gpt4 key购买 nike

我正在尝试实现 FFT,我对代码等没问题,但事情的一般顺序让我感到困惑。

我认为这是正确的事情顺序吗?

输入 -> 重叠输入 -> 窗口化 -> FFT -> 相位计算/重叠补偿 -> 输出

我得到的结果接近我的输入频率,但由于某些我无法计算的因素,它们始终偏离,即 440Hz 始终是 407Hz,430Hz 始终是 420Hz。 p>

让我感到困惑的主要一点是最初的重叠,因为我一直在查看一些开源 FFT 代码,而这部分是我永远无法弄清楚发生了什么的部分。我似乎是通过查看那些应该在开窗之前发生重叠的东西来得到这个想法的,但从逻辑上讲,这不会与开窗混淆吗?

任何建议都会很棒

谢谢

最佳答案

FFT 是连续傅里叶变换的离散版本。

FFT 生成复数的一维向量。这个复数向量通常用于计算频率幅度与频率的 2D 矩阵,并表示为 2D 图,如下所示:

Frequency spectrum female vocal soprano, Sooeet FFT calculator

当您想了解信号的频谱时,可以使用单个 FFT。例如,从上面的 FFT 图中我们可以说,这位女高音 G5 音符的大部分能量都集中在 784 Hz 和 1572 Hz 频率上。

STFT 或“短时傅里叶变换”使用滑动帧 FFT 生成频率与时间的二维矩阵,通常表示为称为频谱图的图形,如下所示:

Spectrogram of a vocal phrase, Sooeet FFT calculator

当您想知道信号中特定频率事件发生的时间时,可以使用 STFT。例如,从上图中我们可以说,这个人声短语中的大部分能量发生在 0.05 到 0.15 秒之间,频率范围为 100 Hz 到 1500 Hz。

FFT 的工作流程是:

对信号进行采样 -> 对整个采样帧进行窗口化 -> FFT -> 计算幅度和相位 -> 输出一些东西,通常是 2D 图

如果您的时域数据以文本形式提供并且可以在此处发布,我们可以尝试帮助您分析它,或者您可以使用此在线 FFT 自行分析:Sooeet FFT calculator

关于signal-processing - STFT/FFT 工作流程顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23369742/

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