2017-08-08 49 views
0

我已经采样了5kHz采样的传感器数据1分钟。因此,一个采样数据文件包含5,000 x 60 = 300,000个数据点。 请注意,传感器会测量周期性数据,如60Hz交流电流。数据间隔在快速傅立叶变换中的影响

现在,我想对一个数据文件应用FFT(使用python numpy.rfft函数)。 据我所知,FFT结果的数量是输入数据数量的一半,即在30万个数据点的情况下有150,000个FFT结果。 但是,FFT结果的数量太大而无法分析它们。

所以,我想减少FFT结果的数量。 关于这一点,我的问题是,下面的方法是有效的给定一个采样数据文件?

  1. 段的一个采样的数据文件转换成M个段
  2. 应用FFT到每个段
  3. 平均M个FFT结果得到一个平均的FFT结果
  4. 使用平均FFT结果作为的FFT结果给定一个采样数据文件

提前致谢。

回答

4

这取决于你的目的。

如果以5 kHz采样源信号,那么最大输出元件的频率将对应于2.5 kHz。所以对于150K的输出长度频率分辨率约为0.017赫兹。如果将变换应用于3000个数据点,则会获得1.7 Hz的频率分辨率。

这对你很重要吗?你需要注册所有可能的交流电流频率分量吗?

AC质量(幅度,频率,噪音)可能会在一分钟的时间间隔内发生变化。你需要注册这种不稳定吗?

也许,高频率。 AC控制不需要分辨率和短程时间稳定性,在这种情况下,您的方法非常好。

编辑:较长的时间间隔也变小有限持续时间的信号加窗的效果,让假峰

P.S.请注意,快速傅立叶变换通常(并非总是,我没有看到rfft描述中的这样的方向)与interval length = 2^N一起使用,所以这里的输出可能包含256K