小波变换及其在图像去噪中的应用(2)_毕业论文

毕业论文移动版

毕业论文 > 数学论文 >

小波变换及其在图像去噪中的应用(2)


 我们创建一个长度为64的随机输入信号x,使用函数afb.m和sfb.m,然后分析和合成滤波器得到一个farras.m函数.这两个次频带信号(用lo,hi表示)是由函数afb.m计算的,输出信号y是由函数sfb.m计算的,误差值 计算出来 在计算机精度上等于零,这证实了滤波器的完全重构性.代码为example1.m.
对afb.m和sfb.m进行分析:假设输入信号 的长度为 ,我们将次频带信号 和 的长度分别取为 ,而这些次频带信号将超过这个长度,达到 ( 是分析滤波器的长度).为了避免这种情况的发生,每个次频带信号的最后 个样本被添加到第一个 样本中.这个周期性扩展的过程会在次频带信号的开始和结束部分产生不符合要求的电波,但这是最方便的解决方案.当分析和合成滤波器是完全对称的时候,可以使用对称性扩展来避免电波受周期性拓展的影响.
如果四个滤波器构成因果关系,那么输出信号 将被循环移位成 .为了避免这种情况,我们对分析和合成滤波器都执行一次循环移位,用Matlab函数cshift.m来实现.
       
2.1.2 离散小波变换——迭代滤波器组
离散小波变换使一个信号 有多尺度的表示(尺度是幅度,值的大小,可伸展和收缩),离散小波变换由迭代上述双通道分析滤波器组实现.具体来说,信号的离散小波变换是通过递归的应用低通/高通频率分解到低通滤波器的输出上实现.图2展示了一个三次离散小波变换,信号x的离散小波变换是次频带信号的集合,而逆离散小波变换是通过合成滤波器迭代而来.
 迭代次数:              1  2  3             3   2  1
下面用Matlab函数dwt.m计算信号x的J次离散小波变换w.我们使用Matlab单元阵列来存储次频带信号.其中, , 是在J次变换产生的高频子带信号, 在J+1次变换后产生的低频子带信号.而逆离散小波变换使用idwt.m计算.
离散小波变换的完全重构性在example2.m中得到证实.首先,我们创建一个长度为64的随机输入信号x.然后,用farras.m函数获得分析和合成滤波器.三次离散小波变换是由函数dwt.m计算而来的,接下来计算逆离散小波变换得到信号y.误差值 得 .在计算机精度下, .
图3中的小波与一组相关的合成滤波器可以使用Matlab代码plotwav1D.m计算.在这个例子中,我们设置一个小波系数为1,其它所有小波系数为零,然后进行逆小波变换.(其它的滤波器将产生不同的小波.) (责任编辑:qin)