主要内容

构造小波的提升方法

所谓的第一代小波和标度函数是单一函数的二元扩张和平移。傅里叶方法在这些小波的设计中起着关键作用。然而,小波基由单个函数的平移和扩张组成的要求施加了一些限制,限制了小波分析核心的多分辨率思想的效用。

的设计扩展了小波方法的应用第二代小波通过提升

不能使用单个函数的平移和扩展的典型设置包括:

  • 在有界域上设计小波-这包括在区间上构造小波,或在高维欧氏空间中的有界域。

  • 加权小波-在某些应用中,如偏微分方程的求解,需要小波与加权内积双正交。

  • 间隔不规则数据—在实际应用中,数据样本之间的采样间隔并不相等。

设计新的第一代小波需要傅里叶分析方面的专业知识。Sweldens提出的提升方法(见[Swe98])参考文献)消除了傅里叶分析专业知识的必要性,并允许您从初始小波开始生成无限个离散双正交小波。除了代之外第一代小波具有提升性,提升性的方法也使你能够进行设计第二代小波,它不能用基于傅里叶的方法来设计。通过提升,你可以设计小波来解决小波的缺点第一代小波。

有关起重的更多信息,请参见[Swe98]、[Mal98]、[StrN96]和[MisMOP03]参考文献

提升背景

滤波器组实现的DWT由四个滤波器定义,如中所述快速小波变换(FWT)算法.我们感兴趣的两个主要性质是

  • 完全重构性质

  • 与“真”小波的联系(如何从滤波器开始,生成有限能量函数空间的正交基或双正交基)

为了说明完全重构特性,下面的滤波器组包含两个分解滤波器和两个合成滤波器。所述分解和合成滤波器可构成一对双正交基或正交基。大写字母表示滤波器的z变换。

这导致了完美重构(PR)滤波器组的以下两个条件:

H z H z + G z G z 2 z - l + 1 波浪线hzhx加上波浪线gzgz等于2z的负L加1次方

而且

H - z H z + G - z G z 0 波浪线H - zhx加上波浪线G - zgz等于0

第一个条件通常被(不正确地)称为完美重建条件,第二个条件是抗锯齿条件。

z - l + 1 Z的-L + 1次方 Term意味着在延迟小于滤波器长度的一个样本时,可以实现完美重构,l.如果分析过滤器被转换为因果关系,就会产生这种结果。

提升从小波变换的基本性质出发,设计了完善的重构滤波器组。小波变换通过利用大多数真实世界数据中固有的相关性来构建稀疏表示。例如,绘制3天内用电量的示例。

负载leleccum情节(leleccum)网格标题(的电力消耗

图中包含一个轴。标题为Electricity Consumption的轴包含一个类型为line的对象。

多相表示

多相信号的表示是提升技术中的一个重要概念。您可以将每个信号视为由阶段,其中包括采取每一个N-第th个样本,从某个索引开始。例如,如果您从n= 0然后从n= 0,提取偶数样本。如果你从n= 1,你提取奇数样本。这些是数据的偶多相和奇多相组分。因为样本之间的增量是2,所以只有两个相。如果你把增量增加到4,你可以提取4个相。对于举升,集中于偶多相组分和奇多相组分就足够了。下图说明了输入信号的这种操作。

在哪里Z表示单位提前操作符,带有数字2的向下箭头表示向下采样2。在提升的语言中,将输入信号分离为偶数和奇数分量的操作称为分裂操作,或懒惰的小波

为了从数学上理解举升,有必要理解奇偶多相分量的z域表示。

偶多相组分的z变换为

X 0 z n x 2 n z n

奇多相分量的z变换为

X 1 z n x 2 n + 1 z n

你可以把输入信号的z变换写成多相分量的z变换的扩张形式的和。

X z n x 2 n z 2 n + n x 2 n + 1 z 2 n + 1 X 0 z 2 + z 1 X 1 z 2

拆分、预测和更新

一个吊装步骤可以用以下三个基本操作来描述:

  • 分裂-把信号分解成互不相干的分量。一种常见的方法是提取中解释的偶多相和奇多相组分多相表示.这也被称为懒惰的小波

  • 预测-基于偶多相组分样本线性组合的奇多相组分。将奇多相分量的样本替换为奇多相分量与预测值之间的差值。

  • 更新-基于从预测步骤中获得的不同样本的线性组合的偶数多相组分。

在实践中,预测和更新操作都包含了规范化。

下图说明了一个提升步骤。

Haar小波提升

使用中的操作拆分、预测和更新,可以通过提升实现Haar小波。

  • 分裂-将信号分为奇偶多相分量

  • 预测——取代 x 2 n + 1 d n x 2 n + 1 - x 2 n .预测操作符很简单 x 2 n

  • 更新——取代 x 2 n x 2 n + d n / 2 .这个等于 x 2 n + x 2 n + 1 / 2

z域的预测算子可以写成如下的矩阵形式:

1 0 - P z 1 X 0 z X 1 z

P z 1

更新操作符可以写成如下的矩阵形式:

1 年代 z 0 1 1 0 - P z 1 X 0 z X 1 z

年代 z 1 / 2

最后,可以将更新和预测归一化合并如下:

2 0 0 1 2 1 年代 z 0 1 1 0 - P z 1 X 0 z X 1 z

你可以使用liftingScheme构造与Haar小波相关的提升格式。

lscHaar =升降方案(“小波”“哈雾”);disp (lscHaar)
小波:'haar' LiftingSteps: [2 × 1] liftingStep NormalizationFactors: [1.4142 0.7071] CustomLowpassFilter:[]详细LiftingSteps:类型:'predict'系数:-1 MaxOrder: 0类型:'update'系数:0.5000 MaxOrder: 0

注意,为方便起见,负号被合并到预测提升一步。的要素NormalizationFactors1.4142而且0.7071,分别为预测归一化因子和更新归一化因子。MaxOrder给出了描述相应提升步骤的Laurent多项式的最高次。在本例中,两者都为零,因为预测和更新提升都是由标量描述的。

小波提升

这个例子展示了提升方案bior2.2双正交缩放和小波滤波器。

在Haar提升方案中,预测算子对奇偶样本进行差分。在本例中,定义一个新的预测运算符,用于计算两个相邻偶数样本的平均值。从中间的奇数样本中减去平均值。

d n x 2 n + 1 - 1 2 x 2 n + x 2 n + 2

在z域,您可以将预测操作符写成

1 0 - 1 2 1 - z 1 X 0 z X 1 z

要获得更新操作符,请检查中的更新操作符Haar小波提升.更新定义为近似系数的和与输入数据向量的平均值成比例。

n x n 1 2 n 一个 n

要在此提升步骤中获得相同的结果,请将更新定义为

1 1 4 z - 1 + 1 0 1 1 0 - 1 2 1 + z 1 X 0 z X 1 z

你可以使用liftingScheme得到吊装方案。

lscBior =提升方案(“小波”“bior2.2”);disp (lscBior)
小波:'bior2.2' LiftingSteps: [2 × 1] liftingStep NormalizationFactors: [1.4142 0.7071] CustomLowpassFilter:[]详细LiftingSteps:类型:'predict'系数:[-0.5000 -0.5000]MaxOrder: 1类型:'update'系数:[0.2500 - 0.2500]MaxOrder: 0

在哈尔提升方案中增加提升步骤

本例展示如何将基本的提升步骤添加到提升方案中。

创建与Haar小波相关的提升方案。

lsc = lift scheme (“小波”“哈雾”);disp (lsc)
小波:'haar' LiftingSteps: [2 × 1] liftingStep NormalizationFactors: [1.4142 0.7071] CustomLowpassFilter:[]详细LiftingSteps:类型:'predict'系数:-1 MaxOrder: 0类型:'update'系数:0.5000 MaxOrder: 0

创建一个更新初级提升步骤。将该步骤附加到提升方案中。

els = liftingStep(“类型”“更新”“系数”(-1/8 1/8),“MaxOrder”, 0);lscNew = addlift(lsc,els);disp (lscNew)
小波:“自定义”LiftingSteps: [3 × 1] liftingStep NormalizationFactors: [1.4142 0.7071] CustomLowpassFilter:[]详细LiftingSteps:类型:'predict'系数:-1 MaxOrder: 0类型:'update'系数:0.5000 MaxOrder: 0类型:'update'系数:[-0.1250 0.1250]MaxOrder: 0

由新的提升方案得到分解重构滤波器。

[lod,hid,lor,hir] = ls2filt(lscNew);

使用bswfun到绘图的结果缩放函数和过滤器。

bswfun (lod、藏、卤、雇佣“阴谋”);

图包含4个轴。具有标题分析缩放函数(phiA)的坐标轴1包含一个类型为line的对象。带有标题分析小波函数(psiA)的坐标轴2包含一个类型行对象。标题为Synthesis scaling function (phiS)的坐标轴3包含一个类型为line的对象。标题为合成小波函数(psiS)的轴4包含一个类型线的对象。

整数到整数小波变换

在一些应用中,需要有一个小波变换将整数输入映射到整数缩放和小波系数。您可以轻松地完成使用提升。

创建与Haar小波相关的提升方案。在举升方案中增加一个初级举升步骤。

lsc = lift scheme (“小波”“哈雾”);els = liftingStep(“类型”“更新”“系数”(-1/8 1/8),“MaxOrder”, 0);lscNew = lsc.addlift(els);

创建一个整数值信号。利用提升法,得到LWT信号的整数到整数小波变换“Int2Int”设置为真正的

rng默认的Sig = randi(20,16,1);[ca,cd] = lwt(sig,“LiftingScheme”lscNew,“Int2Int”,真正的);

确认近似系数都是整数。

马克斯(abs (ca-floor (ca)))
Ans = 0

确认细节系数都是整数。

Len =长度(cd)K =1:len disp([K, max(abs(cd{K}-floor(cd{K}))]);结束
1 0 2 0 3 0 4 0

反转变换并演示完美的重建。

Xrec = ilwt(ca,cd,“LiftingScheme”lscNew,“Int2Int”,真正的);马克斯(abs (xrec-sig))
Ans = 0