ezmsg-org / ezmsg-sigproc

Timeseries signal processing implementations for ezmsg
MIT License
0 stars 1 forks source link

Wavelets #19

Closed cboulay closed 2 months ago

cboulay commented 3 months ago

This extends from PRs #16 and #17 and should be evaluated after those are merged.

This PR adds a Continuous Wavelet Transform module. pywavelets is used to construct a set of filter kernels, which are then passed to filterbank. Note that the generated kernels will have very different lengths and delays according to their scale, so there is a min_phase option that will take the 'pristine' wavelet kernels and recalculate them as their min-phase equivalents. min-phase kernels have worse performance (weaker stop-band, more phase distortion in pass-band) but have much less delay so the synchronization between e.g. alpha decrease and gamma increase is preserved.