主要内容

cwtfilterbank

连续小波变换滤波器组

描述

使用cwtfilterbank创建一个连续小波变换(CWT)滤波器组。默认的过滤器银行中使用小波分析莫尔斯(60)小波。你可以改变时间带宽和对称莫尔斯小波参数,为您的需求调整莫尔斯波。您还可以使用分析Morlet(伽柏)小波或凹凸小波。当多个信号时频分析,为提高计算效率,您可以预先执行过滤一次,然后通过过滤器银行作为输入。滤波器组,你可以想象小波在时间和频率。您还可以创建过滤器银行特定频率或时间范围,并衡量3-dB带宽。您可以确定质量因素的小波滤波器组。

创建

描述

例子

神奇动物= cwtfilterbank创建了一个连续小波变换(CWT)滤波器组神奇动物。过滤器是规范化,以便所有通频带的峰值大小约等于2。默认滤波器组是专为有1024个样本的一个信号。默认的过滤器银行使用分析莫尔斯(60)小波。过滤器银行使用默认的尺度:大约10每倍频程小波带通滤波器(10每八度的声音)。级的最高频率通带是这样设计的,落在奈奎斯特频率的峰值的一半。

实现,CWT使用L1正常化。L1正常化,等于振幅振荡组件在不同尺度大小的CWT平等。L1的标准化提供了一个更准确的表示信号。同意振荡的振幅组件对应的小波系数的振幅。看到正弦信号和小波系数振幅

神奇动物可以用作输入

例子

神奇动物= cwtfilterbank (名称=值)创建一个CWT滤波器组神奇动物属性使用一个或多个名称参数。属性可以在任何顺序指定Name1 = Value1,…,以=家

请注意

你不能改变一个现有的滤波器组的属性值。例如,如果你有一个过滤器银行神奇动物与一个SignalLength2000年,您必须创建第二个过滤器银行fb2处理2001个样本的一个信号。你不能指定一个不同的SignalLength神奇动物

属性

全部展开

长度的信号,指定为一个正整数。信号必须至少有四个样品。

例子:fb = cwtfilterbank (SignalLength = 1700)

数据类型:

分析中使用的小波滤波器组,指定为“莫尔斯”,“埃莫”,或“撞”。这些字符串指定分析莫尔斯,Morlet(伽柏),分别和凹凸小波。默认小波分析莫尔斯(60)小波。

默认情况下,莫尔斯小波,频率响应衰减到50%的峰值大小在奈奎斯特。Morlet和凹凸小波,频率响应衰减到10%的峰值大小。你可以改变衰减百分比通过设置过滤器银行FrequencyLimits财产。看到cwtfreqbounds

莫尔斯小波,你还可以使用的参数化小波TimeBandwidthWaveletParameters属性。

例子:fb = cwtfilterbank (SignalLength = 1700,小波=“撞”)

每个八度的声音数类的使用,指定为一个整数1 - 48。CWT尺度离散使用指定的数量每八度的声音。小波能量传播的频率和时间自动决定了最小和最大尺度。

您可以使用cwtfreqbounds确定小波滤波器组的频率限制。限制取决于频率等参数小波的能量分散,数量每八度的声音信号长度和采样频率。

数据类型:|

采样频率在赫兹,指定为一个积极的标量。如果未指定的,频率周期/样本和奈奎斯特频率½。指定在时间尺度,使用SamplingPeriodPeriodLimits名称-值参数。

你不能指定SamplingFrequencySamplingPeriod属性。

例子:fb = cwtfilterbank (SamplingFrequency = 5,小波=“阿莫”)

数据类型:|

频率范围的小波滤波器组,指定为一个双元素向量用积极严格增加条目。

  • 第一个元素指定了最低峰值频率通带。频率必须大于或等于小波的峰值频率的乘积在赫兹和两个时间标准差除以信号长度。

  • 第二个元素指定了最高峰通频带的频率。高频极限必须小于或等于尼奎斯特。

  • 以2为底的对数的比值高频率限制,fMax低频率的限制,fMin必须大于或等于1 / NV,在那里NV是每八度的声音:

    日志2(fMax / fMin)≥1 / NV

如果您指定频率限制在允许的范围内,cwtfilterbank这样就限制的最小值和最大值。使用cwtfreqbounds确定不同参数化的小波变换频率限制。

如果使用滤波器组的采样周期,你不能指定FrequencyLimits财产。

例子:如果fb = cwtfilterbank (SignalLength = 1000, SamplingFrequency = 1000, FrequencyLimits = (90 - 100)),然后日志2(100/90)≥1 / fb.VoicesPerOctave

数据类型:

采样周期,指定为一个标量。你不能指定SamplingFrequencySamplingPeriod属性。

例子:fb = cwtfilterbank (SamplingPeriod =秒(0.5))

数据类型:持续时间

时间限制的小波滤波器组,指定为一个双元素持续时间用积极严格增加条目数组。

  • 的第一个元素PeriodLimits指定最大的通带频率和峰值必须大于或等于两倍SamplingPeriod

  • 最长时间不能超过信号长度除以两个时间的乘积标准差小波和小波的峰值频率。

  • 以2为底的对数的比值最低时期,minP最大的时期,maxP必须小于或等于1 / NV,在那里NV是每八度的声音:

    日志2(minP / maxP)≤1 / NV

如果您指定时间限制在允许的范围内,cwtfilterbank这样就限制的最小值和最大值。使用cwtfreqbounds确定时间限制为不同参数化的小波变换。

如果使用滤波器组的采样频率,你不能指定PeriodLimits财产。

例子:如果fb = cwtfilterbank (SignalLength = 1000, SamplingPeriod =秒(0.1),PeriodLimits =(秒(0.2)秒(3))),然后日志2(0.2 / 3)≤1 / fb.VoicesPerOctave

数据类型:持续时间

莫尔斯波的时间带宽积,指定为一个积极的标量大于或等于3和小于或等于120。莫尔斯波的对称性(γ)固定在3。此属性时才有效小波“莫尔斯”

时间带宽积越大,越分散小波在时间和更窄的小波的频率。莫尔斯的标准差小波在时间大约是√TimeBandwidth / 2)。标准差的频率大约是1/2×√2 / TimeBandwidth。看到广义莫尔斯和分析Morlet小波

TimeBandwidthWaveletParameters属性不能被指定。

的符号莫尔斯小波,TimeBandwidthP2

例子:“TimeBandwidth”, 20

数据类型:

莫尔斯小波参数,指定为一个双元素向量。第一个元素是对称参数(γ),必须大于或等于1。第二个元素是时间带宽积,它必须大于或等于γ。γ的时间带宽积的比例不能超过40。

γ= 3时,莫尔斯在频域小波是完全对称的。偏态等于0。γ的值大于3导致正偏态,而γ的值小于3导致负偏态。

有关更多信息,请参见莫尔斯小波

WaveletParametersTimeBandwidth都不能指定名称参数。

例子:fb = cwtfilterbank (WaveletParameters = [4, 20])

信号的边界延伸,指定为“反射”“周期”。决定如何处理数据的边界。

请注意

如果你打算反CWT使用双框架,或近似合成过滤器、集边界“周期”

例子:fb = cwtfilterbank(边界=“周期”)

对象的功能

wt 连续小波变换滤波器组
freqz CWT滤波器频率响应
timeSpectrum 上小波频谱
scaleSpectrum Scale-averaged小波频谱
小波 CWT银行时域小波滤波器
尺度 CWT滤波器组尺度
wavelet金宝appsupport CWT滤波器组时间支持金宝app
qfactor CWT滤波器组质量因素
powerbw CWT滤波器组3 dB带宽
centerFrequencies CWT滤波器组带通中心频率
centerPeriods CWT滤波器组带通中心

例子

全部折叠

创建一个连续小波变换滤波器组。

fb = cwtfilterbank
fb = cwtfilterbank属性:VoicesPerOctave: 10小波:“莫尔斯”SamplingFrequency: 1 SamplingPeriod: [] PeriodLimits: [] SignalLength: 1024 FrequencyLimits: [] TimeBandwidth: 60 WaveletParameters:[]边界:“反射”

级的频率响应。

freqz(神奇动物)

图包含一个坐标轴对象。坐标轴对象标题CWT滤波器组,包含归一化频率(周期/样本),ylabel级包含71行类型的对象。

创建两个正弦波16 - 64赫兹的频率。数据采样在1000赫兹。画出信号。

Fs = 1 e3;t = 0:1 / Fs: 1 - 1 / f;x = cos(2 *π* 64 * t) * (t > = 0.1 & t < 0.3) +罪(2 *π* 16 * t) * (t > = 0.5 & t < 0.9);情节(t, x)标题(“信号”)包含(“时间(s)”)ylabel (“振幅”)

图包含一个坐标轴对象。坐标轴对象与标题信号,包含时间(s), ylabel振幅包含一个类型的对象。

创建一个类滤波器组的信号。图中的小波滤波器的频率响应。

fb = cwtfilterbank (SignalLength =元素个数(t) SamplingFrequency = Fs);图freqz (fb)标题(“频率响应-莫尔斯(60)小波”)

图包含一个坐标轴对象。坐标轴对象与标题频率响应-莫尔斯(60)小波,包含频率(赫兹),ylabel级包含71行类型的对象。

分析莫尔斯(60)小波是默认的小波滤波器组。小波时间带宽积等于60。创建第二个过滤器银行相同的银行,而是第一个过滤器使用分析莫尔斯(3、5)小波。情节第二的小波滤波器的频率响应。

fb3x5 = cwtfilterbank (SignalLength =元素个数(t) SamplingFrequency = Fs,TimeBandwidth = 5);图freqz (fb3x5)标题(“频率响应-莫尔斯(3、5)小波”)

图包含一个坐标轴对象。坐标轴标题频率响应对象——莫尔斯(3、5)小波,包含频率(赫兹),ylabel级包含96行类型的对象。

观察到的频率响应宽比第一个过滤器银行。莫尔斯(60)小波是本地化的频率比莫尔斯(3、5)小波。每个过滤器银行适用于信号和情节产生的量图。观察到莫尔斯(60)小波具有更好的频率分辨率比莫尔斯(3、5)小波。

图类(x, FilterBank = fb)标题(”级量图-莫尔斯(60)”)

图包含一个坐标轴对象。坐标轴对象与标题级量图-莫尔斯(60),包含时间(ms), ylabel频率(赫兹)包含3图像类型的对象,线,区域。

图类(x, FilterBank = fb3x5)标题(“级量图-莫尔斯(3、5)”)

图包含一个坐标轴对象。坐标轴对象与标题级量图-莫尔斯(3、5),包含时间(ms), ylabel频率(赫兹)包含3图像类型的对象,线,区域。

这个例子表明,振幅的振荡分量信号的振幅同意对应的小波系数。

创建一个信号由两个正弦曲线不相交的支持。金宝app一个正弦信号有32个赫兹的频率和振幅等于1。另一个正弦信号的频率为64赫兹和振幅等于2。一秒信号采样的1000赫兹。画出信号。

frq1 = 32;amp1 = 1;frq2 = 64;amp2 = 2;Fs = 1 e3;t = 0:1 / Fs: 1;x = amp1 * sin(2 *π* frq1 * t) * (t > = 0.1 & t < 0.3) +amp2 *罪(2 *π* frq2 * t) * (t > 0.6 & t < 0.9);情节(t, x)网格包含(“时间(sec)”)ylabel (“振幅”)标题(“信号”)

图包含一个坐标轴对象。坐标轴对象与标题信号,包含时间(秒),ylabel振幅包含一个类型的对象。

创建一个类滤波器组可以应用到信号。自已知信号分量的频率,滤波器的频率限制银行一个狭窄的范围,包括已知的频率。确认范围、大小频率响应滤波器组的阴谋。

fb = cwtfilterbank (SignalLength =元素个数(x) SamplingFrequency = Fs,FrequencyLimits = [100]);freqz(神奇动物)

图包含一个坐标轴对象。坐标轴对象标题CWT滤波器组,包含频率(赫兹),ylabel级包含24行类型的对象。

使用和过滤器银行量图绘制的信号。

类(x, FilterBank = fb)

图包含一个坐标轴对象。坐标轴对象与标题级量图,包含时间(秒),ylabel频率(赫兹)包含3图像类型的对象,线,区域。

使用游标数据证实了小波系数的振幅基本上是等于正弦分量的振幅。结果应该类似于下面的图。

这个例子展示了如何改变时间带宽参数的广义小波近似分析Morlet莫尔斯波。

莫尔斯广义小波是完全解析小波的一个家庭。莫尔斯小波有两个参数,对称和时间带宽积。你可以改变这些参数获取解析小波具有不同的属性和行为。有关更多信息,请参见莫尔斯小波和引用。

加载地震仪数据记录在1995年的神户大地震。数据是地震仪(垂直加速度,海里/ sq.sec)测量记录在塔斯马尼亚大学,霍巴特,澳大利亚1995年1月16日开始20:56:51 (GMT)以1秒的间隔和持续的51分钟。创建一个类过滤器银行可以应用到数据的默认设置。使用滤波器组生成量图。

负载科比fb = cwtfilterbank (SignalLength =元素个数(科比),SamplingFrequency = 1);类(科比,FilterBank = fb)

图包含一个坐标轴对象。坐标轴对象与标题级量图,包含时间(分钟),ylabel频率(mHz)包含3图像类型的对象,线,区域。

小波系数的大小在100 mHz的频率范围从10 mHz。创建一个新的滤波器银行频率限制设置这些值。生成量图。

fb2 = cwtfilterbank (SignalLength =元素个数(科比),SamplingFrequency = 1,FrequencyLimits =[1依照1 e 1]);类(科比,FilterBank = fb2)标题(“默认莫尔斯(60)小波”)

图包含一个坐标轴对象。坐标轴对象与标题默认莫尔斯(60)小波,包含时间(分钟),ylabel频率(mHz)包含3图像类型的对象,线,区域。

默认情况下,cwtfilterbank使用莫尔斯(60)小波。创建一个使用分析Morlet小波滤波器组具有相同频率的限制。生成一个量图,并与生成的量图莫尔斯(60)小波。

fbMorlet = cwtfilterbank (SignalLength =元素个数(科比),SamplingFrequency = 1,FrequencyLimits =(1)依照1 e 1),小波=“埃莫”);类(科比,FilterBank = fbMorlet)标题(“分析Morlet小波”)

图包含一个坐标轴对象。坐标轴标题Morlet小波分析对象,包含时间(分钟),ylabel频率(mHz)包含3图像类型的对象,线,区域。

Morlet小波频率也不是本地化(60)莫尔斯波。然而,通过不同时间带宽积,您可以创建一个摩尔斯小波属性类似于Morlet小波。

创建一个使用莫尔斯小波滤波器组的时间带宽值30[2]如上所述,频率限制。生成的量图地震仪数据。注意有涂在Morlet频率几乎相同的结果。

fbMorse = cwtfilterbank (SignalLength =元素个数(科比),SamplingFrequency = 1,FrequencyLimits =(1)依照1 e 1),TimeBandwidth = 30);类(科比,FilterBank = fbMorse)标题(“莫尔斯(30)”)

图包含一个坐标轴对象。坐标轴对象与标题莫尔斯(30),包含时间(分钟),ylabel频率(mHz)包含3图像类型的对象,线,区域。

现在检查相关的小波fbMorletfbMorse滤波器。从这两种滤波器,得到小波中心频率,滤波器频率响应和时域小波。确认中心频率几乎是相同的。

cfMorlet = centerFrequencies (fbMorlet);[frMorlet, fMorlet] = freqz (fbMorlet);[wvMorlet, tMorlet] =小波(fbMorlet);cfMorse = centerFrequencies (fbMorse);[frMorse, fMorse] = freqz (fbMorse);[wvMorse, tMorse] =小波(fbMorse);disp ([“数量的中心频率:“num2str(长度(cfMorlet))));
34“中心频率的数字:“
disp ([“最大的区别:num2str (max (abs (cfMorlet-cfMorse)))));
“2.7756 e-17“最大的区别:

每个包含相同数量的小波滤波器组。选择一个中心频率,阴谋相关滤波器从每个滤波器的频率响应。确认反应几乎是相同的。

西弗吉尼亚州= 13;图绘制(fMorlet frMorlet(西弗吉尼亚州,:));持有情节(fMorse frMorse(西弗吉尼亚州,:));网格持有标题(“频率响应”)包含(“频率”)ylabel (“振幅”)传说(“Morlet”,“莫尔斯(30)”)

图包含一个坐标轴对象。坐标轴对象标题频率响应,包含频率、振幅ylabel包含2线类型的对象。这些对象代表Morlet,莫尔斯(30)。

情节的时域小波中心频率相同。确认他们是几乎相同的。

图次要情节(2,1,1)情节(tMorlet,实际(wvMorlet(西弗吉尼亚州,:)))情节(tMorse,实际(wvMorse(西弗吉尼亚州,:)))网格持有标题(“真正的”)传说(“Morlet”,“莫尔斯(30)”)xlim(100年[-100])次要情节(2,1,2)情节(tMorlet,图像放大(wvMorlet(西弗吉尼亚州,:)))情节(tMorse图像放大(wvMorse(西弗吉尼亚州,:)))网格持有标题(“虚”)传说(“Morlet”,“莫尔斯(30)”)xlim(100年[-100])

图包含2轴对象。坐标轴对象1 2标题真正包含的对象类型。这些对象代表Morlet,莫尔斯(30)。坐标轴对象2标题假想包含2线类型的对象。这些对象代表Morlet,莫尔斯(30)。

这个例子表明,增加时间带宽积 P 2 莫尔斯的小波创建一个小波振荡在信封。增加 P 2 缩小小波的频率。

创建两个滤波器。一个过滤器银行默认TimeBandwidth60的价值。第二个过滤器银行TimeBandwidth10的价值。的SignalLength过滤器银行是4096年样本。

sigLen = 4096;fb60 = cwtfilterbank (SignalLength = sigLen);fb10 = cwtfilterbank (SignalLength = sigLen TimeBandwidth = 10);

获得时域小波滤波器。

[psi60 t] =小波(fb60);[psi10 ~] =小波(fb10);

使用尺度函数来找到每个滤波器组的母小波。

sca60 =尺度(fb60);sca10 =尺度(fb10);[~,idx60] = min (abs (sca60-1));[~,idx10] = min (abs (sca10-1));m60 = psi60 (idx60:);m10 = psi10 (idx10:);

因为时间带宽积是较大的fb60过滤器银行验证m60小波在其包络振荡比m10小波。

次要情节(2,1,1)情节(t, abs (m60))网格持有情节(t)的(m60))情节(t,图像放大(m60))传说xlim (30 [-30]) (“abs (m60)”,“真正的(m60)”,“图像放大(m60)”)标题(“TimeBandwidth = 60”次要情节(2,1,2)情节(t, abs (m10))网格持有情节(t,实际(m10))情节(t,图像放大(m10))传说xlim (30 [-30]) (“abs (m10)”,“真正的(m10)”,“图像放大(m10)”)标题(“TimeBandwidth = 10”)

图包含2轴对象。坐标轴对象1与标题TimeBandwidth = 60包含3线类型的对象。这些对象代表abs (m60),真正的(m60),图像放大(m60)。坐标轴对象2标题TimeBandwidth = 10包含3线类型的对象。这些对象代表abs (m10),实际(m10),图像放大(m10)。

对齐的山峰m60m10级频率响应。验证的频率响应m60小波比的频率响应更窄m10小波。

cf60 = centerFrequencies (fb60);cf10 = centerFrequencies (fb10);m60cFreq = cf60 (idx60);m10cFreq = cf10 (idx10);freqShift = 2 *π* (m60cFreq-m10cFreq);x10 = m10。* exp (1 j * freqShift * (-sigLen / 2: sigLen / 2 - 1));图绘制([abs (fft (m60))。abs (fft (x10))。])网格传奇(“时间带宽= 60”,“时间带宽= 10”)标题(“频率响应级”)

图包含一个坐标轴对象。坐标轴对象与标题大小频率响应包含2线类型的对象。这些对象代表时间带宽= 60,时间带宽= 10。

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

创建一个100 -,- 1024矩阵x。创建一个类滤波器组适合信号与1024个样本。

x = randn (100、1024);fb = cwtfilterbank;

使用用默认设置获取类1024个样本的一个信号。创建一个三维数组,可以包含100信号的变换系数,每一个都有1024个样本。

cfs = cwt (x (1:));res = 0(100年,大小(cfs, 1),大小(cfs, 2));

使用函数和类的矩阵的每一行x。显示运行时间。

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

现在使用的wt目标函数的滤波器组CWT的每一行x。显示运行时间。

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

这个例子显示了如何绘制CWT量图,图次要情节。

加载语音样本。数据采样在7418赫兹。情节默认CWT量图。

负载mtlb类(mtlb Fs)

图包含一个坐标轴对象。坐标轴对象标题级量图,包含时间(ms), ylabel频率(赫兹)包含3图像类型的对象,线,区域。

获取信号的连续小波变换,变换的频率。

[cfs, frq] = cwt (mtlb Fs);

函数集在时间和频率轴量图。创建一个向量代表样本。

经颅磁刺激=(0:元素个数(mtlb) 1) / Fs;

在一个新的图,画出原始信号上次要情节和量图更低的次要情节。画出频率对数刻度。

图次要情节(2,1,1)情节(tms mtlb)轴标题(“信号量图”)包含(“时间(s)”)ylabel (“振幅”次要情节(2,1,2)表面(tms, frq abs (cfs))轴阴影包含(“时间(s)”)ylabel (“频率(赫兹)”甘氨胆酸)组(,“yscale”,“日志”)

图包含2轴对象。坐标轴对象1标题信号量图,包含时间(s), ylabel振幅包含一个类型的对象。坐标轴对象2包含时间(s), ylabel频率(赫兹)包含一个对象类型的表面。

提示

  • 你第一次使用一个过滤器银行类的一个信号,构造小波滤波器具有相同的数据类型的信号。生成一条警告消息当你应用相同的滤波器组的信号具有不同的数据类型。改变数据类型提供了重新设计的成本或改变滤波器的精度。为获得最佳性能,使用一致的数据类型。

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

引用

[1]莉莉,j . M。,和S. C. Olhede. “Generalized Morse Wavelets as a Superfamily of Analytic Wavelets.”IEEE信号处理。11号60卷,2012年,页6036 - 6041。

[2]莉莉,j . M。,和S. C. Olhede. “Higher-Order Properties of Analytic Wavelets.”IEEE信号处理。57卷,1号,2009年,页146 - 160。

[3]莉莉,j . M。为MATLAB jLab:数据分析包®1.6.2版本。2016年。http://www.jmlilly.net/jmlsoft.html。

[4]莉莉,j . m .”元素分析:一个分析的小波方法time-localized噪声时间序列事件。”英国皇家学会学报》上。卷473:20160776,2017,28页。。dx.doi.org/10.1098/rspa.2016.0776。

扩展功能

版本历史

介绍了R2018a

全部展开