OverLordGoldDragon / ssqueezepy

Synchrosqueezing, wavelet transforms, and time-frequency analysis in Python
MIT License
636 stars 96 forks source link

Why does issq_cwt not need to be supplied with ssq_freqs? #76

Closed codeWorth closed 2 years ago

codeWorth commented 2 years ago

I'm new new CWT, so this may be a silly question, but I'm unsure why issq_cwt can simply sum the reals of the output of ssq_cwt, without considering the frequencies. In this Matlab page, the formula given at the bottom is nearly identical to the formula in issq_cwt, except it includes division by a (which I believe is the frequency).

Is this a bug in issq_cwt? If not, how should I reconstruct my original signal if I have modified the frequency bins? If it helps, I used the following parameters when calling ssq_cwt: maprange=(16.35, 22100), ssq_freqs="log", fs=44100.

OverLordGoldDragon commented 2 years ago

This is the one-integral inverse. If you wish to invert over a subset of frequencies, refer to this post.

codeWorth commented 2 years ago

@OverLordGoldDragon Thank you for the resources! I'm still struggling to understand some of the math but I'll read through your answers thoroughly. Your info is super valuable and niche, greatly appreciated :)