声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2899|回复: 4

[小波] 离散小波变换中卷积计算过程的疑问 wconv1 conv2

[复制链接]
发表于 2012-4-6 21:19 | 显示全部楼层 |阅读模式

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

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

x
以前使用离散小波变换时,都是直接使用matlab中的wavedec函数,没有具体去看细节,今天突然看了一下,发现了一些问题,想和大家交流:
(1)书上一般都说,原始长度为N的数据,经过低通滤波器(长度为L,卷积),再下(2)采样后,数据长度为原始数据的一半(N/2)。但是,如果从数学上说,长度为N的序列与长度为L的序列卷积后,结果为长底N+L-1的序列,再经下采样的话岂不是有问题?它在卷积滤波的过程中经过了怎样的处理呢?理论依据是什么呢?
(2)打开离散小波变换的wavedec函数,其中调用了一层小波分解函数dwt,再打开dwt,其中部分内容为:
---------------------------------------------------------------
y = wextend('1D',dwtEXTM,x,lenEXT);
% Compute coefficients of approximation.
z = wconv1(y,Lo_D,'valid');
a = z(first:2:last);                    %这应该就是结合了下采样
% Compute coefficients of detail.
z = wconv1(y,Hi_D,'valid');
d = z(first:2:last);
--------------------------------------------------------------
从中可以看出,它对输入进行了扩展——wextend,扩展的理论依据是什么呢?貌似目前都没有书籍对此进行说明。
另外,上面的卷积计算用的是函数wconv1,于是打开wconv1,其中部分内容为:
---------------------------------------------------------------
function y = wconv1(x,f,shape)
y = conv2(x(:)',f(:)',shape);
if size(x,1)>1
    y = y';
--------------------------------------------------------------
可以看出,其卷积计算用的是conv2函数,这是一个计算二维卷积的函数,这里为什么用它呢?一般的输入和滤波器系数的卷积是一维的吧,为什么不用conv呢?
对conv2的解释:
C=conv2(A,B,shape)
当shape为valid时,返回在卷积过程中,未使用边缘补 0 部分进行计算的卷积结果部分,当 size(A)>size(B) 时,size(C)=[Ma-Mb+1,Na-Nb+1]

(3)奇怪的是,我在matlab安装目录下搜索conv2函数时,发现搜索到了不少的结果,而且许多M文件里都没有计算过程code。

写的有点长,还望大侠老师耐心阅读和回复,同时也欢迎和大家交流,非常感谢。
回复
分享到:

使用道具 举报

发表于 2012-4-9 10:19 | 显示全部楼层
我最近也字学小波。抱着学习的心态读完了LZ的分享。
别的我不太懂,关于wextend,这应该是小波工具箱用于信号延拓的唯一一个函数吧。功能是延拓向量或者矩阵,不仅可以延拓一维信号,还可以延拓二维图像。语法格式是Y=wextend(TYPE,MODE,X,L,LOC)或者Y=wextend(TYPE,MODE,X,L),后面这种表示默认LOC='b',也就是要进行双边延拓的意思。你那个程序
y = wextend('1D',dwtEXTM,x,lenEXT);
‘1D'’表示延拓类型是一维延拓;dwtEXTM应该是延拓模式(有补零,平滑,对称,周期延拓模式等,但我没看到dwtEXTM这个表达符号的),X就是原信号,lenEXT应该是表示延拓长度(书上是直接用L表示,我也没看到lenEXT这个表达符号的),不知道能不能帮到你。希望有高手来解答,那样读着才会进步。嘻嘻~
祝你好运,谢谢分享!
 楼主| 发表于 2012-5-31 10:57 | 显示全部楼层
回复 2 # mingmingtree 的帖子

原来是你呀。现在明白wextend就是一个边界处理过程。
发表于 2012-6-1 09:14 | 显示全部楼层
回复 3 # Ericwjc 的帖子

啊,好久没来了,原来是你啊!
节日快乐!!
发表于 2015-7-7 20:36 | 显示全部楼层
wextend就是信号延拓的函数,有好几种形式,帮助文件里有。请问楼主有没有研究过小波包分解函数的细节呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-23 08:13 , Processed in 0.053445 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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