主要内容

提升滤波器组

此示例显示如何使用升降来逐步更改完美的重建滤波器库的属性。下图显示了提升的三个规范步骤:拆分,预测和更新。

提升的第一步只是将信号分成偶数和奇数索引的样本。这些称为多相组分,并且在提升过程中的步骤通常被称为“懒惰”提升步骤,因为你真的没有做那么多工作。您可以通过使用“懒惰”提升方案来在Matlab™中执行此操作liftingScheme使用默认设置。

LS = liftingScheme;

使用提升方案获得随机信号的1级小波分解。

x = randn(8,1);[alazy,dlazy] = lwt(x,“LiftingScheme”LS,'等级'1);

MATLAB从1开始索引奥拉塞包含X和X的奇数索引样本dlaze.包含偶数索引的样本。对提升的大多数解释都假设信号从样本0开始,所以奥拉塞将是均匀索引的样本和dlaze.奇数样本。本例遵循后一种约定。“惰性”小波变换将信号的一半作为小波系数,dlaze.,另一半是比例系数,奥拉塞。这在提升的背景下是完全一致的,但是数据的简单拆分确实稀疏或捕获任何相关细节。

提升方案中的下一步是基于偶数样本预测奇数样本。理论基础是大多数自然信号和图像表现出相邻样本之间的相关性。因此,您可以使用偶数索引样本“预测”奇数索引样本。您的预测和实际值之间的差异是预测器错过的数据中的“细节”。丢失的细节包括小波系数。

在方程形式中,可以将预测步骤写成 D. j N = D. j - 1 N - P. 一种 j - 1 在哪里 D. j - 1 N 小波系数在更小的尺度和 一种 j - 1 是一些更精细的缩放缩放系数。 P. 是预测算子。

添加一个简单的(Haar)预测步骤,从奇数(细节)系数减去偶数(近似)系数。在这种情况下,预测操作符很简单 - 1 一种 j - 1 N 。换句话说,它通过基于紧接在前面的样本来预测奇数样本。

ElemLiftStep = liftingStep (“类型”'预测''系数', 1“MaxOrder”, 0);

上面的代码说:“使用多项式创建基本预测提升步骤 Z. 功率最高 Z. 0. 。系数是-1。更新延迟提升方案。

LSN = addlift (LS, ElemLiftStep);

将新的提升方案应用于信号。

[D] =轻型(x,“LiftingScheme”LSN,'等级'1);

的元素一种和那些是一样的吗奥拉塞。这是预期的,因为您没有修改近似系数。

(ALazy)
ans =.4×20.5377 0.5377 -2.2588 -2.2588 0.3188 0.3188 0.3188 -0.4336 -0.4336

如果你看看的元素D {1},你看到他们等于dlazy {1} -alazy

dnew = dlazy {1} -alazy;[dnew d {1}]
ans =.4×21.2962 1.2962 3.1210 3.1210 -1.6265 -1.6265 0.7762 0.7762

比较德尼克D.。想象一个例子,信号在每两个样品上都是恒定的。

v = [1 -1 1 -1 1 -1];U = Repelem(v,2)
u =1×121 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 -1

应用新的提升方案

[au,du] = lwt(你,“LiftingScheme”LSN,'等级'1);杜{1}
ans =.6×10 0 0 0 0 0

你看到了所有的是零。该信号已被压缩,因为所有信息现在包含在6个样本中而不是12个样本中。您可以轻松地重建原始信号

urecon = ilwt(au,du,“LiftingScheme”,LSN);max(abs(u(:) -  urecon(:)))
ans = 0.

在你的预测步骤中,你预测你的信号中相邻的奇样本值与紧随其后的偶数样本值相同。显然,这只适用于平凡的信号。小波系数捕捉预测值和实际值之间的差异(在奇数样本)。最后,根据预测步骤中得到的差异,利用更新步骤更新均匀样本。在这种情况下,使用以下方法进行更新 一种 j N = 一种 j - 1 N + D. j - 1 N / 2 。这通过偶数和奇数系数的算术平均值来替换每个偶数索引系数。

elsupdate =升降步骤(“类型”“更新”'系数'1/2,“MaxOrder”, 0);LSupdated = addlift (LSN elsUpdate);

用更新后的提升方案得到信号的小波变换。

[D] =轻型(x,“LiftingScheme”,lsupdated,'等级'1);

如果你比较一种到原始信号,X,你可以看到信号的平均值在近似系数中被捕获。

(意思是(A)的意思是(x))
ans =.1×2-0.0131 -0.0131

事实上,元素一种容易得到吗X通过以下内容。

n = 1;为了II = 1:2:数值(x)意味着(n)=平均值([x(ii)x(ii + 1)]);n = n + 1;结尾

比较meanz一种。一如既往,您可以反转提升方案以获得对数据的完美重建。

XREC = ILWT(A,D,“LiftingScheme”,lsupdated);max(abs(x-xrec))
ANS = 2.2204E-16

通常在最后添加一个归一化步骤,使信号中的能量( 2 (范数)保留为尺度系数和小波系数的能量之和。没有这个正规化步骤,能量就不能保持。

规范(x, 2) ^ 2
ans = 11.6150
规范(A,2)^ 2 +常量(d {1},2)^ 2
ans = 16.8091.

添加必要的标准化步骤。

lssteps = lsupdated.liftingSteps;LSScaled =升降机(“LiftingSteps”,lssteps,'正常化物质', (sqrt (2)));[D] =轻型(x,“LiftingScheme”,lsscaled,'等级'1);规范(A,2)^ 2 +常量(d {1},2)^ 2
ans = 11.6150

现在 2 信号的范数等于尺度系数和小波系数的能量之和。您在本例中开发的提升方案是哈尔提升方案。

小波工具箱™支持许多常用的提升方案万博1manbetxliftingScheme具有预定义的预测和更新步骤,以及归一化因子。例如,您可以通过以下方法获得Haar提升方案。

lshaar =升降机(“小波”'哈尔');

要了解到,并非所有提升方案包括单个预测和更新提升步骤,请检查对应的提升方案bior3.1小波。

lsbior3_1 = liftingScheme (“小波”'bior3.1'
lsbior3_1 =小波:'bior3.1'升降步骤:[3×1]升降步骤标准化:[-0.3750 -1.1250] maxOrder:1类型:'更新'系数:0.4444 maxOrder:0