利用FFT计算振幅谱并显示分析的python代码 
时间: 2023-04-09 22:02:36 浏览: 41
以下是利用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计算出其振幅谱,并将结果显示出来。
相关问题
利用FFT计算列表数据list的振幅谱并显示分析的python代码
以下是利用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()
```
希望能对您有所帮助。
计算振幅谱并显示分析的python代码
我可以回答这个问题。以下是一个计算振幅谱并显示分析的Python代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成信号
t = np.linspace(0, 1, 1000)
f = 10 # 信号频率
A = 1 # 信号振幅
signal = A * np.sin(2 * np.pi * f * t)
# 计算振幅谱
fft_signal = np.fft.fft(signal)
amplitude_spectrum = np.abs(fft_signal)
# 显示分析结果
fig, (ax1, ax2) = plt.subplots(2, 1)
ax1.plot(t, signal)
ax1.set_xlabel('Time (s)')
ax1.set_ylabel('Amplitude')
ax2.plot(amplitude_spectrum)
ax2.set_xlabel('Frequency (Hz)')
ax2.set_ylabel('Amplitude Spectrum')
plt.show()
```
这个代码生成一个频率为10Hz的正弦信号,并计算其振幅谱。最后,它显示了原始信号和振幅谱的图形。
相关推荐
















