Hi! I was instructed via reddit that this place would be the best place to post this question. Fingers cross you can help...

Ive been writing some code to get rid of noise "spikes" in a signal. I'm comparing various interpolation strategies.

The last idea is to put my signal through a continuous wavelet transform, calculate its coefficients, interpolate a signal through this which does not include the spikes, then perform an inverse wavelet to recover the signal. The theory being that this will help maintain particular frequency components better than performing interpolation purely in the time or frequency domain.

I have a solution to this using a gaussian as my mother-wavlet, however, this isnt great as the gaussian doesn't really satisfy the wavelet criteria. Even so, this has provided me with a chance to solve some interesting problems, such as, finding an analytic solution to when to start/stop the interpolation process due to the scale of the wavelet. Heres my idea (and Im hoping someone can point me towards any previous work I may have missed, and any glaring errors)....

Use a Sombrerro or Shannon wavelet to perform the CWT, calculate the maxima of the daughter-wavelet so I know when to start/stop interpolating (ie. look at when the turning points are suitably small that they wont have a noticeable effect as they are shifted towards the spike), and inverse transform. Does this sound like a valid route to take??

Also, how come when I use a complex wavelet (ie. Gabor-Morlet) the slightest alteration of coefficients destroys any attempt at a valid reconstruction? Honest, I nudge one complex or real value the tiniest amount, and boom, signal reconstruction ruined.

Any thoughts on this process would be GREATLY appreciated as I'm beginning to lose hope of finding a neat method to perform this process.

Thanks for your time.