OverLordGoldDragon / ssqueezepy

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

making it really clear why this is awesome: prior to improve on the uncertainty principle #53

Closed jerabaul29 closed 2 years ago

jerabaul29 commented 2 years ago

Amazing package! Many thanks!

As a side note: the SE explanation that this uses a prior to improve on the traditional time / frequency uncertainty principle is really what meant most to me; I am used to signal processing and Kalman filters, so I know how priors help, and I was aware of the uncertainty principle, so when I read this SE explanation I understood at once that i) this is amazing ii) how this works "deep down", iii) this is exactly what I need. I think I am not alone being in this situation :) .

Wondering if this could be stated at the start of the readme, in big font, something in the kind of the extension to your catchline: "Synchrosqueezing is a powerful reassignment method that focuses time-frequency representations, and allows extraction of instantaneous amplitudes and frequencies. It uses a prior (that the signal follows the modulation approximation) to improve on the frequency / time uncertainty principle".

OverLordGoldDragon commented 2 years ago

I'm glad you've found it helpful.

Yeah, the "prior" turns magic to science. Agreed a condensed explanation would help, but there are many parts that enable the whole transform, and the SE post is a condensing of it all. Adding more to the executive summary would be rather verbose, I think the link should suffice for the curious.

jerabaul29 commented 2 years ago

Ok, I see your point. Still think that, for the person who lands on this page, has 2 minutes to decide if it is worth investigating if this is potentially useful or not, and knows nothing about synchrosqueezing, this would be very useful to highlight.

For my part, I had good time yesterday, so I took my evening looking at your resources, but if I had been in a hurry, finding your package, linking to a couple of papers I do not know from before, referring to a technique I know nothing about, and showing colorful plots that look like magics and "beat" a well established principle (uncertainty principle), without saying why the magics works, I would have probably passed by and discounted it as "likely yet another weird package that promises things that cannot hold". Of course, that would have been such a pity.

I was skeptical about the package and how it could do so much better than CWT until I found this prior explanation on SE, but I was convinced at once I read it.

So maybe adding this high level explanation of "why this can in a category of cases beat the uncertainty principle" would help improve your impact quite a bit.

But of course only my 2 cents, you own the package and you decide :) . Feel free to close. And thanks again for an amazing package and amazing discussions and explanations on the SE :) .

OverLordGoldDragon commented 2 years ago

I'll consider it for future README changes, thanks for your input. There's a spicy bit I could add on how it's akin to an attention mechanism.