主要内容

icwt

连续一维小波变换逆

描述

例子

xrec= icwt (慢性疲劳综合症连续小波变换(CWT)系数矩阵的逆慢性疲劳综合症用Morlet的单积分公式。icwt假设您使用默认的解析莫尔斯(3,60)小波。这个小波的对称性为3,时间带宽为60。icwt还假设CWT使用默认的尺度。

例子

xrec= icwt (慢性疲劳综合症wname利用解析小波wname求CWT的倒数。指定的小波必须与

例子

xrec= icwt (___ffreqrange中指定的频率范围内反转CWTfreqrangef刻度到频率的转换是从

例子

xrec= icwt (___periodrange中指定的周期范围内的CWT的反转periodrangep是否从获取持续时间的数组有一个持续时间输入。的使用持续时间输入。周期范围必须不断增加并包含在

xrec= icwt (___名称=值指定一个或多个附加的名称-值参数。例如,xrec = icwt (cfs TimeBandwidth = 40, VoicesPerOctave = 20)指定每个八度40和20个声音的时间带宽乘积。

例子

全部折叠

获取语音样本的CWT,并使用默认的解析莫尔斯小波对其进行反演。

负载mtlbcfs = cwt (mtlb);xrec = icwt (cfs);

对语音样本进行连续小波变换,用凹凸小波代替默认的莫尔斯小波重构样本。

负载mtlbdt = 1 / f;t = 0: dt元素个数(mtlb) * dt-dt;

获取类。

bumpmtlb = cwt (mtlb Fs,“撞”);

得到反CWT。将信号均值加到输出中。

xrec = icwt (bumpmtlb,“撞”SignalMean =意味着(mtlb));

绘制原始信号和重建信号。

情节(t, mtlb)包含(“秒”) ylabel (“振幅”)举行情节(t, xrec“r”)举行传奇(“原始”“重建”

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些物件代表原始、重建。

如果你的电脑有声卡,你可以听到原始和重建信号。

要播放原始信号,取消后面两行注释% p = audioplayer(mtlb,Fs);% (p)玩要播放重构的信号,取消下两行注释% px = audioplayer(xrec,Fs);% (px)玩

从CWT中提取信息,重构神户地震数据的频域近似。采样频率为1hz。提取的信息对应于[0.030 - 0.070]Hz范围内的频率。

负载科比

获取类。然后求出CWT的逆,并将信号均值加回到重构数据中。CWT不保留信号均值。

(慢性疲劳综合症,f) = cwt(科比,1);xrec = icwt(cfs,[],f,[0.030 0.070],SignalMean=mean(kobe));

绘制原始数据和重构数据。

次要情节(2,1,1)情节(科比)网格标题(“原始数据”) ylabel (“振幅”)轴次要情节(2,1,2)情节(xrec)网格标题(带通滤波重建[0.030 0.070]Hz);包含(“时间(s)”) ylabel (“振幅”)轴

图中包含2个轴对象。标题为Original Data的axis对象1包含一个类型为line的对象。标题为带通滤波重构[0.030 0.070]Hz的Axes对象2包含一个类型为line的对象。

利用连续小波反变换重建了基于2 ~ 8年周期的厄尔尼诺数据的近似。

加载厄尔尼诺数据并获得其CWT。数据每月抽样一次。若要获得以年为单位的周期,请指定采样间隔为1/12年。

负载ninoairdata[cfs,时期]= cwt(尼诺,年(1/12));

获得2 - 8年期间的反CWT。

Xrec = icwt(cfs,[],period,[years(2) years(8)]);

绘制重构数据的CWT,并将其与原始数据的CWT进行比较。

类(尼诺,年(1/12))
ans = proplistener带有属性:对象:{[1x1 Axes]}源:{[1x1 matlab.graphics.internal.GraphicsMetaProperty]} EventName: 'PostSet'回调:@changeYTickLabels Enabled: 1递归:0
标题(“原始数据”

图中包含一个axes对象。标题为Original Data的axis对象包含3个类型的对象,分别是图像、直线和区域。

类图(xrec年(1/12))
ans = proplistener带有属性:对象:{[1x1 Axes]}源:{[1x1 matlab.graphics.internal.GraphicsMetaProperty]} EventName: 'PostSet'回调:@changeYTickLabels Enabled: 1递归:0
标题(“基于2-8年周期的近似”

图中包含一个axes对象。基于2-8年周期的标题近似坐标轴对象包含图像、直线、区域3个对象。

及时将原始数据与重构数据进行比较。

图副图(2,1,1)图(datayear,nino)网格甘氨胆酸ax =;斧子。XTickLabel =;轴标题(“原始数据”)子图(2,1,2)图(数据年,xrec)网格包含(“年”)标题(“2-8年厄尔尼诺数据”

图中包含2个轴对象。标题为Original Data的axis对象1包含一个类型为line的对象。标题为El Nino Data - 2-8 Year Periods的Axes对象2包含一个类型为line的对象。

在复值数据集的连续小波变换中加入一个趋势并进行重构。

获取NPG2006数据集的CWT。

负载npg2006.matcfs = cwt (npg2006.cx);

根据数据创建一个时变趋势。

趋势= smoothdata (npg2006.cx,“movmean”, 100);

得到CWT逆,并添加趋势。绘制原始数据和重构数据。

xrec = icwt (cfs SignalMean =趋势);情节([真正的(xrec)”(npg2006.cx)])网格标题(“真正的价值”)传说(“趋势”“原始”)轴

图中包含一个axes对象。标题为Real Values的axis对象包含两个类型为line的对象。这些对象代表趋势,原创。

图图([imag(xrec)' imag(npg2006.cx)])网格标题(“虚拟价值”)传说(“趋势”“原始”)轴

图中包含一个axes对象。标题为“虚值”的axis对象包含两个类型为line的对象。这些对象代表趋势,原创。

加载心电图波形。创建一个具有周期性边界处理的CWT滤波器组,可以应用于波形。

负载wecgfb = cwtfilterbank (SignalLength =长度(wecg),边界=“周期”);

得到滤波器组中小波滤波器和尺度滤波器的双边频率响应。

psif = freqz (fb, FrequencyRange =“双侧”, IncludeLowpass = true);

使用滤波器组来获得波形的CWT。还可以得到变换的缩放系数。

[cfs, ~, ~, scalcfs] = wt (fb, wecg);

使用分析滤波器组重构输入。近似合成滤波器,或对偶框架,被用来反演变换。

[], xrecAN = icwt (cfs ScalingCoefficients = scalcfs,...AnalysisFilterBank = psif);

使用默认的Morlet单积分公式重构输入。

[], xrecSI = icwt (cfs ScalingCoefficients = scalcfs);

比较最大重构误差。

说说=规范(xrecAN -wecg正)
说说= 6.6613 e-16
errSI =规范(xrecSI -wecg正)
errSI = 0.4037

情节都重建。

subplot(2,1,1) plot([xrecAN' wecg])轴传奇(“合成过滤器”“原始”位置=“eastoutside”)副图(2,1,2)图([xrecSI' wecg])轴传奇(“单一积分”“原始”位置=“eastoutside”

图中包含2个轴对象。坐标轴对象1包含2个line类型的对象。这些对象表示合成过滤器,原始。坐标轴对象2包含两个line类型的对象。这些对象代表单一积分,原始。

输入参数

全部折叠

连续小波变换系数,用复值矩阵表示。慢性疲劳综合症的输出是函数。

如果慢性疲劳综合症为二维矩阵,icwt假设CWT是从实值信号中获得的。如果慢性疲劳综合症是一个三维矩阵,icwt假设CWT是从复值信号中获得的。对于三维矩阵,第一页慢性疲劳综合症正(逆时针)分量的CWT和第二页的慢性疲劳综合症是负(顺时针)分量。这些页面分别代表了CWT的分析和反分析部分。

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

用于反CWT的解析小波,具体为以下之一:

  • “莫尔斯”- - - - - -莫尔斯波

  • “埃莫”——Morlet小波

  • “撞”——撞小波

指定的小波必须与用于获得CWT的小波相同。默认的莫尔斯小波使用一个对称参数, γ ,即3和60的时间带宽。

CWT频率,指定为矢量。频率向量中的元素数量必须等于输入CWT系数矩阵中的行数,慢性疲劳综合症.如果您指定f,您还必须指定freqrange

数据类型:|

返回连续小波变换逆值的频率范围,指定为双元素向量或2乘2矩阵。

  • 如果慢性疲劳综合症为二维矩阵,freqrange必须是一个二元向量。

  • 如果慢性疲劳综合症是一个三维矩阵,freqrange可以是两个元素的向量或2乘2的矩阵。

    • 如果freqrange是一个矢量,icwt的正分量(解析分量)和负分量(反解析分量)在相同频率范围内反转CWT慢性疲劳综合症

    • 如果freqrange是一个2 × 2矩阵,第一行包含正部分的频率范围吗慢性疲劳综合症(第一页)和第二行包含的负部分的频率范围慢性疲劳综合症(第二页)。

对于一个向量,的元素freqrange必须严格递增并包含在频率向量的范围内f.对于一个矩阵,每一行freqrange必须严格递增和包含在的范围内ff为CWT中得到的比例-频率转换。对于复值信号的反转,可以指定一行freqrange作为一个零向量。如果第一行freqrange为零向量,在反演中只使用负数(反解析部分)。

如果您指定freqrange,您还必须指定f

例如[0 0;1/10的1/4)在频率范围内反转负(顺时针)分量(1/10 1/4).在执行反转之前,先将正(逆时针)分量设置为全零。同样的,[1/10的1/4;0 0]通过选择频率范围来反转CWT(1/10 1/4)从正(逆时针)分量,并设置负分量为全零。

数据类型:|

对应于CWT系数矩阵行的时间段慢性疲劳综合症,指定为一个向量。的输出,当CWT使用持续时间输入。

数据类型:持续时间

返回连续小波变换逆值的周期范围,指定为双元素向量或2乘2矩阵。

  • 如果慢性疲劳综合症为二维矩阵,periodrange必须是两个元素的持续时间向量。

  • 如果慢性疲劳综合症是一个三维矩阵,periodrange可以是持续时间的双元素向量,也可以是持续时间的2乘2矩阵。

    • 如果periodrange是一个持续时间的向量,icwt的正分量(解析分量)和负分量(反解析分量)在相同频率范围内反转CWT慢性疲劳综合症

    • 如果periodrange是一个2 × 2的持续时间矩阵吗?第一行包含的正部分的周期范围慢性疲劳综合症(第一页)和第二行包含的负数部分的周期范围慢性疲劳综合症(第二页)。

对于一个向量,的元素periodrange必须严格递增并包含在周期向量的范围内.的元素periodrange而且必须有相同的单位。对于一个矩阵,每一行periodrange必须严格递增并包含在周期向量p的范围内。对于复值信号的反演,可以指定一行periodrange作为零持续时间的向量。如果第一行periodrange是持续时间为零的向量,在反演中只使用负数(反解析部分)。

如果您指定periodrange,您还必须指定

例如(秒秒(0)(0);秒(1/10)秒(1/4)在周期范围内对负(顺时针)分量进行反转(秒(1/10)秒(1/4)).在执行反转之前,先将正(逆时针)分量设置为全零。同样的,(秒(1/10)秒(1/4);秒秒(0)(0))通过选择周期范围来反转CWT(1/10 1/4)从正(逆时针)分量,并设置负分量为全零。

数据类型:持续时间

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

例子:xrec = icwt (cfs,“撞”,VoicesPerOctave = 10)的逆CWT慢性疲劳综合症使用凹凸小波,每个八度10个声音。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:xrec = icwt(cfs,"WaveletParameters",[3 40],"SignalMean",sigmean)使用莫尔斯(3,40)小波和信号均值反演CWTsigmean

莫尔斯小波的时间带宽,指定为大于3小于等于120的标量。指定的time-bandwidth值必须与.假设莫尔斯小波的对称性为3。

如果您指定TimeBandwidth,您不能指定WaveletParameters

方法,则此语法无效AnalysisFilterBank名称-值参数。

数据类型:|

莫尔斯小波的对称性和时间带宽,指定为双元标量向量。矢量的第一个元素是对称, γ ,第二个元素是时间带宽。指定的小波参数必须与CWT中使用的值相同。

如果您指定WaveletParameters,您不能指定TimeBandwidth

方法,则此语法无效AnalysisFilterBank名称-值参数。

数据类型:|

信号的意思是加到icwt输出,指定为标量或向量。如果信号均值是一个向量,那么它的长度必须与小波系数矩阵的列大小相同慢性疲劳综合症

  • 如果慢性疲劳综合症为二维矩阵,则信号均值必须为实值标量或向量。

  • 如果慢性疲劳综合症为三维矩阵,则信号均值必须为复值标量或向量。

因为不保留信号均值,反CWT默认为零均值信号。将非零信号均值添加到频率受限或周期受限的重构中,将零频率分量添加到重构中。

方法,则此语法无效AnalysisFilterBank名称-值参数。

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

的可选输出,在CWT逆中使用的缩放系数,指定为实值或复值向量.的长度ScalingCoefficients等于的列大小慢性疲劳综合症

  • 如果您只指定ScalingCoefficients没有AnalysisFilterBank参数时,使用单积分逼近法得到CWT的逆。

  • 如果您指定ScalingCoefficientsAnalysisFilterBank参数时,使用合成滤波器来获得反向CWT。

不能同时指定两者SignalMean而且ScalingCoefficients名称-值参数。

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

用于反转CWT的分析过滤器组,指定为矩阵。在反演过程中使用了近似合成滤波器或对偶框架。在大多数情况下,使用近似合成滤波器可以得到更精确的信号重构。如果指定分析筛选器,则忽略小波名称输入。

要使用分析过滤器,您必须使用ExtendSignal设置为同样,边界设置为“周期”cwtfilterbank.获取分析筛选器freqz滤波器组的对象函数FrequencyRange = "双侧"而且IncludeLowpass = true

数据类型:|

在转换CWT时使用的每个八度的声音数,指定为1到48之间的整数。CWT音阶使用每个八度的特定数量的声音进行离散化。每个八度的声音数必须与获得CWT时使用的值相同。

你不能指定每个八度的声音数量如果你指定了频率,f或持续时间,.方法,则此语法无效AnalysisFilterBank名称-值参数。

数据类型:|

输出参数

全部折叠

逆1维连续小波变换,作为实值或复值行向量返回。

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

更多关于

全部折叠

连续小波变换逆-单积分公式

默认情况下,icwt基于Morlet的单积分公式的离散化版本计算逆CWT[5].有关单积分公式的理论基础的简要描述,见连续小波反变换.有关更多的理论信息,见第2.4节[6].这个积分的离散化版本在[7]

参考文献

莉莉,J. M.和S. C.奥尔海德。作为解析小波的超族的广义莫尔斯小波。IEEE信号处理汇刊60,不。11(2012年11月):6036-41。https://doi.org/10.1109/TSP.2012.2210890。

莉莉,j.m.,和S.C.奥尔海德。解析小波的高阶性质。IEEE信号处理汇刊57岁的没有。1(2009年1月):146-60。https://doi.org/10.1109/TSP.2008.2007607。

[3]莉莉,j.m。jLab: Matlab的数据分析包1.6.2版本。2016.http://www.jmlilly.net/jmlsoft.html。

莉莉,j.m和j.c。Gascard。时变椭圆信号的小波脊诊断及其在海洋涡旋中的应用。地球物理学中的非线性过程13日,没有。5(2006年9月14日):467-83。https://doi.org/10.5194/npg - 13 - 467 - 2006。

[5] Duval-Destin, M. A. Muschietti, B. Torresani。连续小波分解,多分辨率和对比分析。数学分析杂志24日,没有。3(1993年5月):739-55。https://doi.org/10.1137/0524045。

[6] Daubechies,英格丽德。关于小波的十讲.CBMS-NSF应用数学区域会议系列61。费城,宾夕法尼亚州:工业与应用数学学会,1992年。

[7]托伦斯,克里斯托弗,吉尔伯特P.康波。《小波分析实用指南》美国气象学会公报79年,没有。1(1998年1月1日):61-78。https://doi.org/10.1175/1520 - 0477 (1998) 079 < 0061: APGTWA > 2.0.CO; 2。

Holschneider, M.和Tchamitchian博士。" Riemann '不可微'函数的点分析"发明Mathematicae105年,没有。1(1991年12月):157-75。https://doi.org/10.1007/BF01232261。

扩展功能

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

版本历史

介绍了R2016b

全部展开

Baidu
map