Skip to content
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

WIP: better Meyer FIR approximation #311

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

grlee77
Copy link
Contributor

@grlee77 grlee77 commented Apr 25, 2017

Do not merge this PR. It is just a demo of generating more accurate FIR approximations for the Meyer wavelet (see #261). We can choose one of these to replace the current approximation.

The 102 coefficient approximation here is in agreement up to 4 or 5 digits with the filter coefficients used by Matlab. The 66 coefficient approximation is as in the reference provided by @holgern. And is close in accuracy to the 102 coefficient case. Note that the sample points are shifted by 0.5 between these two cases.

figure_3

figure_2

Both of these have much better accuracy than the current approximation:

Error (pywt dmey) = 0.0036067702113178066
Error (dmey102) = 4.351866673799496e-06
Error (dmey66_async) = 9.899204593989887e-06

If the asynchronous sampling case is extended out to 102 samples, accuracy is further improved.

Error (dmey102_async) = 9.934928444371677e-07

The 66 sample case is probably the best computation time / accuracy tradeoff.

@rgommers
Copy link
Member

as just discussed: likely makes sense, but let's not look at this till after 1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants