小波分解层数不同,小波系数长度不一样?
用wavedec对一个给定信号x进行分解时,采用如下格式:= WAVEDEC(X,N,'wname')
其中C为所有近似系数和细节系数构成的向量。
但是这里我有一个问题,当N不同时,得到的C的长度不一样,这是为什么?有什么办法能够得到在不同分解层数下同样长度的小波系数? 长度当然会有所不同了,不同的N代表不同层数的近似空间,而不同层数的近似空间的维数是不同的,所以分解系数的长度就不同了
你说的那个问题应该没有什么意义吧……
回复 #2 auwi_zxy 的帖子
当然有意义了!潘泉老师的专著《小波滤波方法及应用》中提到有这么一种小波降噪方法:即利用同一个信号x在不同尺度上的小波系数相乘,构造一个滤波器,然后对原信号降噪。如果不同尺度上的小波系数长度不一样,它怎么能够相乘呢? 我也正想问楼主的这个问题呢。看过一些文章进行小波分解后信号长度仍跟原信号长度一样。
回复 #4 ialan 的帖子
多孔算法 我的理解是,matlab在做小波分解的时候,会在信号两边进行延拓,以完全算法。对于输入不同的数据样本,延拓的个数不一样,
所以出来的个数也就不一样。
不知道我理解对了没,欢迎大家批评。 原帖由 ialan 于 2007-12-14 09:14 发表 http://www.chinavib.com/forum/images/common/back.gif
我也正想问楼主的这个问题呢。看过一些文章进行小波分解后信号长度仍跟原信号长度一样。
暂时解决了,采用cwt可以得到与原信号长度相同的小波分解系数!
回复 #7 shenyongjun 的帖子
SWT也可以。回复 #8 破凰 的帖子
SWT是什么? 对提出的问题:用wavedec对一个给定信号x进行分解时,采用如下格式:= WAVEDEC(X,N,'wname')
其中C为所有近似系数和细节系数构成的向量。
但是这里我有一个问题,当N不同时,得到的C的长度不一样,这是为什么?有什么办法能够得到在不同分解层数下同样长度的小波系数?
当N不同是C是肯定不同。若原始输入信号的长度为LEN的话分解N层的话,C的长度理论上应该为LEN/(2的N次方 ),即若分解一层C的长度为LEN/2,分解3层的话为LEN/8
当然也有办法在不同分解层数下获得同样的长度,那就要做单支重构 MATLAB中有函数可以直接调用 如wrcoef(小波分解) wprcoef(小波包分解)
具体可见《小波分析理论与MATLAB实现》的红书
这个问题我也是看了好久 才明白的 :-) 解释的很牛 解答精彩,研究学习中... 解释的很好~研究中! viorchid 发表于 2007-12-21 10:47 static/image/common/back.gif
对提出的问题:用wavedec对一个给定信号x进行分解时,采用如下格式:
= WAVEDEC(X,N,'wname')
其中 ...
其实一直不明白长度不一样怎么去逼近原始信号呢,是不是取点数变少所以长度变短,而时间的跨度是一样的呢,求指导啊
页:
[1]