主要内容

取消一个过滤器银行

这个例子展示了如何使用起重逐步改变一个完全重构滤波器组的属性。下面的图显示了提升的三个典型步骤:分裂、预测和更新。

提升的第一步就是把信号分成偶数和奇数的样本。这些被称为多相组件和一步提升过程通常被称为“懒惰”提升一步,因为你真的没有做那么多的工作。你可以在MATLAB™通过创建一个“懒”提升计划使用liftingScheme使用默认设置。

LS = liftingScheme;

使用起重方案获得一级小波分解的随机信号。

1 x = randn(8日);[ALazy, DLazy] =轻型(x,“LiftingScheme”LS,“水平”1);

MATLAB索引从1ALazy包含了奇数x和样品DLazy包含偶数样本。大部分的解释解除假定信号从样本0,ALazy是偶数样品和DLazy奇数样本。这个例子是后者的约定。“懒惰”的小波变换对信号小波系数的一半,DLazy,另一半作为缩放系数,ALazy。这是完全一致的起重的上下文中,但一个简单的分割数据的真正sparsify或捕获任何相关细节。

解除的下一步计划是基于预测的样本甚至样品。的理论基础是最自然的信号和图像显示相邻样本之间的相关性。因此,你可以“预测”使用偶数的奇数样品样本。你的预测和实际值之间的差别是错过的“细节”的数据预测。丢失的细节包括小波系数。

方程形式,您可以编写预测步骤 d j ( n ) = d j - - - - - - 1 ( n ) - - - - - - P ( 一个 j - - - - - - 1 ) 在哪里 d j - - - - - - 1 ( n ) 是在细尺度和小波系数吗 一个 j - - - - - - 1 是一些finer-scale缩放系数。 P ( ) 是预测算子。

添加一个简单的(哈雾)预测步骤,减去奇怪的甚至(近似)系数(细节)系数。在这种情况下,预测操作简单 ( - - - - - - 1 ) 一个 j - - - - - - 1 ( n ) 。换句话说,它预测的样本甚至基于前面示例。

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

上面的代码说:“创建一个基本使用多项式预测提升一步 z 最高的权力 z 0 。的系数是1。更新延迟取消计划。

LSN = addlift (LS, ElemLiftStep);

新起重方案应用到信号。

[D] =轻型(x,“LiftingScheme”LSN,“水平”1);

注意的元素一个那些是相同的吗ALazy。这预计,因为您没有修改近似系数。

(ALazy)
ans =4×20.5377 0.5377 -2.2588 -2.2588 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

比较DnewD。想象一个例子,信号是分段常数在每两个样本。

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

应用新的吊装方案u

(非盟,Du) =轻型(u,“LiftingScheme”LSN,“水平”1);杜{1}
ans =6×10 0 0 0 0 0

你看到的所有为零。这个信号被压缩,因为现在的所有信息包含在6样本而不是12样本。你可以很容易地重建原始信号

urecon = ilwt (Au,杜“LiftingScheme”,LSN);马克斯(abs (u (:) -urecon (:)))
ans = 0

在你预测步骤,你在信号预测相邻奇数样本有相同的值作为立即前甚至样品。显然,这是真的只有微不足道的信号。小波系数捕捉预测和实际值之间的差异(奇怪的样品)。最后,使用更新步骤来更新甚至基于差异预测步骤中获得的样本。在这种情况下,使用下面的更新 一个 j ( n ) = 一个 j - - - - - - 1 ( n ) + d j - - - - - - 1 ( n ) / 2 。这个替换每个偶数系数的算术平均偶数和奇数系数。

elsUpdate = liftingStep (“类型”,“更新”,“系数”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;2 = 1:2:元素个数(x) meanz (n) =意味着([x (ii) x (2 + 1)]);n = n + 1;结束

比较meanz一个。像往常一样,你可以转化提升方案获得一个完美的数据的重建。

xrec = ilwt (A, D,“LiftingScheme”,LSupdated);马克斯(abs (x-xrec))
ans = 2.2204 e-16

通常添加一个规范化步骤结束时,能量信号( 2 规范)保存能量的总和的比例和小波系数。没有这个规范化步骤,能量是不会保留。

规范(x, 2) ^ 2
ans = 11.6150
规范(2)^ 2 +规范(D {1}, 2) ^ 2
ans = 16.8091

添加必要的规范化步骤。

LSsteps = LSupdated.LiftingSteps;LSscaled = liftingScheme (“LiftingSteps”LSsteps,“NormalizationFactors”,(sqrt (2)));[D] =轻型(x,“LiftingScheme”LSscaled,“水平”1);规范(2)^ 2 +规范(D {1}, 2) ^ 2
ans = 11.6150

现在, 2 规范的信号等于能量之和的比例和小波系数。解除您开发方案在本例中是哈雾提升方案。

小波工具箱™支持许多常用的起重方案金宝app通过liftingScheme使用预定义的预测和更新步骤和规范化的因素。例如,您可以用以下获得Haar提升方案。

lshaar = liftingScheme (“小波”,“哈雾”);

看到不是所有起重方案由单一的预测和更新提升步骤,检查对应的提升方案bior3.1小波。

lsbior3_1 = liftingScheme (“小波”,“bior3.1”)
lsbior3_1 =小波:“bior3.1”LiftingSteps: [3×1] liftingStep NormalizationFactors: [2.1213 - 0.4714] CustomLowpassFilter:[]的细节LiftingSteps:类型:“更新”系数:-0.3333 MaxOrder: 1类型:“预测”系数:[-0.3750 - -1.1250]MaxOrder: 1类型:“更新”系数:0.4444 MaxOrder: 0