《小波变换的实现技术》由会员分享,可在线阅读,更多相关《小波变换的实现技术(45页珍藏版)》请在金锄头文库上搜索。
1、小波变换的实现技术 Mallat算法 多孔算法 小波变换的提升实现 Mallat算法卷积法实现小波变换在实际中具有广泛的应用。 实际应用中的边界处理问题:1. 边界延拓方法 2. 零延拓3. 周期延拓 4. 周期对称延拓法 5. 6. 光滑常数延拓法 Mallat算法的Matlab实现 dwt() cA,cD = dwt(X,Lo_D,Hi_D)cA,cD = dwt(X,Lo_D,Hi_D,mode,MODE)X 的长度为, 滤波器的长度为对于周期延拓方式,cA,cD的长度均为 对于其他延拓方式,cA,cD的长度均为 idwt() X = idwt(cA,cD,Lo_R,Hi_R)X = i
2、dwt(cA,cD,Lo_R, Hi_R ,mode,MODE)对于周期延拓方法, 对于其他延拓方式,特点:1) 能够实现重构.2) 难以用于数据 压缩应用具有延拓功能的二带分析/综合 系统 问题: 在什么情况下,能够确保完全重构?用小波处理函数/信号的基本 步骤 和已知是正交尺度函数与小波, 则则用小波处处理函数的基本过过程包括: 初始化设设信号在最高初始分辨率级级下的光滑逼近 为为记,则则有。其中, 小波分解用小波处理函数/信号的基本 步骤 小波系数处理 小波重构用小波处理离散信号的基本 步骤 其采样间样间 距为为, 使得做小波分解、对小波系数处理以及对处理后的系数进行小波重构等 对说明:
3、 1) 对做小波分解,如何?2) 若的采样间样间 距为为1,如何?Mallat算法应用举例 将该该信号离散化为为个采样值样值 ,相应应的逼近信号记为记为。 的图图形。 用Haar小波进行分解,画出若记,而的三级多分辨逼近信号为,则容易算出。Mallat算法应用举例 对同一个离散信号应用不同的小波变换以及FFT变换进行 压缩的处理效果与分析。已知上例中的离散信号问题:1)用Haar尺度函数和小波分解信号;2)用D4尺度函数和小波分解信号;3)用FFT变换分解信号。令绝对值最小的80%和90%系数为0 对信号进行小波压缩,画出相 应的重构信号的图形,并求出相应的相对误差。 对各种变换的效 果进行对
4、比分析。Mallat算法应用举例Haar小波均方差: 0.7991 2.9559 相对误差:0.0050 0.0185 取0比例: 80% 90%D4小波均方差: 0.0277 0.2159 相对误差:0.00017 0.0014取0比例: 80% 90%FFT变换均方差: 0.0012 0.0025 相对误差:7.3410-6 1.5910-5 取0比例: 80% 90%多孔算法 应用Mallat算法分析信号时存在的不足多孔算法 二通道Mallat算法 z变换的滤波器形式 多孔算法 二通道Mallat算法z变换的滤波器形式 z变换的等效易位性质 多孔算法说明:1) 为什么称为多孔算法(atr
5、ous algorithm) ?2) 与二通道Mallat算法之间的关系3) 其它叫法: 非抽取小波变换(Undecimated Wavelet Transform ), 平稳小波变换(Stationary Wavelet Transform )记,则分解算法为: 多孔算法的实现WhileEnd of WhileWhileEnd of While分解算法重构算法注 :为的相邻两项之间插入个零后得到的滤波器。 在Matlab小波工具箱中对应的函数: swt() , iswt()小波变换的提升实现 概述1) 能够用于构造第一代小波,用户可根据需要来设计小 波基。2)能够改进第一代小波变换算法。 3
6、) 可用于构造第二代小波。 小波分解与重构的多相位表 示 滤波器的多相位表示滤波器的多相位表示为:小波分解与重构的多相位表 示 滤波器的多相位矩阵滤滤波器的多相位矩阵为阵为 :和滤滤波器的对对偶多相位矩阵为阵为 :和则小波滤波器的完全重构条件等价于: 小波分解与重构的多相位表示 Laurent多项式的Euclidean算 法 =的次数两个Laurent多项式的带余除法可表述为: 或两个Laurent多项式的欧几里德算法如下: 从开始进进行如下的递归递归 运算: 则,且是一个Laurent多项式,其中为使的最小数。Laurent多项式的Euclidean算 法 如果an(z)是一个单项式,则a(
7、z)和b(z)是互素的。 注意与多项式带余除法和欧几里德算法的异同之处.多相位矩阵的因子分解若,则总存在Laurent多项式和以及非零常数,使得其中。有限滤波器多相位矩阵的提升分解 算法 第1步,使用欧几里德算法得到:第2步,计算=第3步,计算 基于提升的正向小波变换流 程图 时小波变换的提升实现算 法若分别是序列的z变换,且 正向小波变换的提升实现算法(预 测步骤由奇序列预测偶序列开始)Step 1. 懒小波变换Step 2. 提升与对偶提升For i =1 to m Step 3. 比例变换For 时逆向小波变换的提升实现算法Step 1.比例变换Step 2. 提升与对偶提升For i
8、= m to 1Step 3. 逆懒小波变换For 时提升算法的实现 时正向小波变换的提升实现 算法(预测步骤由偶序列预测奇序 列开始) Step 1. 懒小波变换Step 2. 提升与对偶提升For i =1 to n Step 3. 比例变换For 两点说明1.本质上我们可以根据它们的任一分解式写出小波变换的提升算法 如果在实际计 算时已知的因子分解,设 则 2. 尚未完全解决的问题 多相位矩阵分解存在极大的不唯一性,到底存在多少种分解方法 ?如何求出所有的分解?如何根据具体的应用,选择一种好的 分解方法?(5-3)小波变换的提升实现,正变换逆变换整数小波变换 提升算法的一大优点是,它存在
9、整数提升算法,即在忽略归一化因子的情况下,将算子 提升步骤中的算子 作用于每个和换的整数提升算法。 ,即可得到小波变如(5-3)小波变换的整数版本如下: 特点:非线性变换D4小波变换的提升实现 其中D4小波变换的提升实现 第一种实现方法第二种实现方法,(9-7)小波变换的提升实现 其中, ,说明: JPEG2000中C语言实现模块中尺度变换是: 1.23017410558578; = 1.62578613134411 Lena图像实验: 1.842 2.938 (9-7)小波变换的提升实现 小波变换提升算法的实现技 巧 任意长度信号小波变换的提升实现 (9-7)小波变换变换 的提升实现如下:
10、: 小波变换提升算法的实现技 巧 利用少量辅助内存实现多尺度小波变换必要性:算法过程由以下三步组成: 第1步, 申请一个大小为 的数组buffer存放高频系数 ,然后,在原空间中调整信号的低频系数的位置,使变为 第2步, 调整 中的高频系数的位置使 变为 第3步, 将buffer中暂存的高频系数 调整到 占用的位置,使 变为 边界处理 对于(5-3)和(9-7)这些具有线性相位的 滤波器,采用对称周期延拓则不仅可实现 小波变换的完全重构,同时又不增加变换 后的数据量。因此,在实现时我们可采用 对称周期延拓的方法。 双正交小波变换的对称提升 实现 多相位矩阵的对称因子分解 对称提升实现 多相位矩
11、阵的对称因子分解一个Laurent多项项式称为为对对称的,如果=。记记(为为非负负整数),则对则对 称Laurent多项项式都可表示为为的形式。 若,则则存在惟一的Laurent多项项式和以及非零常数,使得其中。其中和是对称Laurent多项式.计算对称提升因子的快速算 法 基本思想: 根据和理,有效地避免了传统传统 提升因子算法中求解的复杂计杂计 算,因而的不同大小关系,分以下两种情况处更加实用。 (1)当时记=,=。 令=,=,对和应应用多项项式的欧几里德算法, 求出唯一的一组多项式 和一个非零常数,使得 其中,为偶数。计算对称提升因子的快速算 法 由=,求出()。于是, =和(2)当时时,则则。 小波变换的对称提升实现Step 1. 懒小波变换Step 2. 提升与对偶提升For i =1 to m Step 3. 比例变换For