主要内容

wt

带滤波器组的连续小波变换

描述

例子

慢性疲劳综合症= wt (神奇动物x返回信号的连续小波变换(CWT)系数x,使用神奇动物,一个CWT滤波器组。x是实值或复值向量。x必须有至少4个样本。如果x实值,慢性疲劳综合症是一个二维矩阵,其中每一行对应一个尺度。的列大小慢性疲劳综合症等于的长度x.如果x是复数,慢性疲劳综合症为三维数组,其中第一页为正标度(解析部分或逆时针分量)的CWT,第二页为负标度(反解析部分或顺时针分量)的CWT。

慢性疲劳综合症f] = wt(神奇动物x返回频率f对应于的刻度(行)慢性疲劳综合症如果SamplingPeriod属性没有在CWT滤波器组中指定神奇动物.如果不指定采样频率,f在循环/样本中。

慢性疲劳综合症f细胞色素氧化酶] = wt(神奇动物x返回影响锥细胞色素氧化酶CWT。细胞色素氧化酶是同一个单位f.如果输入x是复杂的,细胞色素氧化酶的两页都适用慢性疲劳综合症

例子

慢性疲劳综合症f细胞色素氧化酶scalcfs] = wt(神奇动物x返回缩放系数。scalcfs对于小波变换。

慢性疲劳综合症p] = wt(神奇动物x返回句点p对应于的刻度(行)慢性疲劳综合症如果你在CWT滤波器组中指定一个采样周期。p与duration标量采样周期具有相同的单位和格式。

慢性疲劳综合症p细胞色素氧化酶] = wt(神奇动物x返回影响锥细胞色素氧化酶CWT的周期。细胞色素氧化酶具有与采样周期相同的格式属性的持续时间数组。如果输入x是复杂的,细胞色素氧化酶的两页都适用慢性疲劳综合症

慢性疲劳综合症p细胞色素氧化酶scalcfs] = wt(神奇动物x返回缩放系数。scalcfs对于小波变换。

例子

全部折叠

加载噪声多普勒信号。创建一个可应用于信号的CWT滤波器组。

负载noisdoppFb = cwtfilterbank(“SignalLength”元素个数(noisdopp));

利用滤波器组对信号进行连续小波变换。

[cfs,f,coi] = wt(fb,noisdopp);

绘制CWT尺度图,包括影响锥。

T = 0:数字(噪声dopp)-1;pcolor (t、f、abs (cfs))阴影集(gca),“YScale”“日志”)举行情节(t,硬币,“w -”“线宽”(3)包含的时间(样本)) ylabel (归一化频率(周期/样本))标题(量图的

图中包含一个轴对象。标题为scalalogram的axis对象包含两个类型为surface、line的对象。

创建并绘制在1000hz采样的信号。创建一个可用于信号的CWT滤波器组。由于信号是周期性的,将滤波器组的边界扩展属性设置为“周期”

Fs = 1000;t = 0:1/Fs:1-1/Fs;Sig = 3*sin(2* *20*t) + cos(2* *2*t);Fb = cwtfilterbank(“SignalLength”、长度(团体),...“SamplingFrequency”Fs,...“边界”“周期”);情节(t, sig)包含(的时间(秒))标题(“信号”

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

取信号的CWT。返回小波系数和缩放系数。

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

用两种方法重建信号。首先使用信号的平均值,然后使用比例系数。绘制原始信号与两次重建信号之间的差异。

Xrec0 = icwt(cfs,“SignalMean”,意味着(sig));Xrec1 = icwt(cfs,“ScalingCoefficients”, scalcfs);sig-xrec0情节(t)情节(t, sig-xrec1)网格传奇(“使用意味着(sig)”“使用scalcfs”)标题(“重建之间的差异”

图中包含一个轴对象。标题为Difference Between Reconstructions的axes对象包含2个类型为line的对象。这些对象表示Using mean(sig), Using scalcfs。

缩放系数的结果在一个明显更准确的重建。为了研究显著改善的来源,创建由原始信号的2hz分量组成的第二个信号。将比例系数与2hz信号进行比较。缩放系数和2hz信号实际上是相同的。使用缩放系数有助于重建,因为2hz分量不能用具有此采样频率和长度的小波表示。

图sig2hz = cos(2*pi*2*t);sig2hz情节(t)情节(t, scalcfs)网格标题(“比较2赫兹分量的比例系数”)包含(的时间(秒))传说(“2hz组件”的比例系数

图中包含一个轴对象。标题为“比较比例系数与2hz组件”的axis对象包含2个类型为line的对象。这些对象代表2hz分量,缩放系数。

这个例子展示了在计算多个时间序列的CWT时,如何使用CWT滤波器组来提高计算效率。

创建一个100 × 1024的矩阵x.创建一个适用于1024个样本信号的CWT滤波器组。

X = randn(100,1024);Fb = cwtfilterbank;

使用以获得1024个样本的信号的CWT。创建一个3d数组,可以包含100个信号的CWT系数,每个信号有1024个样本。

CFS = cwt(x(1,:));Res = 0 (100,size(cfs,1),size(cfs,2));

使用函数,取矩阵每一行的CWTx.显示运行时间。

抽搐K =1:10 res(K,:,:) = cwt(x(K,:));结束toc
运行时间为0.928160秒。

现在使用wt的对象函数取每一行的CWTx.显示运行时间。

抽搐K =1:10 res(K,:,:) = wt(fb,x(K,:));结束toc
运行时间为0.393524秒。

输入参数

全部折叠

连续小波变换(CWT)滤波器组,指定为cwtfilterbank对象。

输入信号,指定为实值或复值向量。x必须至少有四个样本。

数据类型:|
复数支持:金宝app是的

输出参数

全部折叠

连续小波变换,以矩阵或三维复值数组的形式返回。如果x实值,慢性疲劳综合症是一个二维矩阵,其中每一行对应一个尺度。的列大小慢性疲劳综合症等于的长度x.如果x是复数,慢性疲劳综合症为三维数组,其中第一页为正标度(解析部分或逆时针分量)的CWT,第二页为负标度(反解析部分或顺时针分量)的CWT。

数据类型:|

频率,作为向量返回,对应于的刻度(行)慢性疲劳综合症如果“SamplingPeriod”中未指定。神奇动物.如果你指定一个采样频率,f单位是赫兹。如果不指定频率,f在循环/样本中。

数据类型:

周期,作为持续时间数组返回,对应于的刻度(行)慢性疲劳综合症如果神奇动物具有指定的采样周期。p与duration标量采样周期具有相同的单位和格式。

数据类型:持续时间

CWT的影响锥,以实数数组或持续时间数组的形式返回。影响锥表示在CWT中发生边缘效应的位置。如果你指定一个采样频率,细胞色素氧化酶一个实数数组的单位是否与f.如果你指定一个采样周期,细胞色素氧化酶具有与采样周期相同的格式属性的持续时间数组。由于边缘效应,请减少对影响范围外或重叠区域的信任。

有关其他信息,请参见边界效应和影响锥

数据类型:|持续时间

小波变换的缩放系数,作为与小波变换长度相同的矢量返回x.如果x实值,scalcfs是真正有价值的。如果x是复数,scalcfs是复数。

数据类型:

提示

  • 第一次使用滤波器组取信号的CWT时,小波滤波器被构造为具有与信号相同的数据类型。当您将相同的过滤器组应用于具有不同数据类型的信号时,将生成警告消息。更改数据类型需要重新设计或更改过滤器组的精度。为了获得最佳性能,请使用一致的数据类型。

  • 当执行多个cwt时,例如在for循环中,建议的工作流是首先创建一个cwtfilterbank对象,然后使用wt对象的功能。这个工作流最小化了开销并最大化了性能。看到多时间序列CWT滤波器组的应用

扩展功能

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

版本历史

在R2018a中引入