文档

modwt

最大重叠离散小波变换

语法

W = modwt(x)
W = modwt(x,wname)
w = modwt(x,Lo,Hi)
W = modwt(___列弗)
W = modwt(___、“反射”)

描述

例子

w= modwt (x返回一维实值信号的最大重叠离散小波变换(MODWT),x

例子

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

例子

w= modwt (x使用缩放滤波器,,小波滤波器,,计算MODWT。这些滤波器必须满足正交小波的条件。您不能指定而且如果你指定wname

例子

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

例子

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

例子

全部折叠

使用默认值获取心电图信号的MODWTsym4小波向下到最大水平。

负载wecg;Wtecg = modwt(wecg);

Wtecg是12 × 2048矩阵。前11行是尺度的小波系数.最后一行包含缩放系数.绘制尺度的细节(小波)系数

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

得到南方涛动指数数据的MODWT“db2”小波向下到最大水平。

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

利用Fejer-Korovkin长度8的尺度变换和小波滤波器,得到德国马克-美元汇率数据的MODWT。

负载DM_USD;[Lo,Hi] = wfilters(“fk8”);wdm = modwt(DM_USD,Lo,Hi);

获得按比例的心电信号的MODWT,对应第四级。使用默认值“sym4”小波。

负载wecg;Wtecg = modwt(wecg,4);

wtecg是一个5 × 2048矩阵。行大小为L+1,在本例中,级别(L)为4。列的大小与输入样本的数量匹配。

利用反射边界处理得到心电信号的MODWT。使用默认值“sym4”小波变换,得到下至4级的变换。

负载wecg;Wtecg = modwt(wecg,4,“反射”);

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

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

选择“sym6”小波。加载并绘制心电图波形。心电图数据来自MIT-BIH心律失常数据库。

负载mit200西弗吉尼亚州=“sym6”;情节(ecgsig)网格标题(['信号长度= 'num2str(长度(ecgsig))))

取信号的MODWT。

Wtecg = modwt(ecgsig,wv);

输入数据是函数的样本评估在-很多时间点。该函数可以表示为缩放函数的线性组合和小波在不同的尺度和翻译上:在哪里而且是小波分解的层数。第一个和是信号的粗尺度近似,而是在连续的尺度上的细节。MODWT返回许多系数-多细节系数膨胀的。每一行wtecg包含不同尺度下的系数。

当取长度信号的MODWT时,有-多个分解级别(默认情况下)。每一级产生细节系数。只返回最后一级的缩放系数。在这个例子中,since的行数wtecg

MODWT在不同的尺度和比例系数上划分能量:在哪里是输入数据,细节系数是成比例的吗,为最终级标度系数。

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

Energy_by_scales = sum(wtecg.^2,2);级别= {“D1”“D2”“D3”“D4”“D5”“D6”“D7”D8的“D9”“D10”“这里”“D12”“D13”首次购物的};energy_table =表(能级,energy_by_scales);disp (energy_table)
水平energy_by_scales  ______ ________________ ' D1‘0.31592’D2‘2.6504’D3‘28.802’D4‘159.37’D5‘300.5’D6‘431.33’D7‘444.93’D8 D9“182.37”“45.381”D10这里“11.578”“19.809”D12 D13“4.5406”“3.308”A13“192.46
Energy_total = varfun(@sum,energy_table(:,2))
energy_total =1×1表Sum_energy_by_scales ____________________ 1827.3

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

Energy_ecg = sum(ecgsig.^2);马克斯(abs (energy_total.sum_energy_by_scales-energy_ecg))
Ans = 4.0873e-09

取信号的MODWTMRA。

Mraecg = modwtmra(wtecg,wv);

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

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

Time_point = 1000;abs(总和(mraecg (:, time_point)) -ecgsig (time_point))
Ans = 3.1009e-13

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

Energy_ecg = sum(ecgsig.^2);Energy_mra_scales = sum(mraecg.^2,2);Energy_mra = sum(energy_mra_scales);马克斯(abs (energy_mra-energy_ecg))
Ans = 534.7949

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

图(ecgsig)保持:情节(mraecg (4),“- - -”网格)Xlim([4000 5000])图例(“信号”“投影”

用相同尺度下的MODWT系数做一个相似的图。注意,特性不会与时间对齐。MODWT是输入的零相位滤波。

图(ecgsig)保持:情节(wtecg (4),“- - -”网格)Xlim([4000 5000])图例(“信号”“系数”

参考文献

戈德伯格、l.a.n.阿马拉尔、l.g lass、j.m.豪斯多夫、p.ch Ivanov、r.g. Mark、j.e.米耶图斯、g.b.穆迪、彭c - k、h.e.斯坦利。PhysioBank, PhysioToolkit和PhysioNet:复杂生理信号新研究资源的组成部分。发行量101。Vol.23, e215-e220, 2000。http://circ.ahajournals.org/cgi/content/full/101/23/e215

穆迪。“评估心电图分析仪”。http://www.physionet.org/physiotools/wfdb/doc/wag-src/eval0.tex

穆迪·g·B, r·g·马克。“麻省理工-波黑心律失常数据库的影响。”医学和生物IEEE工程师。2001年第20卷第3期),第45-50页。

输入参数

全部折叠

输入信号,指定为行或列向量。x必须至少有两个元素。

默认情况下,modwt计算小波变换到水平地板(log2(长度(x)))使用具有四个消失矩的Daubechies最小不对称小波(“sym4”)和定期边界处理。

数据类型:

分析小波,指定为与正交小波对应的字符向量。有效的正交小波族以以下字符向量之一开始,后面跟着一个整数,N,表示消失时刻数,例如,信谊N.为“颗”N是系数的个数。

  • “哈雾”——哈尔小波

  • “数据库”- Daubechies的小波

  • “符号”-符号小波

  • “头巾”- Coiflets小波

  • “颗”- Fejer-Korovkin小波

要检查你的小波是否是正交的,使用wavemngr(“类型”,wname)并验证它是否返回1作为小波类型。确定的有效值N,使用waveinfo,例如,waveinfo (db)

缩放过滤器,指定为偶数长度实值向量。必须满足生成正交标度函数所需的条件。你可以指定除非你不指定wname

小波滤波器,指定为偶数长度实值向量。必须满足生成正交小波的必要条件。你可以指定除非你不指定wname

转换级别,指定为小于或等于的正整数地板(log2(长度(x)))

输出参数

全部折叠

小波变换,返回为l+ 1 -N包含小波系数和最终级标度系数的矩阵。l为MODWT的水平。N等于输入信号长度除非你指定“反射”边界处理,在这种情况下N是输入信号长度的两倍。的k第一行w包含尺度2的小波系数k(小波尺度2k-1)).最后,(l+1)第一行w包含刻度2的缩放系数l

算法

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

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

jth水平小波滤波器定义为

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

jth电平缩放滤波器为

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]珀西瓦尔,D. B.和A. T.瓦尔登。时间序列分析的小波方法。英国剑桥:剑桥大学出版社,2000年。

[2]珀西瓦尔,D. B.和H. O.莫菲特。用小波分析潮下海岸海平面波动美国统计协会杂志。第92卷,868-880页。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

在R2015b中引入

这个话题有帮助吗?