我们知道古典DWT遭受了缺点:DWT不是一个时间不变的变换。这意味着,即使是周期性信号扩展,DWT也是信号的翻译版本X不是一般来说,翻译版本的DWTX.
如何恢复平移不变性,这是经典DWT所失去的一个理想特性?其思想是对一些稍有不同的DWT(称为ε-抽取DWT)进行平均,以定义平稳小波变换(SWT)。该特性适用于多种应用,如故障点检测。
SWT的主要应用是去噪。有关基本原理的更多信息,请参阅中的[CoiD95]参考.对于例子,见一维平稳小波变换和二维平稳小波变换.
其原理是对多个去噪信号进行平均。使用常用的去噪方案(参见小波去噪和非参数函数估计),但是应用于ε-decimated DWT的系数。
笔记
SWT仅定义为长度可分离的信号J哪里J是最大分解级别。SWT使用定期性(每
)分机。
什么是ε-抽取DWT?
存在许多略微不同的方式来处理离散小波变换。让我们回顾说明DWT基本计算步骤是一个卷积,然后是抽取。抽取保留均匀索引元素。
但是可以通过选择奇数索引元素而不是均匀索引元素来执行抽取。这种选择涉及分解过程的每一步,所以在每个级别都选择奇数甚至。
如果我们执行原始信号的所有不同可能的分解,我们都有2J不同的分解,对于给定的最大级别J.
让我们用ε表示J= 1或0在步骤中选择奇数甚至索引元素J.每个分解都用0和1的序列标记:ε=ε1.......,ε.J这种变换称为ε-抽取DWT。
通过应用移位,可以从标准DWT的基向量中获得ε-抽取DWT的基向量,并对应于基函数原点的特殊选择。
通过计算每种可能的序列ε的近似和细节系数,可以计算给定的长度N的给定信号的所有ε-跳过的DWT。使用迭代方式,略微修改的形式的基本步骤的略微修改版本:
[a,d] = dwt(x,wname,'模式','per','shift',e);
最后两个参数指定执行抽取步骤的方法。这是古典之一E =
0,但是对于E =
1奇数索引元素通过抽取保留。
当然,这不是计算所有ε-抽取DWT的好方法,因为许多计算都要执行多次。我们现在将描述另一种方法,即平稳小波变换(SWT)。
SWT算法非常简单,并且靠近DWT One。更确切地说,对于级别1,可以通过在DWT案例中与适当的滤波器卷积,但是在DWT案例中,可以获得给定信号的所有ε - 被隔音的DWT(该级别的两个),但是没有下采样。然后级别1的近似和细节系数是尺寸N,即信号长度。如下图所示。
一般步骤J将近似系数置于级别J–1,使用适当原始滤波器的上采样版本,以在水平上产生近似系数和细节系数J.这可以在下图中可视化。
接下来,我们将说明如何从SWT的近似和细节系数结构中提取给定的ε-抽取DWT。
我们分解了一系列高度数字,SWT在级别J= 3,使用正交小波。
功能swt
连续计算以下阵列,在哪里A(j,ε)1.,...,εJ)或者D(j,ε1.,...,εJ)表示级别上的近似值或细节系数J对于ε=[ε]特征的ε-抽取DWT获得1.,...,εJ]。
A(0) |
A(0) |
A(0) |
A(0) |
A(0) |
A(0) |
A(0) |
A(0) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
A(1,0) |
A(1,1) |
A(1,0) |
A(1,1) |
A(1,0) |
A(1,1) |
A(1,0) |
A(1,1) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
D(2,0,0) |
D(2,1,0) |
D(2,0,1) |
D(2,1,1) |
D(2,0,0) |
D(2,1,0) |
D(2,0,1) |
D(2,1,1) |
A(2,0,0) |
A(2,1,0) |
A(2,0,1) |
A(2,1,1) |
A(2,0,0) |
A(2,1,0) |
A(2,0,1) |
A(2,1,1) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
d(1,0) |
d(1,1) |
D(2,0,0) |
D(2,1,0) |
D(2,0,1) |
D(2,1,1) |
D(2,0,0) |
D(2,1,0) |
D(2,0,1) |
D(2,1,1) |
D(3,0,0,0) |
D(3,1,0,0) |
D(3,0,1,0) |
D(3,1,1,0) |
D(3,0,0,1) |
D(3,1,0,1) |
D(3,0,1,1) |
D(3,1,1,1) |
A(3,0,0,0) |
A(3,1,0,0) |
A(3,0,1,0) |
A(3,1,1,0) |
A(3,0,0,1) |
A(3,1,0,1) |
a(3,0,1,1) |
A(3,1,1,1) |
让J表示当前水平,在哪里J也是算法的当前步骤。那么我们与ε有以下抽象关系我=0或1:
[tmpAPP,tmpDET]=dwt(A(j,ε1., ,ɛJ),wname,'mode','per','shift',ɛJ + 1); A(j+1,ɛ)1., ,ɛJ,ɛJ + 1)=循环移位(tmpAPP,-ɛ)J + 1);d(j + 1,ɛ1., ,ɛJ,ɛJ + 1)=循环移位(tmpDET,-ɛJ + 1);
哪里环移
对输入向量执行ε-循环移位。因此,如果εJ+1=0,则为环移
指令无效,可以被抑制。
设ε=[ε1.,...,εJ]用ε.我= 0或1.我们有2J= 23.=在3级不同的ε-decimated DWTS。选择ε,我们可以从SWT阵列中检索相应的ε-decimated DWT。
现在,考虑最后一步,J=3,并让[Cε,Lε]表示给定ε的ε-抽取DWT的小波分解结构。然后,可以通过选择适当的系数从SWT分解结构中检索它,如下所示:
cε=
A(3,ε)1., ε2., ε3.) |
D(3,ε)1., ε2., ε3.) |
d(2,ε1., ε2.) |
d(2,ε1., ε2.) |
D(1,ε)1.) |
D(1,ε)1.) |
D(1,ε)1.) |
D(1,ε)1.) |
lε= [1,1,2,4,8]
例如,对应于ε= [ε的ε-抽取dwt1., ε2., ε3.] = [1,0,1]以前一个示例的阵列序列以粗体显示。
这可以扩展到2-D情况。用于图像的静止小波变换的算法在下图中可视化。
与给定ε对应的每个ε-抽取DWT都可以反转。
使用给定的ε-decimated DWT来重建原始信号,其特征在于[ε1.,...,εJ],我们可以使用抽象算法
对于j = j:-1:1 a(j-1,ε1., ,ɛJ-1) = ... idwt(A(j,ɛ)1., ,ɛJ),D(S,ɛ)1., ,ɛJ)],wname,'mode','per','shift',ɛJ);结尾
对于每种选择ε=(ε1.,...,εJ),我们获得原始信号A(0),从稍微不同的分解开始,以不同的方式捕获分析信号的主要特征。
逆离散平稳小波变换的思想是对每个ε-抽取小波变换的逆进行平均。这可以从一级开始递归进行J到1级。
ISWT通过以下抽象算法获得:
对于j = j:-1:1 x0 = iDwt(a(j,ɛ1., ,ɛJ),D(j,ɛ)1., ,ɛJ)],wname,…‘mode’,‘per’,‘shift’,0);X1=idwt(A(j,ɛ)1., ,ɛJ),D(j,ɛ)1., ,ɛJ)],wname,…'模式','per','shift',1);X1=循环移位(X1,-1);A(j-1,ɛ)1., ,ɛJ-1)=(X0+X1)/2;终止
同样,这可以扩展到二维情况。
关于平稳小波变换(SWT)的一些有用参考文献有[CoiD95]、[NasS95]和[PesKC96]参考.