Matlab小波变换检测含有两个突变点的信号.doc
《Matlab小波变换检测含有两个突变点的信号.doc》由会员分享,可在线阅读,更多相关《Matlab小波变换检测含有两个突变点的信号.doc(5页珍藏版)》请在冰点文库上搜索。
Matlab小波变换检测含有两个突变点的信号
Matlab小波变换检测奇异点
原始时域信号是一个含有两个突变点的信号,信号是是一条光滑的直线,但是信号在时间为500的附近存在两个突变点,为了确定阶跃信号的突变点,采用db5小波对信号进行处理,以便确定突变点的的位置。
仿真程序如下:
clear
loadnearbrk;
whos;
figure
(1);
plot(nearbrk)
xlabel('时间');ylabel('幅值');
title('频率突变信号');
figure
(2);
f=fft(nearbrk);
plot(abs(f));
title('傅立叶变换后的示意图');
figure(3);
[d,a]=wavedec(nearbrk,3,'db5');
a3=wrcoef('a',d,a,'db5',3);
d3=wrcoef('d',d,a,'db5',3);
d2=wrcoef('d',d,a,'db5',2);
d1=wrcoef('d',d,a,'db5',1);
subplot(411);plot(a3);ylabel('近似信号');
title('小波分解后示意图');
subplot(412);plot(d3);ylabel('细节信号');
subplot(413);plot(d2);ylabel('细节信号');
subplot(414);plot(d1);ylabel('细节信号');
xlabel('时间');
程序的运行结果如下图所示:
图1原始信号
原始信号载入后有矩阵表示,其中矩阵大小为1*1000,矩阵名为nearbrk。
矩阵是以双精度表示相应的图像显示如图1所示。
.
图2傅立叶分解后的示意图
利用傅立叶变换对原始信号进行处理,可以得到如图2所示的图像。
从图2可以看出:
信号经过傅立叶变换后能够清楚确定出原始信号包含的频率值的大小,但是对于确定频率突变点的位置,傅立叶变换却没有这种能力。
.
图3小波分解后的示意图
利用小波变换对原始信号进行处理,可以得到如图3所示的小波分解示意图。
从图中可见,db5小波分解后的3层高频系数重构图形可清楚的确定突变点的位置。
从图3中同样可能看出,第1层分解的d1高频系数重构的图像比d2、d3高频系数重构的图像更清楚的确定了信号突变点的位置。
命令行输出结果如下:
NameSizeBytesClassAttributes
nearbrk1x10008000double
总结
对原始先信号使用db6小波在尺度1~32上进行连续小波变换。
相应系绝对值的图像如图2所示。
从图3的原始信号连续小波变换系数的示意图可以清楚的看出,在t=710时,小波系数出现了一个倒锥形的区域,以此,可以推断在该区域存在突变点。
小波分析在检测突变点应用中具有傅立叶变换无法比拟的优越性。