python - 使用 numpy 的离散傅里叶变换采样频率
问题描述
我正在使用 numpy 来计算采样频率,特别是fft.fftfreq(n, d=1.0)。
我想计算d。有什么公式或库可以用来计算d吗?
我如何计算时间序列数据集的采样率,因为d是采样率的倒数?
谢谢
解决方案
在寻找“神奇功能”之前,您必须阅读一些关于采样率的知识。
根据numpy 文档,参数“d”是“样本间距(采样率的倒数)”。
寻找Sampling rate,“d”在时间上相当于“T”,它代表 Period(每个样本之间的时间,以秒为单位)。但是您使用的是 DFT,因此您可以选择时间单位。如果您每天有 1 个样本,则“d”为 1,并且 fftfreq 的结果将以周期/天为单位。如果您每天有 2 个样本,那么您的 'd' 是 1/2,以循环/天为单位进行输出。
因此,您正在寻找的函数只是 1/(每个时间单位的样本数),其中时间单位可以是天、小时、分钟、秒......
如果您有样本的时间戳,则可以计算 de 'd' 作为每个样本之间的时间差。如果不知道有关信号的一些信息,就无法计算它。
推荐阅读
- php - SQLite3 Prepared Statements 让我出错
- python - tf.distribute.Strategy.scope() 里面必须有什么?
- apache-kafka - 发件箱模式 - 我们如何防止消息中继进程生成重复消息?
- javascript - 缩放图像和标记
- ruby - 如何在 Ruby 0n 中调用不是类实例的函数
- debugging - 无法在 VSCode 中使用 gdb 进行调试
- android - onlocationChange 没有调用
- java - 通过 JNA 将击键发送到隐藏窗口
- python - 无法将_keys 发送到工具提示所涵盖的 webelement
- java - Swagger codegen typescript:模型名称与现有语言类型匹配