主要内容

modwt

最大重叠离散小波变换

描述

例子

w= modwt (x的最大重叠离散小波变换(MODWT)xx可以是实值或复值向量或矩阵。如果x是一个矩阵,modwt作用于的列xmodwt计算小波变换到水平地板(log2(长度(x)))如果x是一个向量地板(log2(大小(x, 1)))如果x是一个矩阵。默认情况下,modwt使用具有四个消失矩的Daubechies最小不对称小波(“sym4”)和定期边界处理。

例子

w= modwt (xwname利用正交小波,wname,表示MODWT。

例子

w= modwt (x瞧,嗨使用缩放滤波器,,小波滤波器,,计算MODWT。这些滤波器必须满足正交小波的条件。不能同时指定两者wname还有一对过滤器,而且

例子

w= modwt (___列弗计算MODWT到指定的水平,列弗,使用以前语法中的任何参数。

例子

w= modwt (___、“反射”)使用反射边界处理计算MODWT。其他输入可以是以前语法中的任何参数。在计算小波变换之前,modwt在终端端对称扩展信号到信号长度的两倍。小波的个数和变换系数modwt返回值等于输入信号长度的两倍。缺省情况下,信号周期性扩展。

您必须输入整个字符向量“反射”.如果你添加一个小波“反射”在使用小波管理器之前,必须重命名小波。“反射”可以放在输入参数列表的任何位置后x

例子

w= modwt (___TimeAlign =alignflag循环移动所有级别(尺度)的小波系数和缩放系数,以校正缩放和小波滤波器的延迟。其他输入可以是以前语法中的任何参数。

例子

全部折叠

使用默认值获取心电图信号的MODWTsym4小波向下到最大水平。数据取自Percival & Walden(2000),第125页(数据最初由华盛顿大学William Constantine和Per Reinhall提供)。

负载wecg;wtecg = modwt (wecg);谁wtecg
名称大小字节类属性wtecg 12x2048 196608 double

的前十一排wtecg小波系数是尺度的吗 2 1 2 1 1 .最后一行包含缩放系数 2 1 1 .绘制尺度的细节(小波)系数 2 3.

:情节(wtecg(3))标题(“三级小波系数”

图中包含一个axes对象。标题为Level 3 Wavelet Coefficients的axis对象包含一个类型为line的对象。

得到南方涛动指数数据的MODWTdb2小波向下到最大水平。

负载soi;wsoi = modwt (soi),“db2”);

使用Fejér-Korovkin长度8的缩放和小波滤波器获得德国马克-美元汇率数据的MODWT。

负载DM_USD(~, ~,嗨)= wfilters (“fk8”);wdmf = modwt (DM_USD,嗨);

获得第二个具有相同小波的MODWT,但这次指定小波名称。

wdmn = modwt (DM_USD,“fk8”);

确认分解是相等的。

马克斯(abs (wdmf (:) -wdmn (:)))
ans = 0

获得按比例的心电信号的MODWT 2 4 ,对应第四级。使用默认的sym4小波。数据取自Percival & Walden(2000),第125页(数据最初由华盛顿大学William Constantine和Per Reinhall提供)。

负载wecg;wtecg = modwt (wecg 4);谁wecgwtecg
名称大小字节类属性wecg 2048x1 16384 double wtecg 5x2048 81920 double

的行大小。wtecg为L+1,在本例中,等级(L)为4。列大小与输入样本的数量相匹配。

利用反射边界处理得到心电信号的MODWT。使用默认的sym4小波变换,得到下至4级的变换。数据取自Percival & Walden(2000),第125页(数据最初由华盛顿大学William Constantine和Per Reinhall提供)。

负载wecg;wtecg = modwt (wecg 4“反射”);谁wecgwtecg
名称大小字节类属性wecg 2048x1 16384 double wtecg 5x4096 163840 double

wtecg有4096列,是输入信号长度的两倍,wecg

创建一个单位脉冲信号。

n = 128;sig = 0 (1, n);sig (n / 2) = 1;clf情节(sig)轴标题(“单位脉冲”

图中包含一个axes对象。标题为Unit Impulse的axis对象包含一个类型为line的对象。

使用默认值获取信号到4级的MODWTmodwt设置。获取信号的第二个MODWT到4级,系数时间对齐。

列弗= 4;列弗w = modwt(团体);wTimeAligned = modwt(团体、列弗TimeAlign = true);

绘制默认设置下得到的MODWT的小波系数和缩放系数。由于在MODWT中使用的小波和缩放滤波器具有非零相位响应,延迟随尺度增加而增加。

K =1:lev+1 subplot(lev+1,1, K) plot(w(K,:))轴如果k = = 1标题(带延迟的MODWT分析结束结束

图中包含5个轴对象。标题为MODWT Analysis with Delay的axis对象1包含一个类型为line的对象。Axes对象2包含一个类型为line的对象。Axes对象3包含一个类型为line的对象。Axes对象4包含一个line类型的对象。axis对象5包含一个类型为line的对象。

与时间排列系数图进行比较。

k=1:lev+1 subplot(lev+1,1,k) plot(wTimeAligned(k,:))轴如果k = = 1标题(“Time-Aligned MODWT分析”结束结束

图中包含5个轴对象。axis对象1的标题为Time-Aligned MODWT Analysis,其中包含一个类型为line的对象。Axes对象2包含一个类型为line的对象。Axes对象3包含一个类型为line的对象。Axes对象4包含一个line类型的对象。axis对象5包含一个类型为line的对象。

加载23通道脑电图数据Espiga3[3].通道按列方向排列。数据以200hz采样。

负载Espiga3

计算最大重叠离散小波变换到最大能级。

wt = modwt (Espiga3);

得到信号能量的平方,并将其与从所有级别的小波系数求和得到的能量的平方进行比较。使用对数平方能量,因为在一个分量中能量不成比例的大。

sigN2 = vecnorm (Espiga3)。^ 2;wtN2 =总和(挤压(vecnorm (wt 2 2)。^ 2));栏(收、日志(sigN2))散射(收、日志(wtN2),“填充”“SizeData”, 100)α(0.75)传说(信号能量的“小波系数中的能量”...“位置”“西北”)包含(“通道”) ylabel (“ln(平方能源)”

图中包含一个axes对象。坐标轴对象包含两个类型为bar、scatter的对象。这些对象表示信号能量,小波系数中的能量。

这个例子演示了MODWT和MODWTMRA之间的区别。MODWT通过细节系数和缩放系数划分信号的能量。MODWTMRA将信号投射到小波子空间和缩放子空间上。

选择sym6小波。加载并绘制心电图信号。心电信号的采样频率为180赫兹。数据取自Percival和Walden(2000),第125页(数据最初由华盛顿大学William Constantine和Per Reinhall提供)。

负载wecgt =(0:元素个数(wecg) 1) / 180;西弗吉尼亚州=“sym6”;情节(t, wecg)网格标题(['信号长度= 'num2str(元素个数(wecg))))包含(“时间(s)”) ylabel (“振幅”

图中包含一个axes对象。标题为Signal Length = 2048的axes对象包含一个类型为line的对象。

取信号的MODWT。

西弗吉尼亚州wtecg = modwt (wecg);

输入数据是函数的样本 f x 评估在 N 时间点。该函数可以表示为缩放函数的线性组合 ϕ x 和小波 ψ x 在不同的尺度和翻译上: f x k 0 N - 1 c k 2 - J 0 / 2 ϕ 2 - J 0 x - k + j 1 J 0 f j x 在哪里 f j x k 0 N - 1 d j k 2 - j / 2 ψ 2 - j x - k 而且 J 0 是小波分解的层数。第一个和是信号的粗尺度近似,而 f j x 是在连续的尺度上的细节。MODWT返回 N 系数 c k J 0 × N 细节系数 d j k 的扩张。在每一行wtecg包含不同尺度下的系数。

当取长度信号的MODWT时 N 地板上 日志 2 N 默认情况下的分解级别。每一级产生细节系数。只返回最后一级的缩放系数。在这个例子中, N 2 0 4 8 J 0 地板上 日志 2 2 0 4 8 1 1 的行数wtecg J 0 + 1 1 1 + 1 1 2

MODWT在不同的尺度和比例系数上划分能量: | | X | | 2 j 1 J 0 | | W j | | 2 + | | V J 0 | | 2 在哪里 X 是输入数据, W j 细节系数是成比例的吗 j , V J 0 为最终级标度系数。

计算每个刻度的能量,并计算它们的和。

energy_by_scales = (wtecg。^ 2,2)总和;水平= {“D1”“D2”“D3”“D4”“D5”“D6”...“D7”D8的“D9”“D10”“这里”“A11”};energy_table =表(水平,energy_by_scales);disp (energy_table)
水平energy_by_scales  _______ ________________ {' D1} 14.063 20.612{“D2”}{D3的}37.716 25.123 {D4的}{}“D5”17.437 {D6的}8.9852 1.2906 {D7的}{D8的}4.7278 {D9的}12.205 76.428 {D10的}{‘这里’}76.268 3.4192{“A11”}
energy_total = varfun (@sum energy_table (:, 2))
energy_total =表格sum_energy_by_scales  ____________________ 298.28

通过计算信号的能量,并将其与所有尺度上的能量之和进行比较,确认MODWT是节能的。

energy_ecg =总和(wecg。^ 2);马克斯(abs (energy_total.sum_energy_by_scales-energy_ecg))
ans = 7.4402平台以及

取信号的MODWTMRA。

西弗吉尼亚州mraecg = modwtmra (wtecg);

MODWTMRA返回函数的投影 f x 到各个小波子空间和最终的缩放空间上。也就是说,MODWTMRA返回 k 0 N - 1 c k 2 - J 0 / 2 ϕ 2 - J 0 x - k J 0 许多 f j x 评估在 N 时间点。在每一行mraecg是一个投影 f x 在不同的子空间上。这意味着原始信号可以通过添加所有的投影来恢复。在MODWT的情况下不是这样的。将系数相加wtecg不会恢复原来的信号。

选择一个时间点,加上投影 f x 在该时间点进行评估,并与原始信号进行比较。

time_point = 1000;abs(总和(mraecg (:, time_point)) -wecg (time_point))
ans = 3.0846 e-13

确认,与MODWT不同,MODWTMRA不是一个能量守恒变换。

energy_ecg =总和(wecg。^ 2);energy_mra_scales = (mraecg。^ 2,2)总和;energy_mra =总和(energy_mra_scales);马克斯(abs (energy_mra-energy_ecg))
ans = 115.7053

MODWTMRA是信号的零相位滤波。功能将与时间一致。通过绘制原始信号和它的一个投影来显示这一点。为了更好地说明对齐,放大。

情节(t, wecg“b”)举行:情节(t, mraecg (4),'-')举行网格传说xlim (8 [4]) (“信号”“投影”“位置”“西北”)包含(“时间(s)”) ylabel (“振幅”

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些物体代表信号、投影。

用相同尺度下的MODWT系数做一个相似的图。功能将不会与时间一致。MODWT不是输入的零相位滤波。

情节(t, wecg“b”)举行:情节(t, wtecg (4),'-')举行网格传说xlim (8 [4]) (“信号”“系数”“位置”“西北”)包含(“时间(s)”) ylabel (“振幅”

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示信号,系数。

输入参数

全部折叠

输入信号,指定为向量或矩阵。如果x是一个矢量,x必须至少有两个元素。如果x是矩阵的行维数吗x必须至少是2。

数据类型:|
复数的支持:是的

小波,指定为字符向量或字符串标量。小波必须是正交的。正交小波在小波管理器中被指定为第1类小波,wavemngr

有效的内建正交小波族是:“提单”), Beylkin (“beyl”), Coiflets (“头巾”), Daubechies (“数据库”), Fejer-Korovkin (“颗”)、哈雾(“哈雾”)、Han线性相位矩(“汉”), Morris最小带宽(“m”), Symlets (“符号”)和Vaidyanathan (“乌”).

有关每个科的小波列表,请参见wfilters.你也可以用waveinfo用小波族简称。例如,waveinfo (db).使用wavemngr(“类型”,wn来确定小波wn是正交的(返回1)。wavemngr(“类型”、“db6”)返回1。

过滤器,指定为一对偶数长度实值向量。是缩放滤波器,和是小波滤波器。滤波器必须满足正交小波的条件。的长度而且必须是相等的。看到wfilters额外的信息。不能同时指定两者wname还有一个滤波器对瞧,嗨

请注意

在执行中同意通常的惯例modwt在数值程序包中,返回的分析和合成滤波器的作用wfilters反转了modwt.看到使用尺度和小波滤波器的MODWT

数据类型:|

转换级别,指定为小于或等于的正整数地板(log2 (N)),在那里N =长度(x)如果x是向量,还是N =大小(x, 1)如果x是一个矩阵。如果未指定的,列弗默认为地板(log2 (N))

时间对齐系数逻辑,它决定了MODWT是否循环移动所有级别(尺度)的小波系数和缩放系数,以校正缩放和小波滤波器的延迟,指定为数值或逻辑1真正的)或0).利用Hess-Nielsen和Wickerhauser的“能量中心”方法来转移系数[4].如果你想将信号中的特征与小波系数时间对齐,那么移动系数是有用的。

如果你想用imodwt函数,或使用modwtmra函数,不要移动系数。在这些情况下,进行时间校准以获得逆或多分辨率分析。

数据类型:逻辑

输出参数

全部折叠

MODWT变换xw的小波系数和最终级标度系数x.如果x是一个矢量,w是一个列弗+ 1 -N矩阵。如果x是一个矩阵,w是一个列弗+ 1 -N——- - - - - -数控数组,数控列数在吗xN等于输入信号长度除非你指定“反射”边界处理,在这种情况下N是输入信号长度的两倍。的k数组的第一行,w,包含尺度2的小波系数k(小波尺度2k1)).最后,(列弗+1)第一行包含比例2的比例系数列弗

算法

MODWT的标准算法直接在时域内实现圆卷积。这种MODWT的实现在傅里叶域中进行圆卷积。通过对离散傅里叶变换的乘积进行离散傅里叶反变换(DFT)来计算j级的小波和缩放滤波器系数。乘积中的DFT是信号的DFT和j第Th级小波或尺度滤波器。

Hk而且Gk表示长度N分别为MODWT小波和缩放滤波器的DFTs。让j表示水平和N表示样本容量。

j第Th级小波滤波器定义为

1 N k 0 N 1 H j k e 2 π n k / N

在哪里

H j k H 2 j 1 k 国防部 N 0 j 2 G 2 k 国防部 N

j第一级缩放滤波器是

1 N k 0 N 1 G j k e 2 π n k / N

在哪里

G j k 0 j 1 G 2 k 国防部 N

参考文献

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

[2]珀西瓦尔,唐纳德·B和哈罗德·莫菲尔德。用小波分析沿海潮下海平面波动。美国统计协会杂志92年,没有。439(1997年9月):868-80。https://doi.org/10.1080/01621459.1997.10474042。

[3]台面,赫克托耳。“模式检测的适应小波。”在模式识别、图像分析及其应用研究进展,由阿尔贝托·桑费留和曼纽尔·拉佐编辑Cortés, 3773:933-44。柏林,海德堡:施普林格柏林,海德堡,2005。https://doi.org/10.1007/11578079_96。

[4]赫斯-尼尔森,N.和M.V.维克豪瑟。"小波与时频分析"IEEE学报84年,没有。4(1996年4月):523-40。https://doi.org/10.1109/5.488698。

扩展功能

版本历史

介绍了R2015b

Baidu
map