matlab对非平稳一维信号的小波变换

matlab实验代码如下

clc
clear

t=linspace(0,2*pi,1024);%信号采样时间点
signal=sin(10*t).*stepfun(t,pi);%实验信号

%进行一维离散小波变换,获得近似分量和细节分量
[sigWaveApp,sigWaveDet]=dwt(signal,'db4');

%提取小波基的滤波器
[lowPassDecomp,highPassDecomp,lowPassreCons,highPassCons]=wfilters('db4');


figure
plot(signal);
title('原始信号');

figure
plot(sigWaveApp);
title('小波变换的近似分量');

figure
plot(sigWaveDet);
title('小波变换的细节分量')

figure
stem(lowPassDecomp,'filled');
title('分解低通滤波器')

figure
stem(highPassDecomp,'filled');
title('分解高通滤波器')

输入的信号是这个样子:

通俗而不精确地讲:非平稳信号是在不同的时间段内,信号的频率成分可能不同的信号。

小波变换的一大优势就是可以从小波变换的系数中获得一些时域上的信息,从而对时域、频域特征综合分析

根据一维小波变换过程理论

经过小波变换后,得到的近似分量和细节分量如下

小波变换对时域特点的表现,还可以从滤波器的系统函数的角度来感悟

运行程序后可以得到小波基的分解低通滤波器和分解高通滤波器

信号通过滤波器的过程,在数学上表现为卷积的过程

一个脉冲响应为无限长的滤波器,得到的卷积结果是对信号全局频率成分的体现

而有限长脉冲响应的滤波器,得到的结果体现了每个局部时间的频率特征

想象一下卷积的图形过程【移位求和】

滤波器冲激响应的移位在每个位置和输入信号的求和结果,表现了信号和冲激响应的互相关度    或者说,相似程度

猜你喜欢

转载自blog.csdn.net/qq_39148922/article/details/86367181
今日推荐