-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wavelet filter definitions #43
Comments
I guess it's okay. But it's worth indicating the source of Julia definitions. P.S. It looks like the wavethresh package in R uses slightly different definitions than wmtsa (and other packages depending on Percival and Walden, like waveslim and wavelets). |
Figures indicate that filters with the same names in Julia and wmtsa don't have the same width (they differ by factor 2, e.g. 8 vs. 16). Thus, for instance, sym4 in Julia must correspond to s8 in R. Also, by default, |
The numbers of the wavelet types correspond to the number of vanishing moments of the wavelets. I think it is consistent among all the orthogonal and biorthogonal wavelet types that are parametrized. The filters are also all normalized in l2-norm, defining orthonormal bases. |
That numbers were referring to vanishing moments was clear, there are authors who use that convention. I checked it for the sym4/s8 filter, and absolute magnitudes of the filter coefficients do agree in Julia and R, but signs don't. It would be useful to document all such differences, and to actually write down maths behind the Julia implementation (for R it's Percival & Walden). |
I have begun writing down the mathematics (based on Mallat). I then need to verify that it corresponds to the actual implementation. Something to think about is whether it makes sense to allow the user to specify the filter convention to use, for possible consistency and interoperability with other packages. |
Implementing #42, I noticed filter definitions are different in this package than in at least one other wavelet package I've used (
wmtsa
in R). The code below plots the equivalently-named wavelets from these two packages.This may just be a Pepsi/Coke problem with slightly different definitions, but it seemed worth double-checking.
The text was updated successfully, but these errors were encountered: