1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > matlab小波包分析 小波分析及小波包分析

matlab小波包分析 小波分析及小波包分析

时间:2018-08-14 23:27:59

相关推荐

matlab小波包分析 小波分析及小波包分析

在利用matlab做小波分析时,小波分解函数和系数提取函数的结果都是分解系数。我们知道,复杂的周期信号可以分解为一组正弦函数之和,及傅里叶级数,而傅里叶变换对应于傅里叶级数的系数;同样,信号也可以表示为一组小波基函数之和,小波变换系数对应于这组小波基函数的系数。

多尺度分解是按照多分辨分析理论,分解尺度越大,分解系数的长度越小(是上一个尺度的二分之一)。我们会发现分解得到的小波低频系数的变化规律和原始信号相似,但要注意低频系数的数值和长度与原始信号以及后面重构得到的各层信号是不一样的。

小波分解:具体实现过程可以分别设计高通滤波器和低通滤波器,得到高频系数和低频系数,并且每分解一次数据的长度减半。小波重构,为分分解的逆过程,先进行增采样,及在每两个数之间插入一个0,与共轭滤波器卷积,最后对卷积结果求和。在应用程中,我们经常利用各层系数对信号进行重构(注意虽然系数数少于原信号点数,但是重构后的长度是一样的),从而可以有选择的观看每一频段的时域波形。从而确定冲击成分所在频率范围。便于更直观的理解,小波分解,利用各层系数进行信号重构过程我们可以认为是将信号通过一系列的不同类型的滤波器,从而得到不同频率范围内的信号,及将信号分解。

小波消噪:运用小波分析进行一维信号消噪处理和压缩处理,是小波分析的两个重要的应用。使用小波分析可以将原始信号分解为一系列的近似分量和细节分量,信号的噪声主要集中表现在信号的细节分量上。使用一定的阈值处理细节分量后,再经过小波重构就可以得到平滑的信号。

小波常用函数

[C,L]=wavedec(s,3,'db1');

%用小波函数db1对信号s进行3尺度分解

其中C为分解后低频和高频系数,L存储低频和高频系数的长度。

X=wrcoef(‘type’,C,L,’wname’,N)%对一维小波系数进行单支重构,其中N表示对第几层的小波进行重构

X=wrcoef(‘a’,C,L,’wname’,3)%对第三层的低频信号进行重构,如果a变为d的话,表示对低频分量进行重构。注意重构后数据的长度于原来数据的长度一致。

ca1=appcoef(C,L,'db1',1);%从前面小波3尺度分解结构[C,L]中提取尺度1的低频系数

高频系数提取类似。

选择合适的阈值,小波分解后,重构可以达到去除噪声的目的。

小波包分解,可以将信号分在不同的频带,且不同的频带宽度是一样的。小波分析,只将低频分量进行分解,高频分量将不再分解,及频段的长短不一。

小波包分析的常用函数

t=wpdec(y,3,'db1','shannon');%小波分解,三次分解,共分成8个频段,其中y表示原始信号,八段信号分别表示表示为[3,0],[3,1][3,2][3,3][3,4][3,5][3,6][3,7]

rcfs=wprcoef(t,[3,i]);

%利用相应的频段进行小波重构,如果采样频率为4096的话,则每一段表示256hz,当i取0,表示利用0-256hz频段的系数进行小波重构。

cfs21=wpcoef(t,[3,i]);%提取小波的系数,将每一短系数平方相加,即可得到每一段的能量,可以画出能量分布图。

总之小波和小波包最简单的理解就是把它当做滤波器来看,将信号利用不同类型的滤波器,分成不同频段的信号,实现细化信号的目的。

以上只是最近学习小波和小波包的一点学习心得,自己做个记录,不求对人有用,但求学有所得。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。