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

📄 mysvdtest00.m

📁 matlab 时频分析上面程序第八章的故障诊断的小程序
💻 M
字号:
%%%%%此文件用于进行相空间重构,并绘制相空间特征值及特征值斜率的变化趋势

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
clc;
%load myshuju02
%B=yy(2,:);
%load data1;
%B=a1(1:4238);

%load mydata4xx1;
%B=0.2*xx1(1,:)+0.1*xx1(2,:)+xx1(3,:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%load zh600_3_2_Waveform;
load xie720-3Mpa-5_Waveform;


B=a8(5001:11000);
%load mydata2yy;
%B=YY;

t=a0(5001:11000);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%load mydataxx1;
%B=0.5*xx1(1,:)+0.3*xx1(2,:)+xx1(3,:);
%t=0:0.002:9.9998;
%T=length(B);

%break
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%$$load mytime;
%$$load myxiedata41;
%$$B=xiedata41(4,:);
T=length(B);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 设置基本参数
T0=1;    %%%%设定重构相空间矩阵保留特诊征值维数
T1=30;
n=60;       %%% 重构相空间的的行数
tau=19;     %%% 设置时间延迟

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Y=reconstitution(B,T,n,tau); %%%% 重构吸引子矩阵,将样本长度为T的信号B重构为n维,时间延迟为tau的吸引子矩阵
[U E V]=svd(Y);   %%%奇异值分解
%break;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:n
   e(i)=E(i,i);   %%%保存特征值
end
  
for i=1:(n-1)
     xielv(i)=e(i)-e(i+1);    %%%计算特征值比值
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%重构相空间
ee=e;
for i=1:n
    if i>=T0 & i<=T1
       ee(i)=e(i);           
    else
       ee(i)=0;
    end
end
%%%%%%%%%%%%%%%%%%%%%
E=diag(ee(1:n),0);
m=length(Y(1,:));%%%% 重构时间序列的长度
EE=zeros(n,m);
for i=1:m   %%%恢复特征值矩阵   
    if i<=n
    EE(i,i)=E(i,i);
    end
end
    
 AA=U*EE*V';   %%% 利用SVD反变换进行相空间重构
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 YY=myresignal(AA,tau);  %%%对重构的矩阵通过平均对应元素恢复提取的特征信号
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %fs=5681.32;   %%xie chi
 %N=5000;          %采样点数
 %x=YY(1:5000);
 %x=x-mean(x);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%xf=fft(x,N)/N;   % 进行傅立叶变换
%xf=fftshift(xf);   %双边复数谱
%df=fs/N;          %频率分辨率Hz
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%绘制双边幅值谱
%f=(-N/2:N/2-1)*df;    %频域序列

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
  figure (7);
  %subplot(221);
  %plot(e(1:n));    %%%特征值变化趋势
  %plot(H(1:n));    %%%特征谱变化趋势
  
  %subplot(222);
  %plot(xielv(1:n-1));%%%特征值斜率变化趋势
  
  subplot(211);
  plot(t,B(1:T));%%%绘制特征值分解前的原始信号
  
  subplot(212);
  plot(t,YY(1:T));%%%绘制特征值分解后的重构信号
  
  save mydatashice-a8 YY;

    break;
  subplot(313);
  plot(f,abs(xf));
  xlabel('f/Hz');
  
  save mydatayy10-10 YY;
  

⌨️ 快捷键说明

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