时间序列 傅里叶变换
时间: 2023-11-28 22:05:44 浏览: 113
傅里叶变换是一种将信号从时域转换到频域的方法,它可以将一个信号分解成不同频率的正弦和余弦波。时间序列傅里叶变换可以用于分析信号的频率成分,以及在信号中存在的周期性模式。下面是一个简单的Python示例,演示如何使用numpy库中的fft函数进行时间序列傅里叶变换:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一个简单的时间序列
t = np.linspace(0, 1, 1000)
y = np.sin(2 * np.pi * 5 * t) + np.sin(2 * np.pi * 10 * t)
# 进行傅里叶变换
Y = np.fft.fft(y)
# 计算频率轴
freqs = np.fft.fftfreq(len(y), t[1] - t[0])
# 绘制原始信号和频域图像
fig, axs = plt.subplots(2, 1)
axs[0].plot(t, y)
axs[0].set_xlabel('Time')
axs[0].set_ylabel('Amplitude')
axs[1].plot(freqs, np.abs(Y))
axs[1].set_xlabel('Frequency')
axs[1].set_ylabel('Magnitude')
plt.show()
```
上述代码生成了一个简单的时间序列,包含两个正弦波,频率分别为5Hz和10Hz。然后使用numpy库中的fft函数进行傅里叶变换,并计算频率轴。最后,绘制原始信号和频域图像。在频域图像中,可以看到两个正弦波的频率成分。
阅读全文