python - 解释和理解时间序列数据的 fft 图
问题描述
我有一个时间序列传感器数据。每分钟采样 24 小时(因此每天总共有 1440 个数据点)。我对此进行了 fft 以查看主要频率是什么。但我得到的是一个非常嘈杂的 fft 和一个在零处的强峰值。
我已经减去了 bin 0 处 DC 分量的平均值。但我仍然在零处得到一个强峰值。我无法弄清楚其他原因可能是什么,或者我接下来应该尝试什么来删除它。
该图与我在学习 fft 时通常在网上看到的非常不同。从某种意义上说,我无法像通常看到的那样看到主导峰。我的fft错了吗?附加我尝试过的代码和图像:
import numpy as np
from matplotlib import pyplot as plt
from scipy.fftpack import fft,fftfreq
import random
x = np.random.default_rng().uniform(29,32,1440).tolist()
x=np.array(x)
x=x-x.mean()
N = 1440
# sample spacing
T = 1.0 / 60
yf = fft(x)
yf_abs = abs(yf).tolist()
plt.plot(abs(yf))
plt.show()
freqs = fftfreq(len(x), 60)
plt.plot(freqs,yf_abs)
plt.show()
频率与幅度 因为我是新手,所以我无法弄清楚我错在哪里或解释结果。任何帮助将不胜感激。谢谢!:)
解决方案
推荐阅读
- jquery - 如何在部分加载时绑定事件 Shopify
- java - Android - 有没有办法为服务使用消息处理程序并且仍然能够从绑定的活动中调用它的方法?
- flutter - 动画容器:RenderFlex 底部溢出 154 像素
- php - 如何通过 wordpress 页面上的插件呈现表单?
- analytics - couchbase 分析查询中是否允许 SELECT 中的双重计数
- list - 使用 OCaml 修剪对列表
- sql - SQL 如何透视这个表?
- python - Datetime 天数的子集
- apache - SameSite=None 不适用于 Apache 2.2.15 和 Tomcat 6
- c# - 查找范围之间的月份