小波变换的本质不过是一种数学变换
在这里仅仅讨论小波的小波变换过程中对输入的信号进行了怎样的操作,尽量不涉及内部细节和数学原理
1.一维小波变换的输入变量是一个【1×n】的矩阵,你也可以把它理解为信号、函数等等
2.进行离散小波变换需要预先指定两个滤波器,一个是高通滤波器、另一个是低通滤波器
3.将输入的一维向量和滤波器的系统函数卷积得到两个卷积的结果
4.得到的两个结果分别进行系数为2的下采样得到两个分量。从低通滤波器获得的分量称为【近似分量】,从高通滤波器获得的分量称为【细节分量】
假设输入的信号如下
在0~2π内共有1024个采样点
假设低通滤波器的冲激响应为
[0.7071,0.7071]
图形长这样:
高通滤波器的冲激响应为
[-0.7071,0.7071]
图形长这样:
将原始信号和两个滤波器分别卷积再进行下采样就可以得到两个输出结果,如下
上面就已经完成了一次一维小波变换的过程,然而应该怎样获得合适的滤波器呢? 按照小波变换的理论,高通滤波器和低通滤波器需要满足某种正交关系,怎样得到变种正交关系暂且不说,matlab中提供了一种函数
wfilters
调用的时候可以这样:
[lpfDecomp,hpfDecomp,lpfReComp,hpfReComp]=wfilters('db1');
就可以一次性得到一种小波基的分解滤波器和恢复滤波器的系统函数
四个返回值按照顺序分别对应:分解低通滤波器、分解高通滤波器、恢复低通滤波器、恢复高通滤波器
恢复滤波器指的是逆小波变换用到的滤波器
小波基可以理解为前人总结出来的,几套可以用于小波变换的经典滤波器组
一维离散小波变换的框图可以是这样