声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4162|回复: 13

[小波] 小波分解层数不同,小波系数长度不一样?

[复制链接]
发表于 2007-12-12 12:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
用wavedec对一个给定信号x进行分解时,采用如下格式:
[C,L] = WAVEDEC(X,N,'wname')
其中C为所有近似系数和细节系数构成的向量。
但是这里我有一个问题,当N不同时,得到的C的长度不一样,这是为什么?有什么办法能够得到在不同分解层数下同样长度的小波系数?
回复
分享到:

使用道具 举报

发表于 2007-12-12 13:37 | 显示全部楼层
长度当然会有所不同了,不同的N代表不同层数的近似空间,而不同层数的近似空间的维数是不同的,所以分解系数的长度就不同了
你说的那个问题应该没有什么意义吧……
 楼主| 发表于 2007-12-12 17:01 | 显示全部楼层

回复 #2 auwi_zxy 的帖子

当然有意义了!
潘泉老师的专著《小波滤波方法及应用》中提到有这么一种小波降噪方法:即利用同一个信号x在不同尺度上的小波系数相乘,构造一个滤波器,然后对原信号降噪。如果不同尺度上的小波系数长度不一样,它怎么能够相乘呢?
发表于 2007-12-14 09:14 | 显示全部楼层
我也正想问楼主的这个问题呢。看过一些文章进行小波分解后信号长度仍跟原信号长度一样。
发表于 2007-12-15 13:44 | 显示全部楼层

回复 #4 ialan 的帖子

多孔算法
发表于 2007-12-16 14:10 | 显示全部楼层
我的理解是,matlab在做小波分解的时候,会在信号两边进行延拓,以完全算法。
对于输入不同的数据样本,延拓的个数不一样,
所以出来的个数也就不一样。
不知道我理解对了没,欢迎大家批评。
 楼主| 发表于 2007-12-16 20:33 | 显示全部楼层

暂时解决了,采用cwt可以得到与原信号长度相同的小波分解系数!
发表于 2007-12-17 13:28 | 显示全部楼层

回复 #7 shenyongjun 的帖子

SWT也可以。
 楼主| 发表于 2007-12-18 12:04 | 显示全部楼层

回复 #8 破凰 的帖子

SWT是什么?
发表于 2007-12-21 10:47 | 显示全部楼层
对提出的问题:用wavedec对一个给定信号x进行分解时,采用如下格式:
[C,L] = 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实现》的红书  
这个问题我也是看了好久 才明白的 :-)
发表于 2010-8-10 14:13 | 显示全部楼层
解释的很牛
发表于 2012-3-8 20:49 | 显示全部楼层
解答精彩,研究学习中...
发表于 2012-3-10 11:51 | 显示全部楼层
解释的很好~研究中!
发表于 2013-11-12 10:57 | 显示全部楼层
viorchid 发表于 2007-12-21 10:47
对提出的问题:用wavedec对一个给定信号x进行分解时,采用如下格式:
[C,L] = WAVEDEC(X,N,'wname')
其中 ...

其实一直不明白长度不一样怎么去逼近原始信号呢,是不是取点数变少所以长度变短,而时间的跨度是一样的呢,求指导啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-26 05:14 , Processed in 0.139911 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表