📄 mysvdtest00.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 + -