要将时域图转换为频域图,我们可以使用傅里叶变换。在 Python 中,我们可以使用'numpy'库来执行傅里叶变换,并用'matplotlib'库来绘制频域图。请确保你已经安装了这两个库。

首先,我们需要对输出电压进行傅里叶变换,然后计算频谱:

import numpy as np

# 对输出电压进行傅里叶变换
frequency = np.fft.fftfreq(len(voltage), time[1]-time[0])  # 计算频率
spectrum = np.fft.fft(voltage, axis=0)  # 计算频谱

接下来,我们可以绘制频域图:

# 绘制频域图
plt.plot(frequency, np.abs(spectrum))
plt.xlabel('频率')
plt.ylabel('振幅')
plt.legend(voltage.columns)  # 添加图例,显示每列的名称
plt.show()

这段代码将绘制频域图,横轴为频率,纵轴为振幅。图例将显示每列的名称。

完整代码如下:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# 读取Excel数据
data = pd.read_excel('your_excel_file.xlsx')

# 获取采样时间和输出电压列的数据
time = data.iloc[:, 0]  # 第一列采样时间
voltage = data.iloc[:, 1:5]  # 第2到5列输出电压

# 对输出电压进行傅里叶变换
frequency = np.fft.fftfreq(len(voltage), time[1]-time[0])  # 计算频率
spectrum = np.fft.fft(voltage, axis=0)  # 计算频谱

# 绘制频域图
plt.plot(frequency, np.abs(spectrum))
plt.xlabel('频率')
plt.ylabel('振幅')
plt.legend(voltage.columns)  # 添加图例,显示每列的名称
plt.show()

记得将'your_excel_file.xlsx'替换为你实际的Excel文件路径。这段代码将读取Excel文件中的第一列作为采样时间,第2到5列作为输出电压,然后进行傅里叶变换并绘制频域图。

希望对你有帮助!如果有任何问题,请随时问我。

Python 傅里叶变换:将时域图转换为频域图

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

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