资源简介

本程序基于Peak Picking 峰值法拾取结构振动响应中的自振频率。

资源截图

代码片段和文件信息

%峰值法

clear
close all
format long

fprintf(‘Samples In Test :\n‘);
path_base = sprintf(‘test‘);
dir_sample = dir(path_base);
[nsampledummy] = size(dir_sample);
nsample = nsample - 2;
for i =1:nsample
    fprintf(strcat(num2str(i)‘:     ‘));
    fprintf(dir_sample(i+2).name);
    fprintf(‘\n‘);
end
SampleNum = input(‘Please select the sample number:\n‘);

path_sample = strcat(path_base‘\‘dir_sample(SampleNum+2).name); %strcat:连接字符串的函数
name_sample = dir_sample(SampleNum+2).name;

%提取测试数据
data(:1)=load(path_sample); 
%所选的时域样本内数据个数
ntdata = length(data(:1)); 
Cvtdata= zeros(ntdata1);


%【1】正常信号处理:
Cvtdata = data;
%【1】正常信号处理end;


% %【2】Narada信号转换:
% for j=1:length(data(:1))
%     data(j1) = data(j1) * 5.0 / 65535.0;  %Convert the data 转化为电压信号
% end       

% %增益系数
% gain = 10;
% for j=1:ntdata      
%     Cvtdata(j1)= data(j1)/(gain*200/1000);
% end
% Avgdata = zeros(11);
% Avgdata = mean( Cvtdata(:1)  ); %求数据平均值
% %【2】Narada信号转换end;

% 峰值法识别
f = 800;  %采样频率
fs = f;
fc = 0.02;  %高通截断频率
% dummyV = IdealHighPass (DSet fs fc) ;     %滤波
% nDSet= dummyV(1:size(DSet1));   
t = 0:1/f:(ntdata-1)/f;


%%%  FFT 快速傅里叶变换  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% [Nsdummy]= size(nDSet(:1));    %Sample size 样本大小
mag=abs(fft(Cvtdatantdata));   %Magnitude 
mag(1:51)= mag(1:51)/20;
freqdomain= fs*(0:ntdata-1)‘/ntdata;   % Frequency series

figure;
plot(tCvtdata);
xlabel([‘Time (s)‘]);
ylabel([‘Accel (g)‘]); 
grid on
% annotation(‘textbox‘[0.20.80.90.2]‘string‘strcat( Narada_name‘  Time:  ‘dataFolder)‘EdgeColor‘‘none‘‘FontSize‘16);

figure;
hold on
title(‘fft-data‘);
plot(freqdomain(1:ntdata/21)mag(1:ntdata/21));
xlabel(‘Frequency (Hz)‘‘FontSize‘14);
% ylabel(‘Magnitude‘‘FontSize‘14);
ylabel(‘Magnitude‘‘FontSize‘14);
hold off

%%%Obtain psd estimate using welch‘s method
if 1==1
figure;
% hold on
title(‘pwelch-data‘);
[psd_cf_c]=pwelch(Cvtdatantdata0[]fs‘onesided‘);  %pls set the stablized time of zeropadding as 10s.
pwelch(Cvtdatantdata0[]fs‘onesided‘);
figure;
loglog(f_cpsd_c);
xlabel(‘Frequency (Hz)‘);
ylabel(‘Power Spectrum Density ‘);
% hold off
end




















 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2351  2015-10-21 12:41  peak_picking.m

----------- ---------  ---------- -----  ----

                 2351                    1


评论

共有 条评论