小波分析小实验报告
2004211027郑吴杰
1选题和实验说明选题和实验说明
选题为82题。以图82中的信号为例,利用高斯小波进行如下计算:1计算信号的小波变换。2求出模极大曲线。3计算其中两个奇异点的Lipschitz指数。
本实验的基本程序参考了wavelab,但全部按解题需求进行了重写。采用wavelab中的数据即AWaveletTourofSig
alProcessi
g2
deditio
中fig66的信号,该信号比较简单,所得结果清楚,适合教学演示。实验结果和AWaveletTourofSig
alProcessi
g2
deditio
书中的图示基本一致fig66pdf。区别在于该书中
画的是对0,1上的原信号ft进行处理的过程,而我所给结果是在对ft采样
后采样间距为1所得信号ft上进行处理的过程,对应的信号和尺度坐标会有
不同。注意到Wf2juN12WfN2jNu,则可知ft尺度为2j的小波变换对
应ft尺度为N2j的小波变换。之后,我又用实际图像信号le
ajpg中任取一行进行了实验,发现在计算模极大值时,取邻域为1所得结果更适合fig66的演示,但实际应用时容易受噪声干扰,鲁棒性不够。因此,我在基本程序基础上对极大点计算进行了改进,从而较好的去除了噪声的干扰。
2算法流程
实验算法如下:
f1计算信号在多个尺度下的小波变换wt。2计算模极大点。将小波系数绝对值大于左右邻域的点判为模极大点,然后根据参数par计算自适应阈值,小于最大值的1par的模极大点将被丢弃。最后,小波变换值为正标记为1,小波变换值为负则标记为1。3求出极大曲线序列skellist另有skelptr、skelle
记录每条曲线的起始位置和长度。从最细尺度开始连接,即首先根据最细尺度的模极大值确定模极大曲线的数目及其起始点。之后依次往高一级尺度查找模极大曲线的其他点。记当前尺度的模极大点位置为A,则下一级尺度中,与A位置最近且标记相同的模极大点被选中。注意没确定一个点后,都要将该点的值清零。求出最大斜率即Lipschitz4绘制极大曲线在log2slog2Wfsu平面上的曲线图,指数12。为得到最合适的斜率,我采用matlab的polyfit函数对模极大曲线进行直线拟合。但由于横坐标为log2s,在最开始的一段间距内只记录了少数尺度上的值,例如开始长度为2的间距内只记录了最小4个尺度的值,对结果干扰较大,因此对于足够长的极大曲线,我将最小的3个尺度丢弃;同时大尺度上的值也很可能和收敛方向不一致,因此我只取了中间部分的值进行拟合。例如进行32个尺度的小波变换,最后取4:16尺度上的值进行拟合。
3代码实现
r