M=importdata('C:\Users\xusong\Desktop\400.txt');
y=M(:,1);
Fs=100; % 采样频率
Nfft=length(y); % 采样点数
range='onesided';
window=hamming(length(y)); % 窗函数
noverlap=0; % 重叠度
[Pxx,f]=pwelch(y,window,noverlap,Nfft,Fs,range); % FFT
figure(1)
plot(f,Pxx,'r');
title('Z轴向功率谱密度')
grid on
set(gca,'Xscale','log','Yscale','log');
acc_x=f;
acc_y=Pxx;
ww=zeros;
acc_num=0;
for i=1:length(acc_x)-1 % 频率加权函数
if acc_x(i)>=0.5 && acc_x(i)<2
ww(i)=0.5;
elseif acc_x(i)>=2 && acc_x(i)<4
ww(i)=acc_x(i)/4;
elseif acc_x(i)>=4 && acc_x(i)<12.5
ww(i)=1;
elseif acc_x(i)>=12.5 && acc_x(i)<80
ww(i)=12.5/acc_x(i);
else
ww(i)=0;
end
acc_num=acc_num+ww(i)^2*acc_y(i)*(acc_x(i+1)-acc_x(i)); % 计算加权均方根值
end
acc_Q=(acc_num)^0.5; % 加权加速度均方根值
评论0