📄 shijigonglvpu.m
字号:
%装载实际测量信号
load e:\data\vfa005.dat
y=vfa005(512:1000);
fs=1000;
nfft=100;
figure(1);
subplot(2,1,1);
plot(y,'LineWidth',2);
ydata=(y-mean(y))/std(y,1);
subplot(2,1,2);
y1=abs(psd(ydata,nfft));
loglog((0:nfft/2-1)/nfft*fs,y1(1:nfft/2));
%用db10小波对合成信号进行5层分解
[c,l]=wavedec(y,5,'db10');;
%从小波分解结构[c,l]中提取低频概貌系数
ca5=appcoef(c,l,'db10',5);
%从小波分解结构[c,l]中提取高频细节系数
cd5=detcoef(c,l,5);
cd4=detcoef(c,l,4);
cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
%求合成信号小波系数的样本方差
v5=sum((cd5).^2)/length(cd5);
v4=sum((cd4).^2)/length(cd4);
v3=sum((cd3).^2)/length(cd3);
%估计谱参数r的值
r=log2(abs((v5-v4)/(v4-v3)));
vx=(v5-v4)/((2.^(4*r))*((2.^r)-1));
vy=v4-(vx*(2.^(4*r)));
%重构小波系数
ra5=abs((vx*(2^(5*r)))/((vx*(2^(5*r))+vy)))*ca5;
rd5=abs((vx*(2^(5*r)))/((vx*(2^(5*r))+vy)))*cd5;
rd4=abs((vx*(2^(4*r)))/((vx*(2^(4*r))+vy)))*cd4;
rd3=abs((vx*(2^(3*r)))/((vx*(2^(3*r))+vy)))*cd3;
rd2=abs((vx*(2^(2*r)))/((vx*(2^(2*r))+vy)))*cd2;
rd1=abs((vx*(2^(1*r)))/((vx*(2^(1*r))+vy)))*cd1;
c1=[ra5,rd5,rd4,rd3,rd2,rd1];
rx=waverec(c1,l,'db10');
figure(2);
subplot(2,1,1);
plot(rx);
rxdata=(rx-mean(rx))/std(rx,1);
subplot(2,1,2);
y2=abs(psd(rxdata,nfft));
loglog((0:nfft/2-1)/nfft*fs,y2(1:nfft/2));
axis([30,500,0,10]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -