Hi. I would like to thank you very much for the project. I have found it very useful for my analysis with music (still working on understanding how it works, but the visual plot does correspond to certain things I see by analysing samples)
I would like to know how pywavelets work (in terms of computation) and what the arguments actually do from a discrete samples perspective. From my understanding, after specifying the input (of "ni" samples) to perform the transform on and wavelet type, the scales parameter is used to denote how the wavelet is scaled (stretched/squeezed).
If I pass on scale as a matrix from [1 2 3.. 15] it'll do 15 bins each corresponding to scaling factor 1,2,3.. 15 is my current understanding and cwt will give "ni" coefficients (or samples) for each bin. From my understanding, higher scale would be very large (if scale corresponds to scaling parameter) and correspond to lower frequency.
I would like to know how it goes about this in the discrete domain. In specific what is the size of the wavelet, in terms of number of samples it has. Does it have any relation to the total number of samples available. As in does 1 correspond to the frequency of having a single pulse of wave envelop through the whole of all samples or is it fixed and independent of number of samples in the input. What frequency bin would a scale of 1 correspond to.
scales : array_like
The wavelet scales to use. One can use f = scale2frequency(wavelet, scale)/sampling_period to determine what physical frequency, f. Here, f is in hertz when the sampling_period is given in seconds.
I am having doubts regarding how the scale2frequency function is obtained, and if 1/sampling_period can be changed to sampling frequency (or does sampling_period correspond to the whole time period for which the data set has been sampled for. If it has n samples it would be n*sampling_frequency).
I would like to know how the whole code is implemented in general, and if there is anything I could do to contribute to it.
Regards,
Manuel Jenkin