首页 > 解决方案 > 使用 numpy 的离散傅里叶变换采样频率

问题描述

我正在使用 numpy 来计算采样频率,特别是fft.fftfreq(n, d=1.0)

我想计算d。有什么公式或库可以用来计算d吗?

我如何计算时间序列数据集的采样率,因为d是采样率的倒数?

谢谢

标签: pythontime-seriesfft

解决方案


在寻找“神奇功能”之前,您必须阅读一些关于采样率的知识。

根据numpy 文档,参数“d”是“样本间距(采样率的倒数)”。

寻找Sampling rate,“d”在时间上相当于“T”,它代表 Period(每个样本之间的时间,以秒为单位)。但是您使用的是 DFT,因此您可以选择时间单位。如果您每天有 1 个样本,则“d”为 1,并且 fftfreq 的结果将以周期/天为单位。如果您每天有 2 个样本,那么您的 'd' 是 1/2,以循环/天为单位进行输出。

因此,您正在寻找的函数只是 1/(每个时间单位的样本数),其中时间单位可以是天、小时、分钟、秒......

如果您有样本的时间戳,则可以计算 de 'd' 作为每个样本之间的时间差。如果不知道有关信号的一些信息,就无法计算它。


推荐阅读