This algorithm takes a time series and a parameter k. It takes the Fourier transform of the series, zeroes out the top k weakest frequencies, and maps the result back into a time series with an inverse Fourier transform.

This is a speculative algorithm for removing cleaning and smoothing - use it for exploratory analysis but try not to draw too many conclusions unless you corroborate with other methods.

This is based on an implementation of the Fast Fourier Transform (in this the real Fourier Transform in the JTranforms library - https://sites.google.com/site/piotrwendykier/software/jtransforms) Note that there are many different conventions used in signal processing, so be careful as the ones chosen here may not be the ones you need.