如何用matlab进行离散小波分解

问题描述:

如何用matlab进行离散小波分解
小波变换

如何进行尺度函数
为1的离散小波变换?在matlab中[C,L]=wavedec(x,2,'db8'),其中的尺度函数是什么
1个回答 分类:综合 2014-10-10

问题解答:

我来补答
好奇怪的问题,关键是您是否了解matlab如何做DWT的?从没有听说尺度函数为1的DWT这种说法,如果你指的是尺度为1,倒还可以理解,不过这种说法也是错误的,DWT与CWT不同,它不说“尺度”而讲阶次,级次或层次,它们与CWT的尺度是2的指数关系,例如1~5阶DWT对应尺度2、4、8、16和32的CWT.
db小波系是具有有限冲激响应滤波器的正交小波,matlab中 这种类型的小波可以通过尺度滤波器来定义,也就是说matlab做DWT根本不是通过数学公式完成的,通常是通过信号处理中的滤波器组的方式完成的,用理论数学公式是无法计算完成这一过程的.用wavefun函数可以得到db8的函数图形,wfilters函数可得到db8的尺度函数的滤波器组.剩下的可以参看http://zhidao.baidu.com/question/1667910188572008187.html?oldq=1
再问: 谢谢您的回答,我是在一本书上看到用小波求卷积时遇到的,是这样写的:把h和z离散小波展开:
尺度函数是1,所以第一项只是h0和Z0,带入得:
由于正交性得:
我想验证一下,于是取了个h函数和z函数,在matlab中作dwt变换[C,L]=wavedec(z,2,'db8')得到的系数作为[z0,z1,z2,....],可是结果和不作小波变换直接求出的不一样,不知道问题出在哪里,请您指教

再答: 不知道啊!小波在微分方程方面,偏重于小波变换的数学思想,和信号处理中的小波分析是不太相同的,matlab在这方面的应用不多,看到的参考书讲得也比较笼统,其DWT实现的方法和数学理论概念方面还是有不同的地方,所以如果你的数学基础好的话,可以找找具体原因,很有可能是matlab在做DWT时的实现方法与实际数学理论方面可能有不同的地方,俺是甘拜下风了,是在对不住了,晕晕了!
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识