时序性数据进行离散傅里叶变换python代码
时间: 2023-09-20 22:07:25 浏览: 82
使用python实现离散时间傅里叶变换的方法
以下是将时序性数据进行离散傅里叶变换的Python代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机的时序性数据
n = 600 # 数据点数
T = 1.0 / 800.0 # 采样间隔
t = np.linspace(0.0, n * T, n)
y = np.sin(50.0 * 2.0 * np.pi * t) + \
0.5 * np.sin(80.0 * 2.0 * np.pi * t)
# 对时序性数据进行离散傅里叶变换
yf = np.fft.fft(y)
xf = np.linspace(0.0, 1.0 / (2.0 * T), n // 2)
# 绘制时域和频域的图像
fig, axs = plt.subplots(2, 1, figsize=(8, 8))
axs[0].plot(t, y, 'r')
axs[0].set_xlabel('Time')
axs[0].set_ylabel('Amplitude')
axs[0].grid()
axs[1].plot(xf, 2.0 / n * np.abs(yf[0:n // 2]), 'b')
axs[1].set_xlabel('Frequency')
axs[1].set_ylabel('Amplitude')
axs[1].grid()
plt.show()
```
这段代码首先生成了随机的时序性数据,并使用了NumPy提供的FFT函数对其进行了离散傅里叶变换。然后绘制出了时域和频域的图像,用于展示波形和频域分布情况。该代码可以在Python环境中直接运行。
阅读全文