请教如何找到某点对应的小波系数?
在对一个离散数据向量进行小波变换后,怎么找到每个数据所对应的小波系数呢?按照定义,两者应该是一一对应关系
但在具体实现过程中,好像没这么简单
比如我对一个向量 x = 用db4做一层小波分解
>>=wavedec(x,1,'db4');
>> ca1=appcoef(c,l,'db4',1);
>> cd1=detcoef(c,l,3);
所得到的系数ca1 或 cd1 却不是32/2=16个,而是19个,这是什么原因呢?
怎么才能找到向量x中每个数据所对应的小波系数呢?
非常感谢 这估计是和matlab在进行滤波(卷积)时用的算法问题,把滤波器系数的长度也考虑进去了。
小波系数是针对时频面上某点来讲的,而不是原信号某点相对应的。
Mallat算法求出的是时频面中二进离散栅格上的那些点对应的系数,即第j层分解求出的是尺度为2^j对应的栅格点上的小波系数。下图就是二进离散栅格。
[ 本帖最后由 破凰 于 2007-11-8 11:31 编辑 ] 非常感谢您的解答,我稍微有点明白了。
那么原信号某点和小波系数间有什么对应关系吗?通过时频面来联系?
ps:您所说的二进离散栅格也许对我更有意义,请问二进栅格点和每个小波系数是一一对应的吗?
怎么确定这种一一对应关系呢?即找到每个栅格点所对应的小波系数?
另外,这个时频离散图是怎么画出来的呢?从哪里可以找到更多关心您所画的这个二进离散栅格图的资料?好好研究研究这个,^_^
再次表示感谢!
[ 本帖最后由 vencent 于 2007-11-8 11:54 编辑 ] 在时频面上某点小波系数反映了这一时间上的信号局部与该点所用小波基的相似程度。
对信号作小波变换就得到了栅格点上的小波系数。栅格的密度与你所选的尺度间隔有关。例如mallat算法求得各层小波系数的尺度是按二进变化的。采用连续小波变换可以提高时频密度,但冗余度也相应增加。针对此问题,国外学者已经研究出了比mallat算法具有更高密度的离散小波变换(即在密度和冗余度之间进行折中)。
那个图只是示意图,真正的时频图一般用色谱图或瀑布图表示。
可以看以下参考书:
杨福生 小波变换的工程分析与应用
Daubechies 小波十讲
[ 本帖最后由 破凰 于 2007-11-8 15:17 编辑 ] 明白了,非常感谢!
页:
[1]