小波分解与重构原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“小波工程应用”实验报告
一维信号离散小波分解与重构(去噪)的VC实现
一、目的
在理解了离散小波变换的基本原理和算法的基础上,通过设计VC程序对简单的一维信号在加上了高斯白噪声之后进行Daubechies小波、Morlet小波和Haar小波变换,从而得到小波分解系数;再通过改变分解得到的各层高频系数进行信号的小波重构达到消噪的目的。在这一程序实现的过程中能直观地理解信号小波分解重构的过程和在信号消噪中的重要作用,以及在对各层高频系数进行权重处理时系数的选取对信号消噪效果的影响。
二、基本原理
1、信号的小波分解与重构原理
在离散小波变换(DWT)中,我们在空间上表示信号,也就是说对于每一个在上表示的信号能用在上面提到的两个空间中的基函数来表示。
Where and are the coefficients of the scale metric space (j-1) which are obtained after the Decomposing the coefficient of the scale metric space j . Analogously we could reconstruct the
by and .
我们在尺度度量空间对系数进行分解得到在尺度度量空间的两个系数
和。同样的,我们也能从两个系数和通过重构得到系数。
如上图中的分解与重构我们可以通过一定的滤波器组来实现(也就是小波变换算法)。当小波和尺度在空间内是正交的,我们就可以用内积公式计算得到系数和:
下面是内积计算方法的具体公式:
具体的系数计算过程如下:
对于上面的小波分解过程,通过分别设计高通滤波器和低通滤波器两组滤波器的系数(数组g[]和h[])即可实现,特别是对于离散小波变换,程序算法相对简单。而重构也只是分解的逆过程,重构算法和分解的算法是相对应而互逆的。
2、小波去噪原理
一般来说,噪声信号多包含在具有较高频率细节中,在对信号进行了小波分解之后,再利用门限阈值等形式对所分解的小波系数进行权重处理,然后对小信号再进行重构即可达到信号去噪的目的。具体步骤为:
a.一维信号的小波分解,选择一个小波并确定分解的层次,然后进行分解计算。
b.小波分解高频系数的阈值量化,对各个分解尺度下的高频系数选择一个阈值进行软阈值量化处理。
C.一维小波重构,根据小波分解的最底层低频系数和各层高频系数进行一维小波的重构。
三、VC程序设计
本程序是在Windows环境下的VC++6.0实现的,完成的功能主要有:载入待处理的一维离散数字信号并显示、对信号加入随机噪声并显示(可多次加入)、选择用来小波分解的小波类型、分解后的各层高频分量和低频分量的显示、小波重构时各层分量系数权重值的输入以及重构后的信号显示。
语言编程的具体步骤为:
1.图形显示和对话模式的创建。
2.Daubechies、Haar、Morlet小波高低通滤波器系数的植入。
3.分解重构函数的构造(共7个,6个小波函数DWT1、IDWT1、DWT2、IDWT2、DWT3、IDWT3,1个噪声加入运算函数Radom)。
4.显示输出所要用到的类(class)的创建,和画图函数的构造。
5.小波重构对话框的设计和编程。
四、体会
通过这一应用工程的设计,巩固和加深了对小波分解与重构的理解,熟悉了工程中小波去噪的基本思想和方法,进一步强化了VC编程知识。对于本人的学习来讲是一次非常有益的探索。在这个工程应用中的关键和难点就是小波分解与重构函数的构造,在这过程中遇到了许多困难和问题,参考了他人的程序才得以解决。由于时间有限加上以前所学知识的贫乏,本应用工程还存在许多问题,在以后的学习中还要进一步加以改进和完善。具体有: