心胸决定格局,眼界决定境界...

小波分析 检测 跳变点

%wavlet break detection
%清除以前的数据
clear;
close all;
%载入原始信号的波形数据
load freqbrk;%幅度明显跳变,第一类跳变点
%显示数据的基本信号
whos;
figure;
plot(freqbrk);
%自定义坐标轴
xlabel('时间'); ylabel('幅值');
%自定义标题
title('频率突变信号');

%对信号进行傅里叶变换
f=fft(freqbrk);
figure;
%显示处理后的信号图像
plot(abs(f));
%自定义标题
title('傅里叶变换后的信号示意图');
%对原始信号进行三层小波分解
[d,a]=wavedec(freqbrk,3,'db5');
%重构第三层近似系数
a3=wrcoef('a',d,a,'db5',3);
%重构第1层到第3层细节系数
d3=wrcoef('d',d,a,'db5',3);
d2=wrcoef('d',d,a,'db5',2);
d1=wrcoef('d',d,a,'db5',1);

figure;
subplot(411); plot(a3); ylabel('近似信号 a3'); %显示各层小波系数
subplot(412); plot(d3); ylabel('近似信号 d3'); %显示各层小波系数
subplot(413); plot(d2); ylabel('近似信号 d2'); %显示各层小波系数
subplot(414); plot(d1); ylabel('近似信号d1'); %显示各层小波系数
xlabel('时间');


%%%%%%%%%%%%%%%%%%%%%%%%第二类跳变点,一阶微分跳变
clear;
load nearbrk;
x=nearbrk;
%使用db4对信号进行2层分解。
[c,l]=wavedec(x,2,'db4');
figure
subplot(411);
plot(x);
ylabel('x');
%对分解的第六层低频系数进行重构
a=wrcoef('a',c,l,'db4',2);
subplot(412);
plot(a);
ylabel('a2');
for i=1:2
%对分解的第2层到第1层的高频系数进行重构
d=wrcoef('d',c,l,'db4',3-i);
subplot(4,1,i+2);
plot(d);
ylabel(['d',num2str(3-i)]);
end

 

 

 

 

 

不同层重构后的信号,可以用于定位和检测。

另外,结合希尔伯特变换获取包络,分析走势

posted @ 2016-12-07 18:55  WELEN  阅读(2286)  评论(0编辑  收藏  举报