利用FFT计算列表数据list的振幅谱并显示分析的python代码 
时间: 2023-04-09 13:02:37 浏览: 27
以下是利用FFT计算列表数据list的振幅谱并显示分析的Python代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成测试数据
t = np.linspace(0, 1, 1000)
list = np.sin(2 * np.pi * 10 * t) + np.sin(2 * np.pi * 20 * t) + np.sin(2 * np.pi * 30 * t)
# 计算FFT
fft = np.fft.fft(list)
freq = np.fft.fftfreq(len(list), t[1] - t[0])
# 取振幅谱
amp = np.abs(fft)
# 绘制振幅谱
plt.plot(freq, amp)
plt.xlabel('Frequency')
plt.ylabel('Amplitude')
plt.show()
```
希望能对您有所帮助。
相关问题
利用FFT计算列表数据list的振幅谱并显示分析的python代码,其中振幅谱横坐标可以改动
以下是利用FFT计算列表数据list的振幅谱并显示分析的Python代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成测试数据
N = 1000
T = 1.0 / 1000.0
t = np.linspace(0.0, N*T, N)
list = np.sin(50.0 * 2.0*np.pi*t) + 0.5*np.sin(80.0 * 2.0*np.pi*t)
# 计算FFT
yf = np.fft.fft(list)
xf = np.linspace(0.0, 1.0/(2.0*T), N//2)
# 绘制振幅谱
fig, ax = plt.subplots()
ax.plot(xf, 2.0/N * np.abs(yf[:N//2]))
ax.set_xlabel('Frequency (Hz)')
ax.set_ylabel('Amplitude')
plt.show()
```
其中,list为要分析的数据列表,可以根据需要进行修改。振幅谱横坐标xf是根据采样频率和数据长度计算得出的,也可以根据需要进行修改。
利用FFT计算振幅谱并显示分析的python代码
以下是利用Python中的numpy库和matplotlib库计算振幅谱并显示分析的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成信号
t = np.linspace(0, 1, 1000)
f1 = 10
f2 = 20
f3 = 30
signal = np.sin(2*np.pi*f1*t) + 0.5*np.sin(2*np.pi*f2*t) + 0.2*np.sin(2*np.pi*f3*t)
# 计算FFT
fft_signal = np.fft.fft(signal)
freq = np.fft.fftfreq(len(signal), t[1]-t[0])
# 计算振幅谱
amp_spectrum = np.abs(fft_signal)
# 显示分析结果
plt.plot(freq, amp_spectrum)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude')
plt.show()
```
这段代码可以生成一个包含三个正弦波的信号,并使用FFT计算出其振幅谱,并将结果显示出来。
相关推荐








