小波一级dwt分解后,为什么没有变成原来的一半,我qu啊

你这问题问的好啊,看似简单实际牵扯太多其它方面的知识。你使用不同小波基对于dwt函数可能产生不同大小的cA和cD,这牵扯了一系列问题,我们慢慢讲吧。
1.首先matlab定义的小波基分为5类:(1)具有有限冲激响应滤波器的正交小波。 这种类型的小波可以通过尺度滤波器W定义。如Haar,Daubechies,Coiflets以及Symlets小波。(2)具有有限冲激响应滤波器的双正交小波。 可以通过两个尺度滤波器Wr(重构)和Wd(分解)定义。如BiorSplines小波。(3)不具有有限冲激响应滤波器,但有尺度方程的正交小波。 可以通过定义尺度方程和小波方程来进行定义。如Meyer小波。(4)不具有有限冲激响应滤波器和尺度方程的小波。 可以通过定义小波方程来进行定义。如Morlet和Mexican hat小波。(5)具有有限冲激响应滤波器和尺度方程的复小波。可以通过定义小波方程来进行定义。如Complex Gaussian和Shannon小波。
2.对于1和2类小波都是通过滤波器理论实现离散小波变换(DWT)的。DWT理论告诉我们每分解一层小波系数减半,但理论实现的算法由于加入了FB(滤波器)理论所以并不能精确的减半,其分解后小波系数的个数可以用floor((n-1)/2)+N 这个公式计算,其中floor表示向最小值取整数,n是原始信号的长度,N是滤波器长度的一半。例如使用db3进行DWT,用你上面信号x,其长度为1024,db3滤波器长度为6,则N=3,那么cA和cD的长度为floor(511.5)+3=511+3=514。你可以编程试试别的小波基,它们小波系数的个数可都是不一定相同的,并参看dwt函数的帮助文档。
3.dmey小波基是Meyer小波的离散形式,所以它是第3类小波,不具有有限冲激响应滤波器所以它做DWT就不能完全靠FB实现了,它变换完的小波系数的个数只能依靠其定义尺度方程和小波方程时的离散点的个数确定,然而matlab对于dmey小波基的相关信息的说明太少了,没有相关信息很难推算出它变换完的小波系数的个数,所以很抱歉,我也不知562是怎么来的。
但你应该明白一点,小波一级dwt分解后,小波系数的个数可并不一定完全精准地变成原来信号长度的一半啊,这与你使用的小波基有关。(理论书籍坑爹啊!)

原文链接:https://zhidao.baidu.com/question/744136556371648892.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值