jac*_*cob 2 signal-processing fft overlap dft
我正在尝试实现FFT,我可以使用代码等,但事情的一般顺序令我感到困惑.
我是否正确地认为这是正确的事情顺序?
输入 - >重叠输入 - >窗口 - > FFT - >相位计算/重叠补偿 - >输出
我得到的结果接近我的输入频率,但它们总是被一些我无法解决的因素关闭,即440Hz总是407Hz,430Hz总是420Hz.
令我困惑的主要部分是初始重叠,因为我一直在研究一些开源FFT代码,这是我永远无法解决的部分.我似乎从看到那些重叠应该在窗口之前发生的想法得到了这个想法,但对我来说逻辑上,不会那么混乱的窗口?
任何建议都会很棒
谢谢
FFT是连续傅里叶变换的离散版本.
FFT产生一个复数的1D向量.这个复杂的矢量通常用于计算频率幅度与频率的二维矩阵,并表示为2D图形,如下所示:

当您想要了解信号的频谱时,使用单个FFT.例如,根据上面的FFT图,我们可以说这位女高音的G5音符中的大部分能量都集中在784 Hz和1572 Hz的频率上.
STFT或"短时傅立叶变换"使用滑动帧FFT产生频率与时间的二维矩阵,通常表示为一个称为频谱图的图形,如下所示:

当您想知道信号中特定频率事件发生的时间时,使用STFT.例如,从上面的图表可以看出,在100Hz到1500Hz的频率范围内,该声乐短语中的大部分能量发生在0.05和0.15秒之间.
FFT的工作流程是:
采样信号 - >窗口整个采样帧 - > FFT - >计算幅度和相位 - >输出一些东西,通常是2D图形
如果您的时域数据以文本形式提供,并且您可以在此处发布,我们可以尝试帮助您进行分析,或者您可以使用此在线FFT 自行分析:Sooeet FFT计算器