主要内容

用于构建小波的提升方法

所谓的第一代小波和缩放功能是单一展开和单一功能的转换。傅立叶方法在这些小波的设计中发挥着关键作用。然而,小波基由单个函数的转换和扩张组成的要求施加了一些限制,限制了小波分析核心的多分辨率思想的效用。

小波方法的效用由设计延长第二代小波通过提升

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

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

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

  • 间隔不规则数据- 在许多真实应用程序中,数据样本之间的采样间隔不等于。

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

有关提升的更多信息,请参阅[SWE98],[MAL98],[STRN96]和[MISMOP03]参考文献

提升背景

由滤波器组实现的DWT由四个过滤器定义如下快小波变换(FWT)算法.兴趣的两个主要性质是

  • 完美重构性

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

为了说明完美的重建属性,以下滤波器组包含两个分解过滤器和两个合成滤波器。分解和合成滤波器可以构成一对双正交基础或正交基础。大写字母表示过滤器的Z变换。

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

H Z. H Z. + G Z. G Z. = 2 Z. - L. + 1 H z H x加上G z G z等于2z的负L + 1次方

H - Z. H Z. + G - Z. G Z. = 0. TILDE H -Z H X PLUS TILDE G -Z G Z等于0

第一条件通常(错误地)称为完美的重建条件,第二个条件是抗锯齿条件。

Z. - L. + 1 z到-l + 1 术语意味着,完美的重建实现了比滤波器长度小的一个样品的延迟,L..如果分析过滤器转换为因果关系,就会产生这个结果。

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

负载leleccum绘图(LELECCUM)网格标题('用电量'

图中包含一个坐标轴。标题为“耗电量”的轴包含一个线型对象。

多相表示

多相信号的表示是提升中的重要概念。您可以将每个信号视为由此组成阶段,它包括每一个N以某个索引开头的示例。例如,如果你索引一个时间序列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小波。

  • 分裂—将信号分为偶数和奇数多相分量

  • 预测——取代 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

update操作符可以写成如下矩阵形式:

[ 1 S. Z. 0. 1 ] [ 1 0. - P. Z. 1 ] [ X 0. Z. X 1 Z. ]

S. Z. = 1 / 2

最后,更新和预测归一化可以包含如下:

[ 2 0. 0. 1 2 ] [ 1 S. Z. 0. 1 ] [ 1 0. - P. Z. 1 ] [ X 0. Z. X 1 Z. ]

您可以使用liftingScheme构造与哈尔小波相关的提升方案。

lscHaar = liftingScheme (“小波”'哈尔');disp (lscHaar)
小波:'haar' LiftingSteps: [2 × 1] liftingStep NormalizationFactors: [1.4142 0.7071] CustomLowpassFilter: [] Details of LiftingSteps: Type: 'predict' Coefficients: -1 MaxOrder: 0 Type: 'update' Coefficients: 0.5000 MaxOrder: 0

请注意,为了方便起见,负号被合并到预测提升步骤。元素NormalizationFactors1.41420.7071,分别为预测和更新归一化因子。MaxOrder给出了描述相应提升步骤的洛朗多项式的最高次。在这种情况下,两者都是零,因为预测和更新提升都是用标量描述的。

Bior2.2小波提升

这个例子介绍了提升方案bior2.2双正交尺度和小波滤波器。

在哈尔提升方案中,预测运营商差异差异奇数甚至样本。在该示例中,定义一个新的预测运算符,其计算两个相邻偶数样本的平均值。从中间奇数样本中减去平均值。

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. ]

要获取更新运算符,请检查更新运算符通过提升的哈尔小波.该更新以这样的方式定义,即近似系数的总和与输入数据向量的平均值成比例。

σ. 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 = liftingScheme (“小波”“bior2.2”);disp (lscBior)
小波:'bior2.2' LiftingSteps: [2 × 1] liftingStep NormalizationFactors: [1.4142 0.7071] CustomLowpassFilter: [] Details of LiftingSteps: Type: 'predict' Coefficients: [-0.5000 -0.5000] MaxOrder: 1 Type: 'update' Coefficients: [0.2500 0.2500] MaxOrder: 0

为Haar提升方案添加提升步骤

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

创建一个与哈尔小波相关的提升方案。

LSC = Liftingscheme(“小波”'哈尔');DISP(LSC)
小波:'haar' LiftingSteps: [2 × 1] liftingStep NormalizationFactors: [1.4142 0.7071] CustomLowpassFilter: [] Details of LiftingSteps: Type: 'predict' Coefficients: -1 MaxOrder: 0 Type: 'update' Coefficients: 0.5000 MaxOrder: 0

创建一个更新基本提升步骤。为提升方案附加步骤。

els =升降步骤(“类型”“更新”'系数'(-1/8 1/8),“MaxOrder”,0);LSCNEW = Addlift(LSC,ELS);DISP(LSCNEW)
小波:'custom' 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,藏,生气,hir] = ls2filt (lscNew);

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

Bswfun(LOD,HID,LOR,HIR,“阴谋”);

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

整数到整数小波变换

在一些应用中,希望有一个小波变换将整数输入映射到整数尺度和小波系数。你可以很容易地使用升降机来完成。

创建一个与哈尔小波相关的提升方案。在提升方案中增加一个基本的提升步骤。

LSC = Liftingscheme(“小波”'哈尔');els =升降步骤(“类型”“更新”'系数'(-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”,真的);max(abs(xrec-sig))
ans = 0.