小波分解信号遇到的问题
本人想用小波分析进行模态参数辨识,对多模态实信号先进行小波分解为单模态信号,再对单模态信号小波脊提取进行模态参数辨识。各位前辈帮我看看这个方法理论上可行否?现在在小波分解信号上存在一些问题,程序及运行结果图如下:clear;
load ScopeData;
t=ScopeData.time;
Delta=0.005;
Fs=1/Delta; % 采样频率
x=ScopeData.signals.values;
figure;
plot(t,x);
xlabel('time(s)');
ylabel('acc(m/s^2)');
figure;
nfft=512;
Y=fft(x,nfft);
f=Fs*(0:(nfft/2-1))/nfft;
fftY=abs(Y)/nfft;
plot(f,fftY(1:nfft/2)),grid %IMF分量的频域图
xlabel('Frequence');ylabel('Amp');
wpt=wpdec(x,3,'db4','shannon');
s130=wprcoef(wpt,);
s131=wprcoef(wpt,);
s132=wprcoef(wpt,);
s133=wprcoef(wpt,);
s134=wprcoef(wpt,);
s135=wprcoef(wpt,);
s136=wprcoef(wpt,);
s137=wprcoef(wpt,);
figure
subplot(4,2,1);plot(t,s130);
subplot(4,2,2);plot(t,s131);
subplot(4,2,3);plot(t,s132);
subplot(4,2,4);plot(t,s133);
subplot(4,2,5);plot(t,s134);
subplot(4,2,6);plot(t,s135);
subplot(4,2,7);plot(t,s136);
subplot(4,2,8);plot(t,s137);
figure;
nfft=512;
f=Fs*(0:(nfft/2-1))/nfft;
Y0=fft(s130,nfft);
fftY0=abs(Y0)/nfft;
Y1=fft(s131,nfft);
fftY1=abs(Y1)/nfft;
Y2=fft(s132,nfft);
fftY2=abs(Y2)/nfft;
Y3=fft(s133,nfft);
fftY3=abs(Y3)/nfft;
Y4=fft(s134,nfft);
fftY4=abs(Y4)/nfft;
Y5=fft(s135,nfft);
fftY5=abs(Y5)/nfft;
Y6=fft(s136,nfft);
fftY6=abs(Y6)/nfft;
Y7=fft(s137,nfft);
fftY7=abs(Y7)/nfft;
subplot(4,2,1);
plot(f,fftY0(1:nfft/2));
ylabel('P130');
subplot(4,2,2);
plot(f,fftY1(1:nfft/2));
ylabel('P131');
subplot(4,2,3);
plot(f,fftY2(1:nfft/2));
ylabel('P132');
subplot(4,2,4);
plot(f,fftY3(1:nfft/2));
ylabel('P133');
subplot(4,2,5);
plot(f,fftY4(1:nfft/2));
ylabel('P134');
subplot(4,2,6);
plot(f,fftY5(1:nfft/2));
ylabel('P135');
subplot(4,2,7);
plot(f,fftY6(1:nfft/2));
ylabel('P136');
subplot(4,2,8);
plot(f,fftY7(1:nfft/2));
ylabel('P137');
以上为加速度信号及其频谱图,从频谱图上看只有三个主要的模态频率
以上为分解成的单模态信号及其频谱图,频谱图与想要的结果相差很多
理论上应该出现类似下列三幅频谱图,各位帮忙看看问题出在哪里,非常感谢!
分解单分量有问题。 为什么没人回答呢,菜鸟初学路过~~! 同问,不知道楼主解决了没? 正在研究中
页:
[1]