FFT频域值取决于序列长度?

时间:2015-04-27 16:55:44

标签: math signal-processing fft

我正在提取心率变量(HRV)频域特征,例如LF,HF,使用FFT。目前,我已经发现LF和HF值的序列长度较长,例如3分钟,将比较短的序列长度大,例如30秒。我想知道这是一个常见的观察,还是我的执行代码中有一些错误?提前致谢

3 个答案:

答案 0 :(得分:2)

是的,每个bin中的频率取决于N,即序列长度。

请参阅此相关答案:https://stackoverflow.com/a/4371627/119527

答案 1 :(得分:1)

FFT本身就是无量纲基础变换。但是,如果您知道输入数据的采样率(Fs)和FFT的长度(N),则每个FFT结果元素或结果仓表示的中心频率为bin_index *(Fs / N)。

通常(使用基带采样)结果范围从0(DC)到Fs / 2(对于严格实数输入,其余FFT结果只是前半部分的复共轭镜像)。

补充:许多正向FFT实现(但不是全部)都是能量保持。由于输入较长FFT的相同幅度的较长信号包含更多的总能量,因此FFT结果能量也将以相同的比例更大,或者通过足够窄带分量的分组幅度,和/或通过分配到更多分区中

答案 2 :(得分:0)

至少在最常见的FFT实现中,您所期待的是预期的。通常,正向的比例因子为N,反向的比例因子为1,因此如果您需要,则需要将因子1/N的比例缩放sqrt(N)。有兴趣计算光谱能量(或功率)。

然而,请注意,这些比例因子只是一个惯例,例如某些实现在正向和反向都有<body> <form action="get.php" method="get"> Username: <input type="text" name="name"><br> <input type="submit"value="Connect" class="btn"> </form> <> </body> </html> 比例因子,因此您需要检查FFT库的文档是否绝对确定。