以下是一个简单的Python代码示例,用于生成信号的倒频谱图:

import numpy as np
import matplotlib.pyplot as plt

# 生成信号
t = np.linspace(0, 1, 1000)
signal = 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(signal)

# 计算频率轴
freq = np.fft.fftfreq(len(signal), t[1] - t[0])
freq = np.fft.fftshift(freq)

# 计算倒频率轴
inv_freq = 1.0 / freq

# 计算倒频谱
inv_fft = np.fft.fftshift(fft)
inv_fft = np.abs(inv_fft)

# 绘制倒频谱图
fig, ax = plt.subplots()
ax.plot(inv_freq, inv_fft)
ax.set_xlabel('Inverse frequency')
ax.set_ylabel('Magnitude')
ax.set_title('Inverse frequency spectrum')
plt.show()

该代码生成了一个简单的信号,其中包含三个频率成分(10 Hz,20 Hz和30 Hz)。它使用Numpy中的fft函数计算信号的FFT,然后计算频率轴和倒频率轴。最后,它使用Matplotlib绘制倒频谱图。

请注意,在计算倒频率轴时,我们将频率轴中的FFT移位(使用fftshift函数),以便零频率(直流分量)位于中心。同样,在绘制倒频谱图时,我们还使用fftshift函数将FFT移位,以便它与倒频率轴对齐。

这只是一个简单的示例代码,您可以根据需要进行修改和扩展。

帮我写一下信号的倒频谱图python代码

原文地址: https://www.cveoy.top/t/topic/q2m 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录