48 lines
1.4 KiB
Matlab
48 lines
1.4 KiB
Matlab
% 从文件读取数据
|
||
data = load('E:\Documents\工作资料\01项目资料\03.风电机组三合一采集器项目开发\01.机舱采集器\03.测试文件\ven\Data.txt'); % 假设数据存储在名为data.txt的文件中
|
||
|
||
% 提取采样率和持续时间
|
||
fs = 60000; % 采样率为60KHz
|
||
duration = 10; % 持续时间为10秒
|
||
|
||
% 创建时间向量
|
||
t = linspace(0, duration, length(data));
|
||
|
||
% 绘制时域波形图
|
||
figure;
|
||
subplot(2,1,1);
|
||
plot(t, data);
|
||
title('时域波形');
|
||
xlabel('时间(秒)');
|
||
ylabel('幅值');
|
||
ylim([min(data)-1, max(data)+1]); % 空出一定空间保证图形美观
|
||
|
||
% 计算并绘制频域谱
|
||
N = length(data);
|
||
f = (-N/2:N/2-1)*fs/N;
|
||
f_data = fftshift(abs(fft(data))/N);
|
||
|
||
subplot(2,1,2);
|
||
plot(f, f_data);
|
||
title('频域谱');
|
||
xlabel('频率(Hz)');
|
||
ylabel('幅度');
|
||
|
||
% 设置频率图的x轴范围
|
||
xlim([0, fs/2]);
|
||
|
||
% 计算指标
|
||
rms_value = sqrt(mean(data.^2));
|
||
peak_value = max(data);
|
||
peak_to_peak = max(data) - min(data);
|
||
kurtosis_value = kurtosis(data);
|
||
crest_factor = max(data) / sqrt(mean(data.^2));
|
||
skewness_value = skewness(data);
|
||
|
||
% 显示指标计算结果
|
||
disp(['有效值(RMS):', num2str(rms_value)]);
|
||
disp(['峰值(Peak):', num2str(peak_value)]);
|
||
disp(['峰峰值(Peak-to-Peak):', num2str(peak_to_peak)]);
|
||
disp(['峭度(Kurtosis):', num2str(kurtosis_value)]);
|
||
disp(['峰值因数(Crest Factor):', num2str(crest_factor)]);
|
||
disp(['歪度(Skewness):', num2str(skewness_value)]); |