这个例子展示了如何在一维信号上使用提升。
创建一个1-D信号,在2个样本上分段常数。添加 信号的噪声。
x = [1 1 2 2 6 6 -3.5 4.3 4.3 -4.5 -4.5 2.2 -3.5 2.2 -1.5 -1.5);X = repmat(X,1,64);rng默认的X = X + 0.1*randn(size(X));
绘制信号并放大前100个样本,以可视化相邻样本之间的相关性。
图(x) xlim([0 100])“信号”)包含(“指数”) ylabel (“振幅”)
使用懒惰的小波得到信号的偶多相分量和奇多相分量。绘制细节(小波)系数D
,并观察到这个变换没有对信号进行解相关。小波系数看起来很像信号。
LS =升降方案;[A,D] = lwt(x,“LiftingScheme”LS,“水平”1);plot(D{1}) xlim([0 100])“细节系数”)包含(“指数”) ylabel (“振幅”)
增加一个预测提升步骤,在之后的一个样本中从奇数系数中减去偶数指数系数, .
ElemLiftStep = liftingStep(“类型”,“预测”,“系数”, 1“MaxOrder”, 0);LSnew = addlift(LS,ElemLiftStep);
由于信号在含有加性噪声的连续样本上是分段常数,新的预测步骤应导致小波系数绝对值较小。在这种情况下,小波变换对数据进行解关联。通过新的预测步骤找到近似值和细节系数来验证这一点。
[A,D] = lwt(x,“liftingScheme”LSnew,“水平”1);
如果你绘制细节系数(小波),你会看到小波系数不再类似于原始信号。
plot(D{1}) xlim([0 100])“细节系数”)包含(“指数”) ylabel (“振幅”)
近似系数,一个
,构成信号的偶多相分量。因此,系数会受到混叠的影响。使用更新提升步骤更新近似系数并减少混叠。更新步骤将近似系数替换为
,等于的平均值
而且
.平均是一个低通滤波,这有助于减少混叠。
ElemLiftStep = liftingStep(“类型”,“更新”,“系数”1/2,“MaxOrder”, 0);LSnew = addlift(LSnew,ElemLiftStep);
采用新的提升方案对输入信号进行小波变换。近似系数类似于原始信号的平滑版本。
[A,D] = lwt(x,“liftingScheme”LSnew,“水平”1);plot(A) xlim([0 100])
创建一个新的起重方案,起重步骤与LSnew
.应用比例因子,确保完美的重建。利用提升法得到信号的近似值和小波系数,利用提升法对信号进行重构ilwt
.验证完美的重建。
scaleFactors =[√(2)√(2)/2];ElemLiftStep1 = liftingStep(“类型”,“预测”,“系数”, 1“MaxOrder”, 0);ElemLiftStep2 = liftingStep(“类型”,“更新”,“系数”1/2,“MaxOrder”, 0);LSscale =升降方案(“LiftingSteps”(ElemLiftStep1; ElemLiftStep2),“NormalizationFactors”, scaleFactors);[A,D] = lwt(x,“liftingScheme”LSscale,“水平”1);xrecon = ilwt(A,D,“liftingScheme”, LSscale);马克斯(abs (x (:) -xrecon (:)))
Ans = 1.7764e-15
前面的例子设计了一个小波,它有效地去除了一个零阶多项式(常数)。如果信号的行为可以用高阶多项式更好地表示,则可以设计具有适当消失矩数的对偶小波来解相关信号。
利用提升法设计了带有两个消失矩的小波。具有两个消失矩的对偶小波对局部行为近似为一阶多项式的信号进行解关联。创建一个具有可加性的一阶多项式行为的信号 噪音。
Y = [1 0 0 4 0 0 -1 0 0 2 0 0 7 0 0 -4 0 0 1 0 0 -3];X1 = 1:(21/1024):22-(21/1024);Y1 = interp1(1:22,y,x1,“线性”);rng默认的Y1 = Y1 +0.25*randn(size(Y1));Plot (x1,y1) xlim([1 22])
在这种情况下,小波系数应该去掉一个一阶多项式。如果信号值在奇数下标处, ,可以很好地近似于拟合周围样本值的一阶多项式,则 应该提供一个很适合的 .换句话说, 应该是中间点 而且 .
由此可见 应该解关联信号。
用预测提升步骤创建一个新的提升方案,该步骤对前面的方程进行建模。
ElemLiftStep = liftingStep(“类型”,“预测”,“系数”(1/2 1/2),“MaxOrder”1);LS =升降方案(“LiftingSteps”ElemLiftStep,“NormalizationFactors”1);
利用提升法得到近似系数和详细系数,并绘制结果。
[A,D] = lwt(y1;“LiftingScheme”LS,“水平”1);subplot(2,1,1) plot(A) xlim([1 512])标题(“近似系数”) subplot(2,1,2) plot(D{1}) xlim([1 512])“细节系数”)
您可以看到小波系数似乎只包含噪声,而近似系数表示原始信号的去噪版本。由于前面的转换仅使用偶数多相分量作为近似系数,因此可以通过添加更新步骤来减少混叠。
创建一个新的提升方案,包括前面的预测步骤和减少混叠的新更新步骤。规范化提升方案,形成完善的重构滤波器组。采用新的提升方案得到离散小波变换,并绘制结果图。
scaleFactors =[√(2)√(2)/2];ElemLiftStep1 = liftingStep(“类型”,“预测”,“系数”(1/2 1/2),“MaxOrder”1);ElemLiftStep2 = liftingStep(“类型”,“更新”,“系数”(1/4 1/4),“MaxOrder”, 0);LSnew =升降方案(“LiftingSteps”(ElemLiftStep1; ElemLiftStep2),“NormalizationFactors”, scaleFactors);[A,D] = lwt(y1;“liftingScheme”LSnew,“水平”1);subplot(2,1,1) plot(A) xlim([1 512])标题(“近似系数”) subplot(2,1,2) plot(D{1}) xlim([1 512])“细节系数”)
演示您已经设计了一个完美的重构滤波器组。
y2 = ilwt(A,D,“liftingScheme”, LSnew);马克斯(abs (y2 (:) y1 (:)))
Ans = 1.7764e-15