主要内容

小波包分解:细节

这个例子表明,小波包不同于离散小波变换(DWT)。中的示例展示了小波包变换结果equal-width子带滤波的信号而不是粗倍频带滤波在DWT找到。

这使得小波包一个有吸引力的替代DWT的应用程序。这里给出两个例子是信号时频分析和分类。你必须统计和机器学习工具箱™和信号处理工具箱™进行分类。

如果你使用正交小波与小波包变换,最终你另外的分区之间的信号能量equal-width部分波段。

主要集中在一维情况下的例子,但许多直接的概念扩展到图像的小波包变换。

离散小波变换和离散小波包变换

下面的图显示了一个一维输入信号DWT树。

图1:DWT树为一维输入信号到3级。

G ( f ) 扩展(低通滤波器)分析过滤和吗 H ( f ) 代表小波滤波器(高通滤波)分析。底部的标签显示频率轴的分区(0,1 / 2)部分波段。

图显示,随后DWT的水平只能输出的低通滤波器(扩展)。在每个层次中,DWT将信号划分为八度。严格采样DWT,带通滤波器的输出是由两个在每个downsampled水平。在抽取离散小波变换,输出并不downsampled。

比较DWT树和小波包树。

图2:完整的小波包树到3级。

小波包变换,也应用到小波滤波操作,或细节系数。结果是,小波包提供一个输入信号的子带滤波为逐步精细equal-width间隔。在每一个层面上, j ,频率轴(0,1 / 2)分为 2 j 部分波段。赫兹的部分波段水平 j

( n F 年代 2 j + 1 , ( n + 1 ) F 年代 2 j + 1 ) n = 0 , 1 , 2 j - - - - - - 1 在哪里 Fs 采样频率。

这多好带通近似取决于frequency-localized过滤器。等Fejer-Korovkin过滤器“fk18”(18系数),近似相当好。像哈雾过滤器(“哈雾”),近似并不准确。

在严格采样小波包变换带通滤波器的输出是由两个downsampled。在抽取小波包变换,输出并不downsampled。

与小波包时频分析

因为小波包把频率轴分成细间隔比DWT小波包在时频分析优越。作为一个例子,考虑两个间歇正弦波频率为150和200赫兹在加性噪声。在1千赫采样的数据。为了防止固有的时间分辨率的损失严格采样小波包变换,使用抽取变换。

dt = 0.001;t = 0: dt: 1 dt;x =因为(2 *π* 150 * t) * (t > = 0.2 & t < 0.4) +罪(2 *π* 200 * t) * (t > 0.6 & t < 0.9);y = x + 0.05 * randn(大小(t));(wpt - F) = modwpt (x,“TimeAlign”,真正的);轮廓(t、f * (1 / dt), abs (wpt)。^ 2)网格包含(的时间(秒))ylabel (“赫兹”)标题(”——抽取小波包变换的时频分析)

图包含一个坐标轴对象。坐标轴对象与标题——抽取小波包变换的时频分析,包含时间(秒),ylabel赫兹包含一个类型的对象轮廓。

注意,小波包变换可以单独的150米和200赫兹组件。DWT的这是不正确的,因为150和200赫兹在同一倍频带。4级DWT的八度乐队(赫兹)

  • [0,31.25)

  • [31.25,62.5)

  • [62.5,125)

  • (125250)

  • (250500)

证明这两个组件由DWT time-localized但不是分离的频率。

mra = modwtmra (modwt (y,“fk18”4),“fk18”);J = 5: 1:1;频率= 1/2 * (1000. / 2 ^ J);轮廓(t,频率,flipud (abs (mra)。^ 2))网格ylim(500[0])包含(的时间(秒))ylabel (“赫兹”)标题(——抽取小波变换时频分析的)

图包含一个坐标轴对象。坐标轴对象与标题——抽取小波变换时频分析,包含时间(秒),ylabel赫兹包含一个类型的对象轮廓。

当然,连续小波变换(CWT)提供了一个更高的分辨率比小波包变换的时频分析,但是小波包的好处正交变换(当使用正交小波)。正交变换意味着能量信号是保存和分区系数作为下一节演示了。

能源保存在小波包变换

除了过滤信号equal-width部分波段在每个层面上,小波包变换分区部分波段之间的信号的能量。这是真正的摧毁和抽取小波包变换。为了说明这一点,加载数据集包含一个地震的地震记录。这个数据类似于时间序列信号分类中使用下面的例子。

负载科比情节(科比)网格包含(“秒”)标题(“神户地震数据”)轴

图包含一个坐标轴对象。坐标轴标题神户地震数据对象,包含秒包含一个类型的对象。

获得摧毁和抽取数据的小波包变换到3级。确保一致的结果为摧毁小波包变换,设置边界扩展模式“周期”

wptreeDecimated =方法(科比,“水平”3,“边界”,“周期”);wptUndecimated = modwpt(科比,3);

计算出总能量摧毁和抽取小波包第三级系数和比较原始信号的能量。

decimatedEnergy =总和(cell2mat (cellfun (@ (x)和(abs (x) ^ 2), wptreeDecimated,“UniformOutput”假)))
decimatedEnergy = 2.0189 e + 11
undecimatedEnergy =总和(总和(abs (wptUndecimated)。^ 2, 2))
undecimatedEnergy = 2.0189 e + 11
signalEnergy =规范(科比,2)^ 2
signalEnergy = 2.0189 e + 11

DWT股票这一重要属性与小波包变换。

wt = modwt(科比,“fk18”3);undecimatedWTEnergy =总和(总和(abs (wt)。^ 2, 2))
undecimatedWTEnergy = 2.0189 e + 11

因为每个层次的小波包变换频率轴分为equal-width间隔和分区之间的信号能量间隔,通常可以构建有用的特征向量分类仅仅通过保留在每个小波包能量相对。下一个示例演示了这一点。

小波包分类——地震或爆炸?

地震记录活动外,还可以从许多别的来源。重要的是能够根据它的起源分类这一活动。例如,地震和爆炸可能存在类似的时域特征,但它是非常重要的区分这两个事件。数据集EarthQuakeExplosionData与2048个样本包含16个录音。第一个8录音(列)是地震的地震记录,最后8录音(列)是爆炸的地震记录。加载数据和情节和爆炸地震记录进行比较。数据取自R包astsa Stoffer[4],这和Stoffer补充剂沙姆韦[3]。作者请允许其使用在这个例子。

从每组时间序列比较。

负载EarthQuakeExplosionData次要情节(2,1,1)情节(EarthQuakeExplosionData(:, 3)包含(“时间”)标题(“地震记录”网格)次要情节(2,1,2)情节(EarthQuakeExplosionData(:, 9)包含(“时间”)标题(“爆炸记录”网格)

图包含2轴对象。坐标轴对象1标题地震记录,包含一个类型的对象包含时间线。坐标轴对象2标题爆炸记录,包含一个类型的对象包含时间线。

形成一个小波包特征向量的每个时间序列分解到3级使用“fk6”小波与一个抽取小波包变换。这导致了8次能带宽度近似的1/16周期/样品。使用相对能量在每一次能带创建一个特征向量。作为一个例子,获得一个相对小波包能量特征向量的地震记录。

(wpt ~ F E RE) = modwpt (EarthQuakeExplosionData (: 1), 3,“fk6”);

再保险包含的相对能量在每个8次能带。如果你和所有的元素再保险,它等于1。注意,这是一个显著减少数据。时间序列长度2048减少到一个向量与8个元素,每个元素代表相对在3级小波包节点能量。辅助函数helperEarthQuakeExplosionClassifier获得的相对能量为每一个16录音在3级使用“fk6”小波。这导致一个16-by-8矩阵,利用这些特征向量作为输入kmeans分类器。分类器使用统计标准的差距来确定最优数量的集群之间的特征向量1和6,每个向量分类。此外,分类器上执行相同的分类非抽取小波变换系数在三级了“fk6”小波和为每个时间序列的功率谱。非抽取小波变换结果16-by-4矩阵(3小波频带和1缩放部分波段)。功率谱的结果在一个16 -到- 1025矩阵。的源代码helperEarthQuakeExplosionClassifier列在附录中。你必须统计和机器学习工具箱™和信号处理工具箱™运行分类器。

水平= 3;[WavPacketCluster, WtCluster PspecCluster] =helperEarthQuakeExplosionClassifier (EarthQuakeExplosionData级别)
WavPacketCluster = GapEvaluation属性:NumObservations: 16 InspectedK: (1 2 3 4 5 6) CriterionValues: [-0.0039 0.0779 0.1314 0.0862 0.0296 -0.0096] OptimalK: 2
WtCluster = GapEvaluation属性:NumObservations: 16 InspectedK: (1 2 3 4 5 6) CriterionValues: [-0.0095 0.0474 0.0706 0.0260 -0.0280 -0.0346] OptimalK: 2
PspecCluster = GapEvaluation属性:NumObservations: 16 InspectedK: (1 2 3 4 5 6) CriterionValues: [0.3804 0.3574 0.3466 0.2879 0.3256 0.3326] OptimalK: 1

WavPacketCluster是抽取小波包特征聚类的输出向量。WtCluster集群的输出使用抽取DWT特征向量,然后呢PspecCluster的输出是基于功率谱聚类。小波包分类已经确定两个集群(OptimalK: 2)作为最优数量。研究小波包聚类的结果。

res = [WavPacketCluster.OptimalY (1:8)”;WavPacketCluster.OptimalY(9:结束)')
res =2×81 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2

你会发现只有两个错误。一起的八个地震记录中,7个被分类(组2),一个是错误地分类属于组1。8爆炸录音的也是如此——7被归类在一起,1分类错误。基于第三级分类抽取DWT和功率谱返回一个集群作为最优的解决方案。

如果你重复以上级别等于4,非抽取小波变换和小波包变换执行相同。确定两个集群为最佳,两个分类第一次也是最后一次系列属于另一组。

结论

在这个示例中,您了解了小波包变换与离散小波变换的不同。具体地说,小波包树还能过滤小波细节系数,而小波变换只在缩放(近似)系数迭代。

你知道小波包变换股票的重要energy-preserving属性DWT,同时提供优越的频率分辨率。在某些应用程序中,这种优越的频率分辨率使得小波包变换DWT的一个有吸引力的选择。

附录

helperEarthQuakeExplosionClassifier

函数[WavPacketCluster, WtCluster PspecCluster] = helperEarthQuakeExplosionClassifier(数据层)%这个函数只支持特色提供例子金宝app% waveletpacketsdemo.mlx。%这个函数可能在将来的版本中修改或删除。%与单个时间序列数据——数据矩阵列向量。%的水平——小波和小波包变换的水平NP = 2 ^水平;西北= + 1级;NP WpMatrix = 0(16日);西北WtMatrix = 0(16日);jj = 1:8[~, ~, ~, ~,再保险]= modwpt(数据(:,jj)水平,“fk6”);wt = modwt(数据(:,jj)水平,“fk6”);WtMatrix (jj:) =总和(abs (wt)。^ 2, 2)。/规范(数据(:,jj), 2) ^ 2;WpMatrix (jj:) =再保险;结束九16再者kk =[~, ~, ~, ~,再保险]= modwpt(数据(:,kk)水平,“fk6”);wt = modwt(数据(:,kk)水平,“fk6”);WtMatrix (kk:) =总和(abs (wt)。^ 2, 2)。/规范(数据(:,kk), 2) ^ 2;:WpMatrix (kk) =再保险;结束%的可重复性rng (“默认”);WavPacketCluster = evalclusters (WpMatrix,“kmeans”,“差距”,“中”1:6,“距离”,“cityblock”);WtCluster = evalclusters (WtMatrix,“kmeans”,“差距”,“中”1:6,“距离”,“cityblock”);Pxx =周期图(数据,汉明(元素个数(数据(:1))),[],1,“权力”);PspecCluster = evalclusters (Pxx ',“kmeans”,“差距”,“中”1:6,“距离”,“cityblock”);结束

引用

[1]Wickerhauser,占的胜利者。采用小波分析从理论到软件。韦尔斯利,MA: A.K.彼得斯,1994年。

[2]珀西瓦尔,Donald B。,安德鲁·t·瓦尔登湖。小波时间序列分析的方法。剑桥系列的统计和概率数学。剑桥 ;纽约:剑桥大学出版社,2000年。

[3]沙姆韦,罗伯特·H。,and David S. Stoffer.时间序列分析及其应用:随着R的例子。第三。Springer文本数据。纽约:施普林格,2011年。

[4]Stoffer, d . H。“旅行社:应用统计时间序列分析。”R package version 1.3.https://CRAN.R-project.org/package=astsa,2014年。

另请参阅

|||