关于小波分解的疑问这是一个关于db小波分解的公式,j是一个确定的数,i有一个变化范围,在此设为1—4,我想请教怎样在MA
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:数学作业 时间:2024/07/14 20:04:23
关于小波分解的疑问
这是一个关于db小波分解的公式,j是一个确定的数,i有一个变化范围,在此设为1—4,我想请教怎样在MATLAB里实现这个公式,最后得到4x1的矩阵u呢
![](http://img.wesiedu.com/upload/9/51/951a6367401b24d2faf224fa87bb69a3.jpg)
![关于小波分解的疑问这是一个关于db小波分解的公式,j是一个确定的数,i有一个变化范围,在此设为1—4,我想请教怎样在MA](/uploads/image/z/17785820-20-0.jpg?t=%E5%85%B3%E4%BA%8E%E5%B0%8F%E6%B3%A2%E5%88%86%E8%A7%A3%E7%9A%84%E7%96%91%E9%97%AE%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E5%85%B3%E4%BA%8Edb%E5%B0%8F%E6%B3%A2%E5%88%86%E8%A7%A3%E7%9A%84%E5%85%AC%E5%BC%8F%2Cj%E6%98%AF%E4%B8%80%E4%B8%AA%E7%A1%AE%E5%AE%9A%E7%9A%84%E6%95%B0%2Ci%E6%9C%89%E4%B8%80%E4%B8%AA%E5%8F%98%E5%8C%96%E8%8C%83%E5%9B%B4%2C%E5%9C%A8%E6%AD%A4%E8%AE%BE%E4%B8%BA1%E2%80%944%2C%E6%88%91%E6%83%B3%E8%AF%B7%E6%95%99%E6%80%8E%E6%A0%B7%E5%9C%A8MA)
你这是DWT的公式,但是matlab中DWT中j和i的离散化是相关的,尺度参数是2^j则另一个平移参数就是2^j×K,j就是分解的阶次(层次),不是你想咋设就咋设的,这样DWT在平移计算小波系数的过程中才没有重合的部分,即非冗余性.例如当i取1,则尺度参数是2,平移参数就是2,4,8……,就是平移是尺度的整数倍.
为什么要这么设呢?举个例子如同用一把2cm的尺子量一个长6cm的物体,从头对准,然后你会平移两次,每次2cm就量出来了,但你非要每次只平移1cm,那么每次之间会重复量取那物体1cm的一段,计算物体长度时要减掉重复测量的部分,这很不经济,有冗余信息,所以要实现你这个问题只有求助有冗余的CWT结合DWT进行.
当j=1,是最高一层的DWT,相当于尺度2的DWT(CWT和DWT尺度与层次的对应参看CWT函数的帮助文档),用COEFS = cwt(S,2,'db2'),其中S是信号y(t),这里使用db2小波基(你自己可以改),得到与信号等长的小波系数COEFS,取除过第一个系数后的4个数值,对应的就是i=1,2,3,4的U(i),因为无论尺度是多少,cwt都是按1个单位平移,即第一个小波系数是i=0时算出的,第二个小波系数是i=1时算出的,第三个小波系数是i=2时算出的,以此类推到i=4对应的是第5个小波系数.
当j=2,是最高二层的DWT,相当于尺度4的DWT,用COEFS = cwt(S,4,'db2'),得到与信号等长的小波系数COEFS,同样取那4个数值,对应的就是i=1,2,3,4的U(i).
当j=3,是最高三层的DWT,相当于尺度8的DWT,用COEFS = cwt(S,8,'db2'),得到与信号等长的小波系数COEFS,同样取那4个数值,对应的就是i=1,2,3,4的U(i).
然后以此类推得到不同j值对应的U(i),都是4x1的矩阵.
当然你这里开头就说是“小波分解”那么你的公式就理解为DWT,因为CWT一般是不用“分解”一词的,那是DWT常用的概念.如果你说的这公式是CWT,那么j可以取任意正实数,可有小数,也就是COEFS = cwt(S,j,'db2'),同样取那4个数值,对应的还是i=1,2,3,4的U(i).
为什么要这么设呢?举个例子如同用一把2cm的尺子量一个长6cm的物体,从头对准,然后你会平移两次,每次2cm就量出来了,但你非要每次只平移1cm,那么每次之间会重复量取那物体1cm的一段,计算物体长度时要减掉重复测量的部分,这很不经济,有冗余信息,所以要实现你这个问题只有求助有冗余的CWT结合DWT进行.
当j=1,是最高一层的DWT,相当于尺度2的DWT(CWT和DWT尺度与层次的对应参看CWT函数的帮助文档),用COEFS = cwt(S,2,'db2'),其中S是信号y(t),这里使用db2小波基(你自己可以改),得到与信号等长的小波系数COEFS,取除过第一个系数后的4个数值,对应的就是i=1,2,3,4的U(i),因为无论尺度是多少,cwt都是按1个单位平移,即第一个小波系数是i=0时算出的,第二个小波系数是i=1时算出的,第三个小波系数是i=2时算出的,以此类推到i=4对应的是第5个小波系数.
当j=2,是最高二层的DWT,相当于尺度4的DWT,用COEFS = cwt(S,4,'db2'),得到与信号等长的小波系数COEFS,同样取那4个数值,对应的就是i=1,2,3,4的U(i).
当j=3,是最高三层的DWT,相当于尺度8的DWT,用COEFS = cwt(S,8,'db2'),得到与信号等长的小波系数COEFS,同样取那4个数值,对应的就是i=1,2,3,4的U(i).
然后以此类推得到不同j值对应的U(i),都是4x1的矩阵.
当然你这里开头就说是“小波分解”那么你的公式就理解为DWT,因为CWT一般是不用“分解”一词的,那是DWT常用的概念.如果你说的这公式是CWT,那么j可以取任意正实数,可有小数,也就是COEFS = cwt(S,j,'db2'),同样取那4个数值,对应的还是i=1,2,3,4的U(i).