Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Time-frequency ridges from wavelet synchrosqueezing

`fridge = wsstridge(sst)`

```
[fridge,iridge]
= wsstridge(sst)
```

`[___] = wsstridge(sst,penalty)`

` [___] = wsstridge(___,f)`

`[___]= wsstridge(___,Name,Value)`

`[___]= wsstridge(___,`

returns
the time-frequency ridge with additional options specified by one
or more `Name,Value`

)`Name,Value`

pair arguments.

`wsstridge`

uses a penalized forward-backward
greedy algorithm to extract the maximum energy time-frequency ridges
from the wavelet synchrosqueezed transform matrix. The algorithm finds
the maximum time-frequency ridge by minimizing `-ln(E)`

at
each time point, where `E`

is the absolute value
of the synchrosqueezed transform. The is equivalent to maximizing
the value of `E`

. The algorithm optionally constrains
jumps in frequency with a penalty that is proportional to the square
of the distance between frequency bins.

The following example illustrates the time-frequency ridge algorithm using a penalty that is 2 times the squared distance between frequency bins. This simple synchrosqueezed transform matrix has three frequency bins and three time steps. The second row represents a sine wave.

Obtain the complex matrix output, y, of the wavelet synchroqueezed transform using

`wsst`

. Compute the`(-ln(|y|))`

. Suppose you have this`(-ln(|y|))`

matrix output,1 4 4 2 2 2 5 5 4

Update the value for the (1,2) element.

Leave the values the at the first time point unaltered. Begin the algorithm with the (1,2) element of the matrix, which presents the first frequency bin at the 2nd time point. Penalize the values in the first column based on their distance from the (1,2) element. Applying the penalty to the first column produces

original value + penalty(distance squared) 1 + 2(0*0) = 1 2 + 2(1*1) = 4 5 + 2(2*2)= 13

1 4 4 2 13 5

The minimum value of the first column is 1, which is in bin 1.

Add the minimum value in column 1 to the current bin value, 4. The updated value for (1,2) becomes 5, which came from bin 1.

Update the values for the remaining elements in column 2.

Recompute the original column 1 values with the penalty factor using the same process as in Step 2a. Obtain the remaining second column values using the same process as in Step 2b. Repeat Step 2 for the third column. The final matrix is

1 5

_{(1)}9_{(1)}2 4_{(2)}6_{(2)}5 7_{(2)}8_{(2)}The subscripts indicate the index of the bin in the previous column from which a value came.

Starting at the last column of the matrix, find the minimum value. Walk back in time through the matrix by going from the current bin to the origin of that bin at the previous time point. Keep track of the bin indices, which form the path composing the ridge. The algorithm smooths the transition by using the origin bin instead of the bin with the minimum value. For this example, the ridge indices are

`2`

,`2`

,`2`

, which matches the energy path of the sine wave in row 2 of the matrix shown in Step 1.If you are extracting multiple ridges, the algorithm removes the first ridge from the synchrosqueezed transform and repeats the process.

[1] I. Daubechies, I., J. Lu, and H. T. Wu. "Synchrosqueezed
Wavelet Transforms: an Empricial Mode Decomposition-like Tool", *Applied
and Computational Harmonic Analysis*. Vol. 30(2), pp.
243–261.

[2] Thakur, G., E. Brevdo, N. S. Fučkar, and H. T.
Wu. "The Synchrosqueezing algorithm for time-varying spectral analysis:
robustness properties and new paleoclimate applications." *Signal
Processing*. Vol. 93, pp. 1079–1094.

Was this topic helpful?