⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qingxieshipin.m

📁 自己编写的比较全面的故障诊断matlab函数程序
💻 M
字号:
%**************************************************************************************************************************************************************
%   本程序为主程序,目的是对WM1000发动机故障诊断所布各个测点的加速度响应进行FFT,并绘制时频域响应图和功率谱密度函数图
%   
%   中国北方发动机研究所试验测试中心  苏志霄   2006年10月
%**************************************************************************************************************************************************************
m=13;                                                             %m取值为测点数目
%读入时间加速度数据,各测点在每个测试时间内时间数据列是一致的,因此统一标识
t=acceleration_X;
len=max(size(t));
acc=zeros(m,len);
acc(1,:)=acceleration_Y';acc(2,:)=acceleration2_Y';acc(3,:)=acceleration3_Y';acc(4,:)=acceleration4_Y';acc(5,:)=acceleration5_Y';acc(6,:)=acceleration6_Y';
acc(7,:)=NONE_Y';acc(8,:)=NONE2_Y';acc(9,:)=NONE3_Y';acc(10,:)=NONE4_Y';acc(11,:)=NONE5_Y';acc(12,:)=NONE6_Y';acc(13,:)=NONE7_Y';
%**************************************************************************************************************************************************************
%将各测点加速度信号进行Fourier变换
f=5000*(0:1023)/2048;
A=zeros(m,2048);
pu=zeros(m,2048);
for i=1:m;
    A(i,:)=fft(acc(i,:),2048);
    pu(i,:)=sqrt(A(i,:).*conj(A(i,:)))/2048;
end;
%**************************************************************************************************************************************************************
%绘制各个测点的时域频域信号,并标出时域最大加速度值和频域最大加速度对应的频率值
for i=1:m;
    figure(i);
    subplot(3,1,1);
    plot(t,acc(i,:));set(gca,'FontSize',7);grid;xlabel('time/Sec');ylabel('acceleration/g');
    title(['The time,frequcncy response and power spectral density of  ',num2str(i), ' point, maxacc=',num2str(max(abs(acc(i,:))),'%.1f'),'g']);
    hold on;
    [a n]=max(abs(acc(i,:)));
    plot(t(n),acc(i,n),'r.','MarkerSize',15,'EraseMode','none');
    hold off;
    subplot(3,1,2);
    plot(f,pu(i,1:1024));set(gca,'FontSize',7);xlabel('Frequcncy/Hz');ylabel('acceleration/g');
    hold on;
    [a n]=max(pu(i,:));
    plot(f(n),pu(i,n),'r.','MarkerSize',15,'EraseMode','none');
    N=num2str(n/1024*2500,'%.1f');
    text(f(n)+30,pu(i,n),[N,'Hz'],'FontSize',8);
    hold off;
    subplot(3,1,3);
    periodogram(acc(i,:),[],'onesided',512,5000);set(gca,'FontSize',7);xlabel('Frequcncy/Hz');ylabel('PSD/dB');title([]);
    
end;






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -