当前位置: 首页 > news >正文

示波器输出的csv文件如何转换为频谱图及其excel表格(频率与幅值)

示波器输出的CSV文件通常包含的是采样的时域信号数据,而不是直接的频率和幅度信息。这个文件一般包括时间(Time)和电压(Voltage)两列,记录了电压随时间变化的情况。

要从这些时域数据中得到频率和幅度的变化,你需要进行一些信号处理,通常步骤如下:

①导入CSV数据:读取CSV文件中的时间和电压数据。
   
②FFT变换:使用快速傅里叶变换(FFT)将时域信号转换为频域信号,从而得到频率分量和相应的幅度。

③分析频率和幅度:从FFT结果中提取感兴趣的频率分量的幅度,分析其随时间的变化情况。

④绘制频谱图或幅度随频率变化的图:可以绘制频谱图(频率 vs. 幅度)或幅度随时间变化的图来观察频率和幅度的变化。

如果你想直接在CSV文件中看到频率与幅度的变化,通常需要借助一些数据处理工具,比如matlab来进行上述分析并绘图。

如下图所示,下图为csv文件中一部分数据,其数据表示的是时间(Time)和电压(Voltage)两列,我们需要得到有关频率与幅值的数据,需要进行matlab操作。

可以参考如下程序,自定义选择所需要的csv文件,进行FFT变换得到频谱图,同时生成频谱图所相关的关于频率与幅值的excel表格。

% 让用户交互式选择CSV文件
[file, path] = uigetfile('*.CSV', 'Select the CSV file');
if isequal(file, 0)disp('User selected Cancel');
elsefullFilePath = fullfile(path, file);% 读取CSV文件data = readtable(fullFilePath);% 假设CSV文件中的时间和电压数据分别在第1列和第2列time = data{:, 1};  % 读取时间数据voltage = data{:, 2};  % 读取电压数据% 检查数据的长度是否为2的幂,如果不是,为了避免频谱泄漏进行截断或填充N = length(voltage);N_fft = 2^nextpow2(N);  % 获取大于或等于N的最小2的幂% 计算采样频率dt = mean(diff(time));  % 计算时间间隔Fs = 1 / dt;  % 采样频率% 对电压数据进行FFT变换Y = fft(voltage, N_fft);% 计算频率向量f = (0:(N_fft/2-1)) * (Fs / N_fft);% 计算FFT的幅度amplitude = abs(Y / N_fft);% 只取正频率部分amplitude = amplitude(1:N_fft/2);% 将频率和幅度数据保存到表格中T = table(f', amplitude, 'VariableNames', {'Frequency', 'Amplitude'});% 保存表格数据到Excel文件[saveFile, savePath] = uiputfile('*.xlsx', 'Save Spectrum Data As');if isequal(saveFile, 0)disp('User selected Cancel');elsewritetable(T, fullfile(savePath, saveFile));disp(['Frequency spectrum data saved to ', fullfile(savePath, saveFile)]);end% 绘制频谱图figure;plot(f, amplitude);title('Frequency Spectrum');xlabel('Frequency (Hz)');ylabel('Amplitude');grid on;
end

通过以上代码生成的excel表格及其频谱图如下图所示。 


http://www.mrgr.cn/news/9646.html

相关文章:

  • msxml*.dll 错误 ‘80072f7d‘ 安全频道支持出错 解决方案
  • MySQL 用户与权限管理详解
  • LVS+Keepalived集群(主、备)
  • 您的多个密码是否被泄露有没有解决方法?
  • 《系统架构设计师教程(第2版)》第15章-面向服务架构设计理论与实践-04-SOA设计
  • XML CSS:结构和样式的完美结合
  • Leetcode-day28-贪心算法
  • iPhone 16系列详细参数曝光
  • 【代码随想录训练营第42期 Day37打卡 - 动态规划Part5 - 完全背包问题
  • HDU1753——大明A+B,HDU1115——Lifting the Stone,HDU1140——War on Weather
  • 【单片机】PIC16F1719 单片机,UART,串口发送
  • 汽车冷却液温度传感器
  • “我王多鱼投了!”疯狂烧钱的AI大模型公司如何赚钱?
  • 【CSS】使用 CSS 自定义属性(变量)-- var()
  • “论软件体系结构的演化”写作框架,软考高级,系统架构设计师
  • Mac常用快捷键
  • Docker 学习
  • 数据库,SQL语句
  • 深入探究神经网络的图像处理机制
  • C++语言特性常见问题