python实现角速度傅里叶变换代码
时间: 2023-09-21 12:11:25 浏览: 205
以下是Python实现的角速度傅里叶变换代码示例:
```python
import numpy as np
# 定义时间序列
t = np.linspace(0, 10, 1000)
# 定义信号
x = np.sin(2 * np.pi * 5 * t) + np.sin(2 * np.pi * 10 * t) + np.sin(2 * np.pi * 20 * t)
# 计算角速度傅里叶变换
freqs = np.fft.fftfreq(len(x), t[1] - t[0])
fft_vals = np.fft.fft(x)
idx = np.argsort(freqs)
# 去除对称的负频率部分
freqs = freqs[idx]
fft_vals = fft_vals[idx]
positive_freqs = freqs[freqs > 0]
power = np.abs(fft_vals[freqs > 0]) ** 2
# 绘制功率谱
import matplotlib.pyplot as plt
plt.plot(positive_freqs, power)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Power')
plt.show()
```
在本例中,我们定义了一个时间序列和一个包含多个正弦波的信号。然后我们使用`numpy.fft.fft`进行FFT计算,并且使用`numpy.fft.fftfreq`函数获取所有频率点。我们计算功率谱,并使用`matplotlib.pyplot`库绘制结果。
阅读全文