wsstridge
小波同步压缩的时频脊
语法
描述
例子
输入参数
输出参数
算法
该函数使用一种惩罚正向向后贪婪算法从时频矩阵中提取最大能量脊线。该算法通过最小化的方法找到最大时频脊ln一个在每个时间点,其中一个是矩阵的绝对值。最小化ln一个等于价值最大化一个.该算法可选地用与频率箱之间的距离成正比的惩罚来约束频率上的跳跃。
下面的示例说明了使用罚值是频率箱之间距离的两倍的时频脊算法。具体来说,就是元素之间的距离(j, k)
而且(m, n)
定义为(j-m)2
.时频矩阵有三个频率箱和三个时间步长。矩阵列对应时间步长,矩阵行对应频率箱。第二行中的值表示正弦波。
假设你有一个矩阵:
1 4 4 2 2 2 5 5 4
更新(1,2)元素的值,如下所示。
保持第一个时间点的值不变。从矩阵的(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值相加4。(1,2)的更新值变为5,它来自bin 1。
更新列2中其余元素的值,如下所示。
使用与步骤2a相同的过程,使用惩罚因子重新计算原始列1的值。使用与步骤2b相同的过程获取剩余的第二列值。例如,当更新bin值为2的(2,2)元素时,对列应用惩罚会生成
原值+惩罚×距离1 + 2 × 1 = 3 2 + 2 × 0 = 2 5 + 2 × 1 = 7
1 - 5(1)4 2 4(2)2 5 9(2)4
第三列重复步骤2。但是现在惩罚应用于更新的第二列。例如,当更新(1,3)元素时,惩罚为
5 + 2 × 0 = 5 4 + 2 × 1 = 6 9 + 2 × 4 = 17
1 - 5(1)9(1)2 4(2)6(2)5个9(2)10(2)
从矩阵的最后一列开始,找出最小值。通过从当前的箱子到前一个时间点的箱子的原点,在矩阵中进行时间回溯。跟踪组成脊的路径的bin索引。该算法通过使用原始bin而不是具有最小值的bin来平滑过渡。在本例中,脊指数为
2
,2
,2
,与步骤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中引入