提升小波(基础入门)
关于小波的提升方法的讲解,通俗易懂虽然不懂,下来看看{:{35}:} 下来看看!!!!!!!! 学习了。 才一页有需要用附件吗? 转贴下
若不适当烦请删此帖小波分析系列讲座7—提升法的实现
基于提升方法(lifting scheme)的小波变换.
提升法被称为第二代小波,可见其重要性。
下面先举一个Harr小波的例子。
在一序列中有相邻数据 a, b 我们计算出其低频l = (a+b)/2 高频 h =b-a
如果不引入新数据,仅对a ,b 更新, 可写作 b - =a , a+=b/2
这样我们发现其可在自身位置上完成小波变换,而且还大大简化了计算过程(在复杂的变换中更明显)。
仔细分析,我们知道b是差异高频,它是当前值及前一个值对当前值的预测差,然后低频a ,由当前值及差异计算出。这样就提供了我们一个新思想。
提升法的是实现步骤。
1. 分裂:将原始信号Sj分裂成Sj-1(保存低频数据部分) 和 Dj-1(保存高频数据部分)
2. 预测:用Sj-1预测Dj-1,并计算出预测差作为高频数据,保存于Dj-1中
3. 更新:根据高频数据Dj-1 更新低频部分Sj-1
这样就完成了一次提升变换,呵呵,很简单吧,其逆变换可相应推导出。
为防止误解,这里指出的预测可以使用多个数据来预测一个数据。例下
Dk - = ( Sk+Sk+1 ) /2
Sk + = (Dk+ Dk+1) /4
你也可以结合上节所讲的滤波器,构造出更多的提升小波变换。
------------feathersky
谢谢,刚学习,下了看看 回复 5 # Happy99 的帖子
刚开始接触小波和提升小波,逛论坛的时候有发现和原来一些帖子有同样的问题,于是搬到这里来,希望能得到一些指点!求赐教!!
看了一些高手编写的二代小波算法,很多人都是用类似C语言的模式编写的,很少有人用liftwave,addlift等命令来写.所以我想问几个关于这些命令的问题,请各位高手指教,谢谢!
下面是一段书本上的简单的程序:
Ishaar=liftwave('haar');
displs(Ishaar);
els={'p',[-0.125 0.125],0};
Isnew=addlift(Ishaar,els);
displs(Isnew);
我想问得是:
1.haar小波的提升步骤els={'p',[-0.125 0.125],0};是怎么算出来的?
2.为什么liftwave求出了提升方案,还要加ELS?
3.如果我要提升DB4小波,DB4的提升步骤ELS应该为多少? 看看好不好
页:
[1]