主要内容

wsstridge

小波同步压缩的时频脊

描述

冰箱= wsstridge (风场从小波同步压缩变换中提取每个样本周期内的最大能量时频脊,风场.的风场的输入是的输出墓场.每个脊是一个单独的信号模式。

例子

冰箱iridge= wsstridge(风场回报iridge的行下标风场.行指数是每个样本的最大时频脊。使用iridge沿时频脊重建信号模态iwsst

___= wsstridge(风场点球频率箱之间的距离平方乘以点球价值。您可以包括以前语法中的任何输出参数。

___= wsstridge(___f的基础上,返回单位时间内以周期为单位的最大能量时频脊f输入频率矢量。f频率输出是墓场.的f输入和冰箱输出单位相同。

例子

___) = wsstridge (___名称,值返回带有一个或多个指定的附加选项的时频脊名称,值对参数。

例子

全部折叠

得到二次啁啾的小波同步压缩变换,提取出最大时频脊冰箱,和相关联的行索引iridge

加载啁啾信号并获得其同步压缩变换。

负载quadchirp;[sst,f] = wsst(quadchirp);

提取最大时频脊。

[冰箱,山脊]= wsstridge(sst);

画出同步压缩变换。

pcolor (tquad、f、abs (sst)阴影插值函数标题(“Synchrosqueezed变换”

图中包含一个轴对象。标题为synchrosqueeze Transform的axes对象包含一个类型为surface的对象。

覆盖最大能量频率脊图。

持有情节(tquad,冰箱)标题(“带叠加脊的同步压缩变换”

图中包含一个轴对象。标题为synchrosqueeze Transform with overlay Ridge的axis对象包含两个类型为surface、line的对象。

从多分量信号中提取两个最高能量模式。

得到并绘制小波同步压缩变换。

负载multicompsig;Sig = sig1+sig2;[sst,F] = wsst(sig,sampfreq);轮廓(t、F、abs (sst));包含(“时间”);ylabel (“赫兹”);网格;标题(双分量信号的同步压缩变换);

图中包含一个轴对象。标题为“双分量信号的同步压缩变换”的坐标轴对象包含一个轮廓类型的对象。

使用10的惩罚,提取两个最高能量模式并绘制结果。

[fridge,iridge] = wsstridge(sst,10,F,“NumRidges”2);持有;情节(t,冰箱,“k”“线宽”2);

图中包含一个轴对象。标题为“双分量信号的同步压缩变换”的坐标轴对象包含了等高线、直线等类型的3个对象。

输入参数

全部折叠

同步压缩变换,指定为矩阵。风场是时频矩阵,输出是墓场

频率箱缩放惩罚,指定为非负标量。这个输入通过将惩罚值乘以频率箱之间距离的平方来惩罚频率的变化。当你提取多个脊线时,或者当你在加性噪声中有一个调制分量时,使用惩罚项。惩罚项防止了发生在时频平面中最高能量区域突然变化时的频率跳变。

同步压缩变换的行对应的同步压缩变换频率,即的矢量输出墓场.频率向量中的元素数等于风场输入。

名称-值参数

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

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“NumRidges”,3

要提取的最高能量时频脊数,指定为由逗号分隔的对组成“NumRidges”一个正整数。如果这个整数大于1,wsstridge通过删除先前计算的脊线和默认的或指定的脊线,迭代确定最大能量时频脊线“NumFrequencyBins”在每个脊箱的两侧。

同步压缩变换中要移除的频率箱数风场提取多个脊时,指定为逗号分隔的对,由“NumFrequencyBins”一个正整数。这个整数必须小于或等于1轮(大小(sst) / 4).只有在提取多个脊时,才可以指定要删除的频率箱数。提取出能量最高的时频脊后,wsstridge消除了风场对应于iridge每个时间步的索引。能量是沿着时频脊延伸到两侧的iridge按指定的频率箱数进行索引。如果在任意时间步长,扩展时频脊的索引超过频箱的数量,wsstridge在第一个或最后一个频率仓截断移除区域。指定“NumFrequencyBins”,你必须指定“NumRidges”

输出参数

全部折叠

时频脊频,以矢量或矩阵形式返回。频率对应于每个时间步长的时频脊。冰箱是一个N——- - - - - -nr矩阵N时间样本(列)的数量在吗风场而且nr是脊的数目。矩阵的第一列包含中最大能量时频脊的频率风场.随后的列以能量递减的顺序包含时频脊的频率。默认情况下,冰箱包含每个样本的周期频率。

的时频脊行指数风场,作为向量或矩阵返回。中的行索引iridge对应于每个的最大时频脊的行索引风场列。iridge是一个N——- - - - - -nr矩阵N时间样本(列)的数量在吗风场,nr是脊的数目。矩阵的第一列包含中最大能量时频脊的指标风场.随后的列以能量递减的顺序包含时频脊的指数。

算法

该函数使用一种惩罚正向向后贪婪算法从时频矩阵中提取最大能量脊线。该算法通过最小化的方法找到最大时频脊ln一个在每个时间点,其中一个是矩阵的绝对值。最小化ln一个等于价值最大化一个.该算法可选地用与频率箱之间的距离成正比的惩罚来约束频率上的跳跃。

下面的示例说明了使用罚值是频率箱之间距离的两倍的时频脊算法。具体来说,就是元素之间的距离(j, k)而且(m, n)定义为(j-m)2.时频矩阵有三个频率箱和三个时间步长。矩阵列对应时间步长,矩阵行对应频率箱。第二行中的值表示正弦波。

  1. 假设你有一个矩阵:

    1 4 4 2 2 2 5 5 4

  2. 更新(1,2)元素的值,如下所示。

    1. 保持第一个时间点的值不变。从矩阵的(1,2)元素开始算法,它表示在第二个时间点的第一个频率库。bin值为4。根据第一列的值到(1,2)元素的距离来惩罚它们。对第一列应用惩罚将生成

      原值+惩罚×距离1 + 2 × 0 = 1 2 + 2 × 1 = 4 5 + 2 × 4 = 13
      1 4 4 2 13
      第一列的最小值为1,位于bin 1中。

    2. 将第1列中的最小值与当前bin值相加4。(1,2)的更新值变为5,它来自bin 1。

  3. 更新列2中其余元素的值,如下所示。

    使用与步骤2a相同的过程,使用惩罚因子重新计算原始列1的值。使用与步骤2b相同的过程获取剩余的第二列值。例如,当更新bin值为2的(2,2)元素时,对列应用惩罚会生成

    原值+惩罚×距离1 + 2 × 1 = 3 2 + 2 × 0 = 2 5 + 2 × 1 = 7
    将最小值2添加到当前bin值。(2,2)的更新值变为4。更新(3,2)元素后,矩阵为
    1 - 5(1)4 2 4(2)2 5 9(2)4
    只有第二列更新了。下标表示值来自前一列的容器的索引。

  4. 第三列重复步骤2。但是现在惩罚应用于更新的第二列。例如,当更新(1,3)元素时,惩罚为

    5 + 2 × 0 = 5 4 + 2 × 1 = 6 9 + 2 × 4 = 17
    第一个bin中的最小值5被添加到(1,3)bin值中。更新完第三列中的所有值后,最终矩阵为
    1 - 5(1)9(1)2 4(2)6(2)5个9(2)10(2)

  5. 从矩阵的最后一列开始,找出最小值。通过从当前的箱子到前一个时间点的箱子的原点,在矩阵中进行时间回溯。跟踪组成脊的路径的bin索引。该算法通过使用原始bin而不是具有最小值的bin来平滑过渡。在本例中,脊指数为222,与步骤1中所示矩阵第2行中正弦波的能量路径相匹配。

如果要提取多个脊线,该算法将从时频矩阵中删除第一个脊线,并重复此过程。

参考文献

[1] Daubechies, I., J. Lu和h . t . Wu。同步压缩小波变换:类似经验模态分解的工具。应用与计算谐波分析.Vol. 30, Number 2, 2011, pp. 243-261。

[2]塔库尔,G., E. Brevdo, N. S. fuikkar, h . t . Wu。“时变光谱分析的同步压缩算法:鲁棒性和新的古气候应用。”信号处理.第93卷,第4期,2013,第1079-1094页。

版本历史

在R2016a中引入