Scipy是一个强大的科学计算库,其中包含了用于信号处理的fft模块。使用scipy绘制Python中的fft并修改频率范围,使其显示中心的两个峰值频率,可以按照以下步骤进行操作:
import numpy as np
import matplotlib.pyplot as plt
from scipy.fft import fft, fftfreq
# 创建时间序列
t = np.linspace(0, 1, 1000, endpoint=False)
# 创建输入信号,例如正弦波
input_signal = np.sin(2*np.pi*50*t) + np.sin(2*np.pi*120*t)
# 对输入信号进行FFT变换
fft_output = fft(input_signal)
# 计算频率轴
freq_axis = fftfreq(len(t), 1/len(t))
# 绘制FFT结果
plt.plot(freq_axis, np.abs(fft_output))
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude')
plt.grid(True)
plt.show()
# 修改频率范围
plt.xlim(0, 200) # 设置频率范围为0到200Hz
完整的代码示例如下:
import numpy as np
import matplotlib.pyplot as plt
from scipy.fft import fft, fftfreq
# 创建时间序列
t = np.linspace(0, 1, 1000, endpoint=False)
# 创建输入信号,例如正弦波
input_signal = np.sin(2*np.pi*50*t) + np.sin(2*np.pi*120*t)
# 对输入信号进行FFT变换
fft_output = fft(input_signal)
# 计算频率轴
freq_axis = fftfreq(len(t), 1/len(t))
# 绘制FFT结果
plt.plot(freq_axis, np.abs(fft_output))
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude')
plt.grid(True)
# 修改频率范围
plt.xlim(0, 200) # 设置频率范围为0到200Hz
plt.show()
这段代码将绘制输入信号的FFT结果,并通过修改频率范围来显示中心的两个峰值频率。你可以根据需要调整输入信号的频率和幅度,以及修改频率范围来适应不同的应用场景。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅为示例,具体的产品选择应根据实际需求和情况进行评估和选择。
领取专属 10元无门槛券
手把手带您无忧上云