luo3575 发表于 2006-10-20 09:30

初学,请教大家一个有关小波滤波器的问题(急!!)

各位大虾:
      帮帮忙啊。小弟实在是没有办法,想不出来了啊。问题如下:
      为了使信号经过小波分解和重够后,信号的峰形变窄,我看的资料上说可以用三阶的样条小波变换来达到,但需要把三阶样条基的小波滤波器进行改造,就是使滤波器乘上一个三阶样条函数,使其只能通过很窄的信号。

三阶样条小波基滤波器的系数我通过MATLAB的指令

w='bior3.3';

=wfilters(w);

得到为

高通分解滤波器系数为hi_d =

0 ,0 ,-0.1768 ,0.5303 ,-0.5303 ,0.1768 ,0 ,0

底通分解滤波器系数为lo_d =

0.0663,-0.1989,-0.1547,0.9944,0.9944,-0.1547,-0.1989 ,0.0663

高通重构滤波器系数为hi_r =

0.0663,0.1989,-0.1547,-0.9944,0.9944,0.1547,-0.1989,-0.0663

底通重构滤波器系数为lo_r =

0,0,0.1768,0.5303,0.5303,0.1768,0,0



三阶样条函数的显式为:

         0.5x*x                                  0≤x≤1

y=  0.5-(x-1)(x-2)                      1≤x≤2

   0.5*(x-3)(x-3)                      2≤x≤3

         0                                       x为其他值





我不明白的地方是一个8个数据的小波滤波器和一个连续函数该怎么相乘呢?在MATLAB中模拟时我用decimate函数抽取了三阶样条函数的8个数据和滤波器相乘后再重够,结果不正确。

我确实是不晓得该怎么做,请各位高手有时间的时候帮我看看。

感激不尽!

[ 本帖最后由 zhangnan3509 于 2007-7-4 14:57 编辑 ]

lsq001 发表于 2006-11-1 15:00

顶起!
楼主的问题看来一时没人能帮得上忙呀

不过请问一下
如果知道了小波滤波器系数的话
怎么对信号进行分解,重构呢

以前我都是按照一些个命令
如wavedec,wrcoef等,采用db经典小波做的
只是现在有些地方db小波不再适用
于是需要改用构造滤波器的方式

或者再有
就是像你上面列写的函数的表达式
如何将其用到小波分解里面去呢
就好像用db小波那么用来着

谢谢了

luo3575 发表于 2006-11-27 22:22

lo_r3=;
hi_d3=;
lo_d3=;
hi_r3=;
=wavedec(p3,6,lo_d3,hi_d3);
res=waverec(c,l,lo_r3,hi_r3);

lsq001 发表于 2006-11-28 09:21


看出来了
是这样么
呵呵
多谢

lsq001 发表于 2006-11-28 10:27

要是分解用的滤波器组宽度
和重构的不相同
也没关系吧
或者还会有什么影响么
页: [1]
查看完整版本: 初学,请教大家一个有关小波滤波器的问题(急!!)